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")'

代码解析:

  1. import os: 导入Python的os模块
  2. os.setuid(0): 将进程的用户ID设置为0(root)
  3. os.system("/bin/bash"): 启动一个bash shell
  4. 由于Python可能具有特殊权限,可以成功提权

总结与关键点

  1. 信息收集的重要性:通过Nmap扫描和Web服务分析发现数据包下载功能
  2. 协议分析技能:从pcap文件中提取明文凭证是关键突破点
  3. 凭证复用:FTP凭证成功用于SSH服务,展示了密码重用的风险
  4. 权限提升思路
    • 常规SUID提权尝试
    • Python的特殊权限利用
  5. 靶机特点:这是一个相对简单的靶机,适合初学者练习基础渗透技能

防御建议

  1. 避免使用明文协议传输敏感信息
  2. 不同服务应使用不同凭证
  3. 限制Python等解释器的特殊权限
  4. 定期审计SUID/SGID文件
  5. 实施最小权限原则

扩展思考

  1. 如果数据包是加密的,如何继续渗透?
  2. 除了Python,还有哪些解释器可能被用于提权?
  3. 如何检测系统是否易受此类攻击?
HackTheBox系列1——Cap靶机渗透测试教学文档 靶机概述 本教学文档基于HackTheBox的Cap靶机,这是一个适合初学者的渗透测试练习环境。靶机IP为10.10.10.245,主要涉及信息收集、服务枚举、凭证获取和权限提升等技术点。 信息收集阶段 1. 初始扫描 使用Nmap进行基础扫描: 参数说明: -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服务: 发现存在user.txt文件,可下载查看内容 但该文件可能只是靶机的常规flag文件,无实际利用价值 3. SSH服务登录尝试 使用相同的凭证尝试SSH登录: 登录成功,获得初始用户权限 权限提升阶段 1. 初始提权尝试 在SSH会话中尝试以下方法: SUID权限检查 检查具有SUID权限的可执行文件 尝试利用常见的SUID提权方法但未成功 用户枚举 检查系统用户列表 未发现其他可利用的用户 2. Python提权方法 最终成功的提权方法: 代码解析: 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,还有哪些解释器可能被用于提权? 如何检测系统是否易受此类攻击?