cent 8.0 安装tomcat 9.0_tomcat反序列化漏洞(cve-2016-8735)

0808d56bfdbacc8b0ab235447c8e2d7d.png

原创: free雅轩 合天智汇

22d3f015d3ccfc3ead97a6c87e9b1854.gif

复现起源:
近期在项目中碰到的ApacheTomcat中间件愈来愈多,于是乎。想着做一个整理。将ApacheTomcat中间件的几大较为重要的高危漏洞做一个总结整理复现。用作来巩固更新自己的知识库。
在这里感谢公司Bearcat师傅和残忆师傅以及李师傅等指导和共享精神。
今天我们来一起复现一下Tomcat多版本远程代码执行CVE-2016-8735。复现之前我们先来了解一下CVE-2016-8735。

22d3f015d3ccfc3ead97a6c87e9b1854.gif

漏洞描述:
该漏洞与之前Oracle发布的mxRemoteLifecycleListener反序列化漏洞(CVE-2016-3427)相关,是由于使用了JmxRemoteLifecycleListener的监听功能所导致。而在Oracle官方发布修复后,Tomcat未能及时修复更新而导致的远程代码执行。
该漏洞所造成的最根本原因是Tomcat在配置JMX做监控时使用了JmxRemoteLifecycleListener的方法。漏洞影响版本:
ApacheTomcat 9.0.0.M1 到9.0.0.M11
ApacheTomcat 8.5.0 到8.5.6
ApacheTomcat 8.0.0.RC1 到8.0.38
ApacheTomcat 7.0.0 到7.0.72
ApacheTomcat 6.0.0 到6.0.47漏洞利用条件:
外部需要开启JmxRemoteLifecycleListener监听的10001和10002端口,来实现远程代码执行。漏洞复现:
所需环境工具包:
catalina-jmx-remote.jar:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.2/bin/extras/catalina-jmx-remote.jar
groovy-2.3.9.jar:http://central.maven.org/maven2/org/codehaus/groovy/groovy/2.3.9/groovy-2.3.9.jar
ysoserial.jar:https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

22d3f015d3ccfc3ead97a6c87e9b1854.gif

了解完漏洞详情之后,我们开始着手搭建环境来复现漏洞更深入的理解。
漏洞所需环境:
ApacheTomcat 8.5.2
Jdk1.7.0_80
安装成功如下图:

48cf2f4cf73eb08b063fdb1cb44a5487.png

22d3f015d3ccfc3ead97a6c87e9b1854.gif


在进行漏洞复现之前我们需要配置几点如下:
conf/server.xml中第30行中配置启用JmxRemoteLifecycleListener功能监听的端口:

fa6f7ea6ad77c5ecb05974252ef65cc1.png


配置好jmx的端口后,我们在tomcat版本所对应的extras/目录下来下载catalina-jmx-remote.jar以及下载groovy-2.3.9.jar两个jar包。下载完成后放至在lib目录下。
接着我们再去bin目录下修改catalina.bat脚本。在ExecuteThe Requested Command注释前面添加这么一行。

e0fe8b35dc8b8bf79e94462a0605121c.png

eba21e665c64caef1d2dc63de6ff75c9.png


主要配置的意思是设置启动tomcat的相关配置,不开启远程监听jvm信息。设置不启用他的ssl链接和不使用监控的账户。具体的配置可以去了解一下利用tomcat的jmx监控。
至此所有的配置成功保存后,我们运行tomcat。
顺带监听本地的10001和10002的RMI服务端口是否成功运行。

82409c35a5ce9d0e2db9d0ce830f7c8e.png

22d3f015d3ccfc3ead97a6c87e9b1854.gif

监听成功,我们开始来构造Payload执行命令。首先老套路弹个计算器。

ab12f6ce4b374a54cffb431425f7bd2b.png

c1d55c00600a4850d2ecb129108744d9.png

86ebc36aca3d4103a05ff7054ec4f97c.png

漏洞利用:
一般我们可以利用该漏洞往tomcat的webapp程序目录下写一个文本文件去证明该漏洞存在。

b2387863e0228820be2b2e042b0e69dc.png

aa82f45a956e36d0209048194c413c0e.png

22d3f015d3ccfc3ead97a6c87e9b1854.gif

以及可以直接向服务器上利用wget/copy等命令上传木马来进行获取webshell提权等。

23dbc071c2da7aeb6ca0bdd4789250f9.png

b8bfd5f83e2ab1e490f993fb79da48a1.png

22d3f015d3ccfc3ead97a6c87e9b1854.gif

漏洞修复方案:
1、关闭JmxRemoteLifecycleListener功能,或者是对jmx JmxRemoteLifecycleListener远程端口进行网络访问控制。同时,增加严格的认证方式。
2、根据官方去升级更新相对应的版本。
本系列文章友情链接
Tomcat的PUT的上传漏洞(CVE-2017-12615)
Tomcat后台弱口令上传war包漏洞复现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值