hackthehebox系列1——Cap
字数 1087 2025-08-11 22:57:21
HackTheBox系列1——Cap靶机渗透测试教学文档
靶机概述
本教学文档基于HackTheBox的Cap靶机,这是一个适合初学者的渗透测试练习环境。靶机IP为10.10.10.245,主要涉及信息收集、服务枚举、凭证获取和权限提升等技术点。
信息收集阶段
1. 初始扫描
使用Nmap进行基础扫描:
nmap -sV -Pn -sC 10.10.10.245
参数说明:
-sV: 服务版本检测-Pn: 跳过主机发现,直接扫描-sC: 使用默认脚本扫描
2. Web服务枚举
访问靶机的Web页面(http://10.10.10.245),进行功能点分析:
- 发现存在数据包下载功能
- 可通过Burp Suite遍历可下载的数据包(如0.pcap、1.pcap等)
漏洞利用阶段
1. 数据包分析
通过分析下载的0.pcap数据包:
- 发现FTP服务的明文凭证
- 获取到的凭证:
- 用户名:
nathan - 密码:
Buck3tH4TF0RM3!
- 用户名:
2. FTP服务利用
使用获取的凭证登录FTP服务:
ftp 10.10.10.245
- 发现存在user.txt文件,可下载查看内容
- 但该文件可能只是靶机的常规flag文件,无实际利用价值
3. SSH服务登录尝试
使用相同的凭证尝试SSH登录:
ssh nathan@10.10.10.245
- 登录成功,获得初始用户权限
权限提升阶段
1. 初始提权尝试
在SSH会话中尝试以下方法:
SUID权限检查
find / -perm -u=s -type f 2>/dev/null
- 检查具有SUID权限的可执行文件
- 尝试利用常见的SUID提权方法但未成功
用户枚举
cat /etc/passwd
- 检查系统用户列表
- 未发现其他可利用的用户
2. Python提权方法
最终成功的提权方法:
python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'
代码解析:
import os: 导入Python的os模块os.setuid(0): 将进程的用户ID设置为0(root)os.system("/bin/bash"): 启动一个bash shell- 由于Python可能具有特殊权限,可以成功提权
总结与关键点
- 信息收集的重要性:通过Nmap扫描和Web服务分析发现数据包下载功能
- 协议分析技能:从pcap文件中提取明文凭证是关键突破点
- 凭证复用:FTP凭证成功用于SSH服务,展示了密码重用的风险
- 权限提升思路:
- 常规SUID提权尝试
- Python的特殊权限利用
- 靶机特点:这是一个相对简单的靶机,适合初学者练习基础渗透技能
防御建议
- 避免使用明文协议传输敏感信息
- 不同服务应使用不同凭证
- 限制Python等解释器的特殊权限
- 定期审计SUID/SGID文件
- 实施最小权限原则
扩展思考
- 如果数据包是加密的,如何继续渗透?
- 除了Python,还有哪些解释器可能被用于提权?
- 如何检测系统是否易受此类攻击?