一、 漏洞背景
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic WLS组件中存在远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击,近期发现此漏洞的利用方式为传播挖矿程序。
二、 漏洞描述
Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。
通过分析发现漏洞引发原因是Oracle官方的JDK组件中“XMLDecoder”类在反序列化操作时引发了代码执行,Weblogic “wls-wsat”组件在反序列化操作时使用了“XMLDecoder”类进行XML反序列操作引发了代码执行,在关注本次漏洞的同时,近期可能会有其他使用了“XMLDecoder”类进行反序列化操作的程序爆发类似漏洞,还需及时关注,同时在安全开发方面应避免使用“XMLDecoder”类进行XML反序列化操作。
三、 影响版本:
影响版本如下:
Oracle WebLogic Server10.3.6.0
Oracle WebLogic Server12.2.1.1
Oracle WebLogic Server12.2.1.2
Oracle WebLogic Server12.1.3.0
四、 环境搭建
(1) 安装java环境。
(2)下载WebLogic Server 版本: 10.3.6.0,安装完成后访问链接存在及环境部署完成。可以先采用检查工具进行简单的测试存在漏洞。
五、 漏洞分析利用
测试poc如下:
使用攻击机访问靶机的WLS组件,并用burp把包拦截下来。正常访问显示如下:
然后使用post方法发送上述POC,并添加Content-Type:text/xml,把Cache-Control修改为no-cache 。重放如下:
此时,测试靶机会调用计算器。
另外,从Github:https://github.com/hanc00l/weblogic_wls_wsat_rce下载脚本,可直接执行命令,getshell。
六、 修复建议
官方升级方案 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 #启动服务
关注我们
Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号: