去年的秋天,针对中亚高知名度公司的APT恶意软体入侵事件引起了我们的注意。几个月后,我们开始与的恶意软体分析师一起合作,分析该集团用来对一家电信公司、一家天然气公司和一个政府机构进行间谍活动的样本。这个我们认为可能来自中国的APT集团植入了后门程序,以获得对企业网路的长期访问权限。我们的分析显示,这个集团可能也参与了对蒙古、俄罗斯和白俄罗斯的攻击活动。
这个攻击组织经常重新编译他们的自定义工具以避免被防病毒软体检测,这些工具除了后门外,还包括Mimikatz和Gh0stRAT。这导致了大量样本,且二进位文件通常受到VMProtect的保护,使得分析变得更加困难。
后门程序使得攻击者能够操作和删除档案、截取萤幕快照、操作过程与服务,还能执行控制台命令、删除自身等。此外,一些命令可能指示后门将数据汇出至C&C伺服器。被感染的设备也可以被C&C伺服器指令作为代理或在每个网路接口的特定端口上监听。该组织还使用了Gh0stRAT和Management Instrumentation等工具在渗透的网路中横向移动。
时间线
图1:有关Microcin追踪的事件时间线,以及Avast通知目标公司的情况
Avast和ESET的防病毒引擎在我们注意到之前就已经阻止了APT集团使用的样本,因为我们的防病毒引擎检测是自动化的。
归因与集群化
我们分析的样本与恶意软体样本和活动有关,例如、和,这些之前均由Kaspersky、Palo Alto Networks和CheckPoint描述过。我们发现的后门是自定义工具,据我们所知,之前并未被分析。大部分C&C伺服器都注册在Choopa,
LLC,这是一个在被网路犯罪分子用过的托管平台。这场运动早期也见过GoDaddy的注册伺服器,但这些伺服器很快就被删除。
我们怀疑这个APT集团背后的攻击是来自中国。Gh0st RAT是这次活动中使用的工具之一,过去曾被中国APT集团使用。分析中我们发现的代码与中使用的代码(TTPS,特别是在感染向量中使用RTFWeaponizer)具有相似性,我们也因此推测该集团可能来自中国。被攻击的公司和机构,以及专业的代码编写,都指向一个APT集团。
工具集
后门
在我们的分析中,我们发现了以下后门。以下是这些后门的详细资讯。
sqllauncher.dll (VMProtected 后门)
- bbc5a9a49757abdbfcaca22f3b2a8b7e79f61c30d31812a0ccc316536eb58ca3
- C&C伺服器 45.76.132[.]207
logon.dll (VMProtected 后门)
- 61e4c91803d0d495681400fb9053b434f4852fdad1a305bbcec45ee0b2926d6a
- C&C伺服器 45.76.132[.]207
logsupport.dll __(VMProtected 后门)_
- d5c1e947d84791ac8e6218652372905ddb7d3bc84ff04e709d635f60e7224688
- C&C伺服器 104.194.215[.]194
pcaudit.bat
- 1395B863AE5697EA5096F4E2EBEF54FC20D5380B6921F8835D1F030F2BA16A40
技术细节 (pcaudit.bat)
pcaudit.bat 是一个批次档,用于调用_svchost.exe_ 以载入注册表中指定的服务的DLL档案。这个批次档负责后门的持久性。
pcaudit.bat 脚本的内容如下:
图2:负责后门持久性的批次档
技术细节 (sqllauncher.dll, logon.dll)
这两个DLL, sqllauncher.dll 和 logon.dll
,主要用作后门。它们通过前述批次档安装为服务,并在路径_%COMMON_DOCUMENT%\WZ9JuN00.tmp_
下创建日志档,以收集后门运行期间的错误。每个条目都包含错误代码、错误讯息和格式为“ [yyyy-mm-dd hh-mm-ss] %error code%
%message% ”的时间戳。
如果受感染的设备无法连接到C&C伺服器,恶意软体会尝试判断流量是否通过代理进行路由。这些资讯可能从_%WINDOWS%\debug\netlogon.cfg_
或TCP表中获取。在成功连接到C&C伺服器后,将建立安全通信通道(Schannel),并向C&C伺服器发送遥测信息(OS版本、用户名称)。C&C伺服器发出的命令如下:
| 命令 | 子命令 | 参数 | 描述 | 原始命令 | |—|—|—|—|—| | AmbYDkEx | – | – | 发送恶意程式版本给C&C | WELCOM | | eYTS5IwW | – | – | 终止先前启动的有效负载 | | | Ki0Swb7I | – | – | 发送所有使用的驱动器字母给C&C | LIST D | | 5fdi2TfG | – | – | 启动远端Shell | STARTC | | h71RBG8X | – | %command% | 执行“cmd %command%”透过CreateProcess API | | | J8AoctiB | QHbU0hQo | %path%, %subcommand% | 从%path%读取并将数据发送至C&C | UPLOAD | | J8AoctiB | hwuvE43y | %path%, %subcommand%, %data% | 将%data%写入%path% | DOWNLO | | gRQ7mIYr | – | %command% | 透过CreateProcess API执行%command% | EXECUT |
技术细节 (logsupport.dll)
与前述DLL类似, logsupport.dll
主要用作后门,但它使用了不同的C&C伺服器。其对应的日志档位于_%TEMP%\rar%[A-Z0-9]{4}%.tmp_。日志档的结构也相同。主要的区别是这个日志档是通过一个硬编码密钥的XOR加密的。
图3:日志档是通过硬编码键的XOR加密进行解密
这个后门会检查恶意程式是否在虚拟环境中运行。此外,DLL还会指纹化被感染的设备(NETBIOS名称、IP地址、用户名、OS版本、MAC地址和RAM使用量、OEM代码页、token资讯、CPU核心数及是否64位),并将这些资讯发送至C&C伺服器。
通过简单的串流加密与C&C伺服器进行的通信。如果恶意软体无法建立加密通道,则它使用与之前两个DLL不同的方法检查是否使用代理。它尝试连接到_http://www.google.com/index.asp_,并从连接中获取有关可能代理的信息,还检查Windows注册表键中的_ProxyServer_的值:
HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings.
根据我们在代码中观察到的情况,该后门也能接受来自C&C伺服器的各种命令。这些命令允许后门执行文件操作(移动、读取、删除、检查存在性)、操作进程(创建、终止、获取父进程及进程ID)以及Windows服务(启动、停止、检查),执行控制台命令、删除自身等。此外,某些命令(读取/检查档案、检查服务、检查进程)还会将数据回传给C&C。受感染的设备也可以被C&C指令作为代理或在每个网路接口的特定端口上监听。
有趣的是,该后门有一组特定针对_.tu_和_.tut_副档名文件的命令。这些命令可以检查其存在性、将内容发送回C&C,并修改其内容(附加或重写来自C&C伺服器的数据)。
其他工具
通过Mimikatz横向移动
fc66353fb26fd82227700beb47c4fa90118cea151eb1689fd8bf48e93fda71d0
是法国安全研究员BenjaminDelpy于2007年启动的开源项目。这是一个强大的工具,可以利用多种Windows身份验证机制,并从Windows本地安全帐户资料库中提取相关的凭证数据。因此,它经常被各种APT行为者(如LazarusGroup或Telebots)滥用。
在这次活动中使用的Mimikatz版本有一个两阶段的安装机制( installer.exe_安装_Yokel64.exe_和_mktz64.dll
),并包含一个PDB字符串“ E:\2018
\MimHash\mimikatz\Bin\mktzx64.pdb_”。在我们的测试虚拟机中调用_mktz64.dll_的导出函数_MktzDumpbyInjection_产生的输出如下:
1 domain = MSEDGEWIN10, user = Administrator,
nthash=FC525C9683E8FE067095BA2DDC971889
2 domain = MSEDGEWIN10, user = IEUser,
nthash=FC525C9683E8FE067095BA2DDC971889
通过WMI横向移动
2615e5585a5db77b973c74e0a87551978a9322c820362a148a995e571923b59c
通过WMI的横向移动是通过一个解析自身档名的文件来实现的,我们怀疑它使用的格式如下:“ @@
,,,.exe”。然后,档名中描述的数据被提取并用来建立与被检索名称识别的计算机的远端控制台。然后,透过Windows管理工具(WMI)设置严格的代理安全,这使得每个远程过程调用的参数都被加密,并允许伺服器访问本地资源。接著,WMI再次被用来检索Win32_Process类,进而用来以给定参数创建进程。最后它自身终止。
Gh0st RAT
3a3b05a08180013a37fbdbe65e3fe017440c1cb34289647ef1f60316964ef6a9
Gh0stRAT是一个老牌且知名的后门,主要与东亚攻击者相关。通常认为其源代码是广为人知的。其存在通常以名为_rastls.dll_的文件为标志,该文件以_exportDLL_名称_svchost.dll_存在,并包含字符串_Gh0st_。一个名为_uwqixgze}_的字符串用作C&C域的占位符。
我们在此次活动中看到的版本尝试连接至_https://yuemt.zzux[.]com_。
图4:Gh0st RAT恶意软体
代码相似性
在分析其中一个文件时,我们注意到其与2017年的Microcin样本、2017年的BYEBY样本和2020年的ViciousPanda:COVID活动有几个相关性。下方的图5提供了用于解密第一个后门主配置数据的解密循环的比较。
图5:用于解密主配置数据的代码片段
| 文件名 | SHA256 | |—|—| | irmon.dll | 170008187EBCEF183E792513608B82572FAF0AAEB33212BFA44736439453218F | | cryptbase.dll | 383A2D8F421AD2F243CBC142E9715C78F867A114B037626C2097CB3E070F67D6 | | NWCWorkstation.dll | 2A42F500D019A64970E1C63D48EEFA27727F80FE0A5B13625E0E72A6EC98B968 | | nwsapagent.dll | 92315CDCDD3ECDAFBAC1D46EF872AAA333E1EA159D662CB61C4FA029D3896DF7 |
结论
Avast已将其发现报告给当地CERT团队并与电信公司取得了联系。我们尚未收到任何一方的回复。
Avast最近使用我们分析的样本保护中亚的用户免受进一步攻击。这与我们发现的样本元素相关,且与对其他国家的攻击相连,因此让我相信这个集团仍然活跃。
我想对ESET的Peter Kalnai表示感谢,感谢他与我一同进行分析,同时感谢Avast的Lukáš Obrdlík和AdolfStředa对本研究的支持,以及Kaspersky的Alexey Shulmin的帮助。
事件指标 (IoC)
- 仓库: https://github.com/avast/ioc/tree/master/Microcin
- SHA-256列表: https://github.com/avast/ioc/blob/master/Microcin/samples.sha256
参考资料
Vasily Berdnikov, Dmitry Karasovsky, Alexey Shulmin: “Microcin 恶意软体”,KasperskyLabs 2017-9-25 https://media.kasperskycontenthub.com/wp-
content/uploads/sites/43/2018/03/07170759/Microcin_Technical_4PDF_eng_final_s.pdf
Josh Grunzweig, Robert Falcone:
“”,Palo Alto Networks,
2017年9月,https://unit42.paloaltonetworks.com/unit42-threat-actors-target-
government-belarus-using-cmstar-trojan/
Checkpoint Research: “Vicious Panda: COVID活动”,2020-03-12
https://research.checkpoint.com/2020/vicious-panda-the-covid-campaign/
Avast威胁情报 https://github.com/avast/ioc
ESET威胁情报 https://github.com/eset/malware-ioc
Dhia Mahjoub, Jeremiah O’Connor, Thibault Reuille, Thomas Mathew:
“钓鱼、剥削和不良托管”,Cisco Umbrella Blog, 2015年9月14日
https://umbrella.cisco.com/blog/2015/09/14/phishing-spiking-and-bad-hosting/
https://github.com/gentilkiwi/mimikatz
标签:
、、