Weblogic WLS 组件漏洞 技术分析与防护方案 发布时间:2017 年 12 月 21 日 综述 m o c . 5 h t i g b u 近日,绿盟科技应急响应团队也陆续接到来自金融、运营商及互联网等多 个行业的客户的安全事件的反馈,发现 Weblogic 主机被攻击者植入恶意程 序,经分析,攻击者利用 Weblogic WLS 组件漏洞(CVE-2017-10271),构造 payload 下载并执行虚拟币挖矿程序,对 Weblogic 中间件主机进行攻击。 受影响的版本  Weblogic Server 10.3.6.0.0,  Weblogic Server 12.1.3.0.0,  Weblogic Server 12.2.1.1.0,  Weblogic Server 12.2.1.2.0 以上均为 Weblogic 官方还在支持的版本 不受影响的版本  Weblogic Server 12.2.1.3 @绿盟科技 2017 http://www.nsfocus.com 技术防护方案 用户自查 由于此次攻击主要目的为下载执行挖矿程序,从主机层面可通过监控主机 系统资源或进程分析方式进行检测,从网络层面可对 C&C 地址及矿池相关域名 /IP 进行监控,以发现其他受感染主机。 针对 linux 主机,首先查看/tmp 目录中是否存在属主为 WebLogic 运行账户 的相关可疑文件,如:watch-smartd、Carbon、default。 m o c . 5 b u 同时通过进程及系统资源分析,是否存在启动用户为 WebLogic 运行账户的 相关可疑进程。 h t i g 同时在网络层,通过防火墙或相关的入侵防御设备,对 C&C 地址及矿池相 关域名/IP 进行监测,涉及域名及 IP 包括: minergate.com minexmr.com 78.46.91.134 104.25.208.15 104.25.209.15 136.243.102.167 136.243.102.154 94.130.143.162 88.99.142.163 72.11.140.178 @绿盟科技 2017 http://www.nsfocus.com 官方修复方案 Oracle 官方对于 Weblogic WLS 组件漏洞(CVE-2017-10271)在 10 月份的更 新补丁中已经进行了修复,建议用户及时下载更新包,升级至最新版本进行防 护。 下载链接: http://www.oracle.com/technetwork/middleware/weblogic/downloads/i ndex.html 临时防护方案 根据攻击者利用 POC 分析发现所利用的为 wls-wsat 组件的 CoordinatorPortType 接口,若 Weblogic 服务器集群中未应用此组件,建议临 时备份后将此组件删除。 1. m o c . 5 根据实际环境路径,删除 WebLogic wls-wsat 组件: rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war b u rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/A dminServer/tmp/.internal/wls-wsat.war h t i g rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/Ad minServer/tmp/_WL_internal/wls-wsat 2. 重启 Weblogic 域控制器服务。 DOMAIN_NAME/bin/stopWeblogic.sh #停止服务 DOMAIN_NAME/bin/startManagedWebLogic.sh #启动服务 关于重启 Weblogic 服务的详细信息,可参考如下官方文档: https://docs.oracle.com/cd/E13222_01/wls/docs90/server_start/over view.html 绿盟科技防护建议 绿盟科技检测类产品与服务  公网资产可使用绿盟云 紧急漏洞在线检测,检测地址如下: @绿盟科技 2017 http://www.nsfocus.com https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservic e?page_id=12  内网资产可以使用绿盟科技的远程安全评估系统(RSAS V6/V5 )或 Web 应用漏洞扫描系统(WVSS) 进行检测:  远程安全评估系统(RSAS V6) http://update.nsfocus.com/update/listRsasDetail/v/vulweb  远程安全评估系统(RSAS V5) http://update.nsfocus.com/update/listAurora/v/5  Web 应用漏洞扫描系统(WVSS) http://update.nsfocus.com/update/listWvssDetail/v/6/t/plg  内网资产可以使用绿盟科技的入侵检测系统(IDS) 进行检测。 入侵检测系统(IDS) http://update.nsfocus.com/update/listIds m o c . 5 通过上述链接,升级至最新版本即可进行检测 使用绿盟科技防护类产品(IPS/NF/WAF)进行防护:    入侵防护系统(IPS) http://update.nsfocus.com/update/listIps 下一代防火墙系统(NF) http://update.nsfocus.com/update/listNf Web 应用防护系统(WAF) http://update.nsfocus.com/update/wafIndex h t i g b u 通过上述链接,升级至最新版本即可进行防护! 技术分析 首先来看下 weblogic 的历史补丁,四月份补丁通告: http://www.oracle.com/technetwork/security-advisory/cpuapr20173236618.html 10 月份补丁通告: https://www.oracle.com/technetwork/topics/security/cpuoct20173236626.html “remote user can exploit a flaw in the Oracle WebLogic Server WLS Security component to gain elevated privileges [CVE-2017-10271]” @绿盟科技 2017 http://www.nsfocus.com 这是 CVE-2017-10271 的描述信息。 通过 PoC 测试,结果如下: m o c . 5 跟踪到底这还是 XMLDecoder 的漏洞,下面来分析补丁代码:首先来看 3506 的补丁的分析,在文件 weblogic/wsee/workarea/WorkContextXmlInputAdapter.java 中,添加了 validate 方法,方法的实现如下: private void validate(InputStream is) { WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory(); b u try { h t i g SAXParser parser = factory.newSAXParser(); parser.parse(is, new DefaultHandler() { public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if(qName.equalsIgnoreCase("object")) { throw new IllegalStateException("Invalid context type: object"); } } }); } catch (ParserConfigurationException var5) { throw new IllegalStateException("Parser Exception", var5); } catch (SAXException var6) { throw new IllegalStateException("Parser Exception", var6); @绿盟科技 2017 http://www.nsfocus.com } catch (IOException var7) { throw new IllegalStateException("Parser Exception", var7); } } 简单来说就是在解析 xml 的过程中,如果 Element 字段值为 Object 就抛出 异常,这修复显得有些业余,所以马上就有了 CVE-2017-10271。前段时间分析 Oracle Weblogic 十月份的补丁的时候看到 WorkContextXmlInputAdapter 相关 代码时只关注了这块 dos 的漏洞,没看到 10271 添加的对 new,method,void 的去除。因为可以通过其他方式绕过,比如典型的就是将 object 改为 void, 这是挖矿的人采用的 PoC,当然也还可以通过 new 关键字来创建反序列化执行 的 PoC。 至于为什么 XMLDecoder 在解析的过程中能执行代码呢,下面我们来动态分 析。以如下 poc 示例: m o c . 5 b u h t i g 根据如上 PoC,首先生成 JdbcRowSetImpl 的实例,接着调用该实例的 set 方法来初始化该实例的属性,当调用完 setAutoCommit 接口的时候就会根据 dataSourceName 的值去远程加载一个类初始化。下图为调用栈的结果:

pdf文档 绿盟 Weblogic WLS组件漏洞 技术分析与防护方案

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
绿盟 Weblogic WLS组件漏洞 技术分析与防护方案 第 1 页 绿盟 Weblogic WLS组件漏洞 技术分析与防护方案 第 2 页 绿盟 Weblogic WLS组件漏洞 技术分析与防护方案 第 3 页
下载文档到电脑,方便使用
本文档由 路人甲 于 2022-07-17 01:20:04上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。