VnlnHub doubletrouble
字数 1560 2025-08-12 11:34:46
DoubleTrouble 靶场渗透测试教学文档
靶场环境搭建
-
下载与导入:
- 下载靶场文件(.ova格式)
- 使用VMware导入.ova虚拟机文件
-
网络配置:
- 将网络模式设置为NAT模式(也可使用桥接模式,需与攻击机保持一致)
- 重启虚拟机完成搭建
第一台靶机渗透(IP: 192.168.52.144)
1. 信息收集
-
端口扫描:
- 开放端口:
- 22端口:SSH服务
- 80端口:HTTP服务(Apache 2.4.38)
- 开放端口:
-
Web服务探测:
- 发现登录页面
- 敏感目录扫描发现:
/core目录/core/config/databases.yml配置文件(包含数据库账号、密码和数据库名)/install页面(数据库配置界面)/secret目录(包含可疑图片文件)
2. 漏洞利用
-
qdPM框架漏洞:
- 确认网站使用qdPM开源框架(版本9.1)
- 搜索并确认该版本存在已知漏洞
- 获取漏洞利用代码
-
认证绕过:
- 默认凭证尝试失败
- 从
/secret目录图片中提取隐写信息:- 使用
steghide检测隐写内容(需要密码) - 使用
stegseek工具破解隐写密码 - 成功提取出有效凭证
- 使用
-
漏洞执行:
- 使用获取的凭证成功登录
- 执行qdPM漏洞利用代码(需修复代码缩进问题)
- 成功上传Web后门
3. 权限提升
-
初始访问:
- 通过后门获取反弹shell
- 使用Python升级shell:
python -c 'import pty; pty.spawn("/bin/bash")'
-
提权方法:
sudo -l检查特权命令- 发现可利用
awk命令提权:
sudo awk 'BEGIN {system("/bin/bash")}'- 成功获取root权限
-
发现第二台靶机:
- 在/root目录下发现第二个.ova虚拟机文件
- 使用Python搭建临时HTTP服务传输文件:
python -m SimpleHTTPServer 8080- 从攻击机下载文件:
wget http://192.168.52.144:8080/doubletrouble.ova
第二台靶机渗透(IP: 192.168.52.145)
1. 信息收集
-
端口扫描:
- 开放端口:
- 22端口:SSH服务
- 80端口:HTTP服务(Apache 2.22)
- 开放端口:
-
Web服务探测:
- 发现登录页面
- 敏感目录扫描发现
/cgi-bin目录
2. 漏洞利用
-
SQL注入:
- 初步测试未发现明显注入点
- 使用sqlmap发现时间盲注:
sqlmap -u "http://192.168.52.145/index.php" --batch --forms- 数据提取:
sqlmap -u "http://192.168.52.145/index.php" --current-db sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble --tables sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble -T users --columns sqlmap -u "http://192.168.52.145/index.php" -D doubletrouble -T users --dump- 获取两组凭证(无法用于Web登录,但可用于SSH)
-
SSH登录:
- 使用sqlmap提取的凭证成功登录SSH
3. 权限提升
-
常规提权尝试:
sudo -l检查无可用特权命令- SUID提权检查:
find / -perm -4000 2>/dev/null- 未发现常见可利用SUID文件
-
内核提权:
- 识别系统存在Dirty Cow漏洞(CVE-2016-5195)
- 利用步骤:
- 上传漏洞利用代码
- 编译并执行:
gcc -pthread dirty.c -o dirty -lcrypt ./dirty- 创建新root用户(firefart)并设置密码
- 使用新凭证登录获取root权限
-
系统恢复:
- 将备份的
/tmp/passwd.bak恢复为/etc/passwd - 重置root密码
- 将备份的
关键工具与命令总结
-
信息收集:
nmap:端口扫描dirb/gobuster:目录扫描sqlmap:SQL注入检测与利用
-
隐写分析:
steghide:检测和提取隐写内容stegseek:高效破解隐写密码
-
权限提升:
sudo -l:检查可用特权命令- SUID查找:
find / -perm -4000 2>/dev/null - 内核漏洞利用:Dirty Cow等
-
文件传输:
- Python HTTP服务:
python -m SimpleHTTPServer 8080wget:文件下载
学习要点
- 全面的信息收集是渗透测试的基础
- 注意配置文件、隐藏目录和文件中的敏感信息
- 现代隐写分析工具的使用(stegseek替代stegcracker)
- 多种提权方法的尝试与验证
- 从一台机器到另一台机器的横向移动技巧
- 漏洞利用代码的调试与修改能力