tomcat常见漏洞复现(下)

admin 2022年5月20日22:20:33评论135 views字数 2909阅读9分41秒阅读模式

tomcat常见漏洞复现(下)

戟星安全实验室


    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约2860字,阅读约需8分钟。



tomcat常见漏洞复现(下)

0x00 前言

tomcat常见漏洞复现(下)


继上一篇文章继续更新弱口令&war远程部署、CVE-2019-0232和manager App暴力破解漏洞。

tomcat常见漏洞复现(下)

0x01 弱口令&war远程部署

tomcat常见漏洞复现(下)


漏洞原理

在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台

漏洞复现

进入tomcat8的docker环境


tomcat常见漏洞复现(下)


访问后台管理地址,使用tomcat/tomcat口令进入后台


tomcat常见漏洞复现(下)

看到这里有一个上传war包的地方,这里很多java的中间件都可以用war远程部署来拿shell,tomcat也不例外

tomcat常见漏洞复现(下)

首先将shell.jsp打包成test.war

jar -cvf test.war shell.jsp

tomcat常见漏洞复现(下)

将其上传,并查看manager页面是否存在test模块


tomcat常见漏洞复现(下)

访问http://192.168.121.174:8080/test/shell.jsp


tomcat常见漏洞复现(下)


tomcat常见漏洞复现(下)


也可以使用msf的模块exploit/multi/http/tomcat_mgr_upload

tomcat常见漏洞复现(下)


tomcat常见漏洞复现(下)

0x02 manager暴力破解

tomcat常见漏洞复现(下)


漏洞原理

后台密码用 base64 编码传输,抓包解密即可得到后台密码,也可以进行爆破


漏洞复现

访问控制台http://192.168.88.134:8080/manager/html


tomcat常见漏洞复现(下)


输入用户名密码进行抓包,就可以得到 Authorization 这个字段,这个字段有一个 Basic,就是base64加密的意思


tomcat常见漏洞复现(下)


base64解密得到账号密码 tomcat:tomcat


tomcat常见漏洞复现(下)


那么根据上面的情况,猜想能不能对 manager 进行暴力破解呢?答案是可以的!

发送到Intruder 模块,添加 Authorization 字段


tomcat常见漏洞复现(下)


设置 payload 类型,选择自定义迭代器,英文是Custom interator


tomcat常见漏洞复现(下)


这里需要添加3个参数,对应:用户名:密码


tomcat常见漏洞复现(下)


因为是 base64 编码,需要对 paylodad 进行编码处理,同时需要去掉自带的编码,不去会失败!


tomcat常见漏洞复现(下)


OK,开始爆破


tomcat常见漏洞复现(下)


tomcat常见漏洞复现(下)

0x03 CVE-2019-0232

tomcat常见漏洞复现(下)


CVE-2019-0232为ApacheTomcat RCE

漏洞原理

漏洞相关的代码在 tomcatjavaorgapachecatalinaservletsCGIServlet.java中,CGIServlet提供了一个cgi的调用接口,在启用 enableCmdLineArguments 参数时,会根据RFC 3875来从Url参数中生成命令行参数,并把参数传递至Java的 Runtime 执行。这个漏洞是因为Runtime.getRuntime().exec 在Windows中和Linux中底层实现不同导致的。
Java的Runtime.getRuntime().exec 在CGI调用这种情况下很难有命令注入。而Windows中创建进程使用的是 CreateProcess ,会将参数合并成字符串,作为 lpComandLine 传入 CreateProcess 。程序启动后调用 GetCommandLine 获取参数,并调用 CommandLineToArgvW 传至 argv。在Windows中,当CreateProcess 中的参数为 bat 文件或是cmd 文件时,会调用 cmd.exe , 故最后会变成cmd.exe /c "arg.bat & dir",而Java的调用过程并没有做任何的转义,所以在Windows下会存在漏洞

漏洞影响范围

Apache Tomcat 9.0.0.M1 to 9.0.17Apache Tomcat 8.5.0 to 8.5.39Apache Tomcat 7.0.0 to 7.0.93

漏洞复现

启动tomcat
Tomcat的 CGI_Servlet组件默认是关闭的,在conf/web.xml中找到注释的 CGIServlet部分,去掉注释,并配置enableCmdLineArguments和executable。


tomcat常见漏洞复现(下)

enableCmdLineArguments启用后才会将Url中的参数传递到命令行executable指定了执行的二进制文件,默认是perl,需要置为空才会执行文件本身。    

<init-param>                <param-name>enableCmdLineArguments</param-name>                       <param-value>true</param-value>            </init-param>            <init-param>                       <param-name>executable</param-name>                       <param-value></param-value>            </init-param>

tomcat常见漏洞复现(下)


然后在conf/web.xml中启用cgi的 servlet-mapping

将下图位置注释消除后保存。


tomcat常见漏洞复现(下)

修改conf/context.xml的添加 privileged="true"属性,否则会没有权限


tomcat常见漏洞复现(下)


在webappsROOTWEB-INF下创建cgi-bin目录,并创建一个hello.bat后重启tomcat


tomcat常见漏洞复现(下)

访问http://localhost:8080/cgi-bin/hello.bat?&C%3A%5CWindows%5CSystem32%5Ccalc.exe即可弹出计算器,这里构造系统命令即可

这里无法复现可能是因为版本问题。

建议使用Tomcat8.5.39来进行测试学习


tomcat常见漏洞复现(下)

0x04 安全措施

tomcat常见漏洞复现(下)


1、删除 webapps 目录中的 docs、examples、host-manager、manager 等正式环境用不着的目录,这一步就可以解决大部分漏洞。 

2、解决“slow http denial of service attack”漏洞

slow http denial of service attack漏洞是利用http post的时候,指定一个非常大的content-length,然后以很低的速度发包,比如10-100s发一个字节,让这种连接不断开,这样当客户端连接多了后,占用了webserver的所有可用连接,从而导制DOS,属于一种打拒绝服务攻击。

解决方法:打开server.xml找到

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />

将其中的connectionTimeout="20000"改为1000,其单位为ms。

Tomcat官方关于漏洞修复的说明:http://tomcat.apache.org/security-7.html


 声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。


tomcat常见漏洞复现(下)

戟星安全实验室

# 长按二维码 关注我们 #



原文始发于微信公众号(戟星安全实验室):tomcat常见漏洞复现(下)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月20日22:20:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   tomcat常见漏洞复现(下)https://cn-sec.com/archives/1032608.html

发表评论

匿名网友 填写信息