RainyDay、Turian与新型PlugX变种如何滥用DLL搜索顺序劫持技术

思科Talos发现自2022年活跃的新攻击活动,针对中亚和南亚国家的电信与制造业,投放新型PlugX变种。该变种与RainyDay和Turian后门存在技术重叠,包括滥用相同合法应用进行DLL侧加载,使用相同的XOR-RC4-RtlDecompressBuffer算法及RC4密钥加解密载荷。

RainyDay、Turian与新型PlugX变种如何滥用DLL搜索顺序劫持技术

思科Talos发现自2022年活跃的新攻击活动,针对中亚和南亚国家的电信与制造业,投放新型PlugX变种。Talos发现该变种特征与RainyDay和Turian后门存在重叠,包括滥用相同合法应用进行DLL侧加载、使用相同的XOR-RC4-RtlDecompressBuffer算法加解密载荷及相同的RC4密钥。

与此新型PlugX变种相关的配置与标准PlugX配置格式显著不同,而是采用与RainyDay相同的结构,使我们能够以中等置信度评估该PlugX变种可归因于Naikon组织。

虽然这些恶意软件家族历史上与归因于Naikon或BackdoorDiplomacy的活动相关,但我们对受害情况和技术实现的分析发现了表明这两个威胁组织之间存在潜在联系的证据,提示它们可能是同一组织,或均从同一供应商获取工具。

概述

思科Talos识别出针对中亚和南亚国家电信与制造业的持续攻击活动。基于对收集证据的分析,我们以中等置信度评估该活动可归因于Naikon——一个自2010年开始活跃的中文威胁组织。此评估基于对该活动中使用的PlugX配置格式及恶意软件感染链的分析,该感染链与其之前的恶意软件RainyDay非常相似。

在调查和追踪RainyDay后门期间,Talos发现两个重要发现。首先,我们发现多个Turian后门实例及新识别的PlugX后门变种滥用与RainyDay相同的合法Mobile Popup Application将自身加载到内存中。其次,我们观察到三个恶意软件家族利用的加载器不仅具有相似的XOR解密功能,还使用相同的RC4密钥解密加密载荷。尽管在此活动中未观察到与RainyDay或Turian相关的任何活动,但这一发现使我们能够进行归因评估。

归因

Naikon

Naikon是知名的中文网络间谍组织,至少自2010年开始活跃。该威胁组织主要针对东南亚的政府、军事和民用组织。

Naikon使用多种后门,包括Aira-body、Nebulae和RainyDay,以及众多定制黑客工具以维持持久性并从受害者网络环境外传数据。值得注意的是,Symantec报告该组织使用RainyDay后门针对多个亚洲国家的电信运营商,作为可追溯至2020年的长期间谍活动的一部分。

BackdoorDiplomacy

BackdoorDiplomacy是至少自2017年开始活跃的威胁组织。该组织主要针对非洲、欧洲、中东和亚洲的外交部及电信公司。

其主要工具是Turian,被认为是Quarian的升级版。ESET指出Turian与名为Backdoor.Whitebird.1的后门在网络加密方法上存在相似性。Bitdefender提出Quarian、Turian和Whitebird可能是同一后门的不同版本。Bitdefender还发布了关于2022年2月开始针对中东电信公司攻击的博客。

Talos使用钻石模型比较Naikon和BackdoorDiplomacy,如图1所示。

图1. 使用钻石模型比较Naikon和BackdoorDiplomacy

近期活动中的关联

在调查此活动中使用的DLL搜索顺序劫持滥用时,Talos发现RainyDay、Turian和PlugX变种均滥用相同合法软件执行其恶意加载器。尽管这些恶意软件家族似乎由不同威胁组织(Naikon和BackdoorDiplomacy)操作,但我们的分析发现了表明它们之间潜在联系的证据。

首先,在Naikon和BackdoorDiplomacy进行的活动中观察到一致的瞄准模式,受影响的国家和行业相似,这可能表明潜在联系。两者均主要关注电信公司,其最近的活动延续了这一趋势。在最近观察到的活动中,Naikon针对哈萨克斯坦的电信公司,该国与乌兹别克斯坦接壤——后者曾是BackdoorDiplomacy的受害者。先前报告表明,针对该地区国家的瞄准与历史BackdoorDiplomacy活动一致。此外,均观察到Naikon和BackdoorDiplomacy针对南亚国家。

而且,两组使用的恶意软件加载器和shellcode结构显示显著相似性,Talos观察到使用相同的RC4密钥及XOR-RC4-RtlDecompressBuffer算法,在RainyDay(Naikon)、PlugX(Naikon)和Turian(BackdoorDiplomacy)间解密恶意软件载荷。这些重叠将在下一节进一步探讨。

Talos通过分析以下数据创建了与这三个恶意软件家族相关的入侵活动时间线(图2):

  • 我们观察到的活动
  • 第三方报告
  • 恶意软件编译时间戳
  • 感染期间生成的击键日志中的时间戳

图2. RainyDay、新型PlugX变种和Turian后门的时间线

虽然我们不能断定Naikon和BackdoorDiplomacy之间存在明确联系,但存在显著重叠方面——如目标选择、加密/解密载荷方法、加密密钥重用及使用同一供应商支持的工具。这些相似性表明与该活动中中文行为者存在中等置信度的联系。

恶意软件攻击流程

在此活动中识别的RainyDay、Turian和新型PlugX变种均通过DLL搜索顺序劫持执行。

尽管三种恶意软件存在差异,但加载器自身行为相似。通过滥用合法可执行文件加载的RainyDay、PlugX和Turian加载器读取位于与可执行文件相同目录的加密shellcode文件,并解密数据以执行各自恶意软件。解密的RainyDay和PlugX载荷在内存中解包,并向调用进程注入代码以执行恶意软件。Turian注入新的合法进程(wabmig.exe或explorer.exe)以执行恶意软件。执行后,它加载定义命令与控制(C2)目标的Config数据及包含“AntiVir”部分的INI文件。

图3. RainyDay恶意软件流程
图4. 新型PlugX变种恶意软件流程
图5. Turian恶意软件流程

RainyDay、新型PlugX变种和Turian加载器

这三个加载器设计用于从Initial目录读取、解密和执行各自恶意软件的加密shellcode。

让我们检查RainyDay、PlugX和Turian加载器的解密例程。三个加载器共享大量通用代码。首先,它们使用GetModuleFileNameA API获取可执行文件的完整路径。然后,使用恶意软件内硬编码的文件名从Initial目录读取数据。

Talos在2016年观察到的初始RainyDay加载器未加密数据。然而,在后续恶意软件样本中,每个加载器包含解密例程。如图6–8所示,RainyDay加载器从“rdmin.src”解密数据,PlugX加载器从“Mcsitesdvisor.afx”解密,Turian加载器从“winslivation.dat”解密,均使用XOR加密。解密的shellcode然后在内存中解包,并使用CALL或JMP指令执行。

图6. RainyDay加载器
图7. PlugX加载器
图8. Turian加载器

三个恶意软件加载器解密的shellcode格式相同。它包含分别使用RC4和LZNT1加密和压缩的数据。该数据然后被解压缩和解密,最终提供在内存中执行的代码。

通过CALL或JMP指令转换后,重复执行如下图所示的代码。在某些情况下可能实施控制流平坦化(CFF)。

图9. RainyDay和Turian用于实现CFF的部分代码

如图所示,它使用基于ROL25的加法API哈希函数解析Windows API。然后,代码使用RC4解密,如下所示。

解密后,代码使用LZNT1压缩,并调用RtlDecompressBuffer API解压缩并部署RainyDay、PlugX或Turian。

图10. 基于ROL25的加法API哈希函数
图11. RC4解密和LZNT1解压缩代码

如下面的图12所示,由LZNT1解压缩的DLL文件已移除其文件头字节。在此示例中,e_lfanew值(指示PE头位置)设置为异常大的值0x01240120,清楚显示已插入无效值。

图12. 由LZNT1解压缩的DLL文件部分

用于恶意软件解密的RC4密钥

下面的图13显示了三个不同恶意软件家族使用的RC4密钥及其对应样本。RainyDay使用“8f-2;g=3/c?1wf+c92rv.a”作为其RC4密钥。此相同密钥也用于PlugX和Turian。在早期版本的RainyDay中,此字符串用于加密通信,而非恶意软件自身。RainyDay中指定的另一个RC4密钥“jfntv`1-m0vt801tyvqaf_)U89chasv”也用于PlugX。我们可以得出结论,相同的RC4密钥在RainyDay、PlugX和Turian间共享。我们还可以推断攻击者同时操作多个恶意软件家族,并且跨多个恶意软件家族共享RC4密钥的使用表明这些活动由相同或连接的攻击者组执行。

图13. 按恶意软件家族的RC4密钥

加载器中包含的PDB路径

在加载器样本中发现了一些PDB路径,解释了DLL加载器文件的作用。

Turian加载器:

1
2
C:\vc_code\No.3\3-2hao\3-2hao-211221\dlltoshellcode_and_shellcodeloader_211221\Resources\pc2msupp.pdb
C:\vc_code\code_test\26.icmpsh-master(tigong wangzhiban)\shellcodeloader_vs2008\Release\shellcodeloader_vs2008.pdb

可能的PlugX加载器:

1
C:\Users\admin\Desktop\Desktop_bak\success_bai\MicrosoftEdgeUpdate.exe\shellcode_xor\dll-MicrosoftEdgeUpdate\Release\2-dll-MicrosoftEdgeUpdate.pdb

对PDB字符串的深入分析揭示了几个关键点。首先,所有加载器包含的shellcode结构在两个后门间一致,该结构被提取并注入内存。其次,Turian加载器PDB路径(Bitdefender也提及)“No.3\3-2hao\3-2hao-211221”似乎引用项目名称、版本和时间戳,“211221”可能代表日期2021年12月21日。

此外,另一个Turian加载器PDB路径包含“icmpsh-master”,可能指ICMP Shell(icmpsh),一种用于隐蔽C2通信的知名工具或恶意软件技术。在PDB字符串中,括号中的短语“(tigong wangzhiban)”从中文翻译为“提供网页版”,表明此版本的icmpsh可能已被修改用于基于Web的使用,可能与远程服务器或基于Web的C2基础设施交互。

最后,RainyDay加载器PDB路径指向涉及与“MicrosoftEdgeUpdate”关联的DLL的项目。此DLL可能是恶意的,并设计为注入合法的MicrosoftEdgeUpdate.exe进程。

图14. 每个恶意软件家族包含PDB的加载器

来自同一感染链的RainyDay和新型PlugX变种

本节检查RainyDay后门的历史和技术细节。此恶意软件由Bitdefender在2021年首次发现,并可能被Kaspersky跟踪为FoundCore,基于其分析中描述的行为。通过结合两份研究报告的见解,我们可以概述RainyDay后门的关键特征和行为:

  • 使用合法DLL侧加载运行恶意软件。
  • 载荷包含shellcode,负责提取最终载荷。
  • 载荷使用XOR-RC4-RtlDecompressBuffer加密,其配置使用简单的单字节XOR密钥加密。
  • 最重要的是,配置保存关键细节,如C2服务器地址、文件夹名称、服务描述、互斥体、注册表键路径和其他信息。

基于以上信息,Talos能够在各种恶意软件存储库中找到几个RainyDay后门加载器和载荷。虽然所有样本匹配RainyDay后门签名,但我们发现最终后门实际上属于两个不同的恶意软件家族:先前报告的RainyDay后门和 notorious 中文远程访问木马(RAT)PlugX的新变种。图15–17显示了均包含相同配置解密代码的不同恶意软件家族。

图15. Bitdefender识别的RainyDay配置解密代码
图16. 最旧的RainyDay配置解密代码
图17. PlugX变种配置解密代码

旧版本RainyDay后门

经过详细分析,Talos识别出RainyDay后门的旧变种。代码结构与其他网络安全供应商出版物中描述的新变种紧密对齐。此旧变种使用相同的代码逻辑确定目标机器的Windows版本和CPU架构。值得注意的是,调试日志在变种间显示显著相似性。如图18所示,明显威胁参与者不仅增强了RainyDay后门的功能,还改进了调试日志输出。此增强可能便于恶意软件开发者更高效地调试单个函数。然而,此旧变种紧密镜像Bitdefender先前报告中详述的内容,主要差异是缺少C2 HTTP通信能力和文件操作函数。

图18. 左:Bitdefender描述的RainyDay。右:Talos发现的RainyDay旧变种

Talos发现了两个额外的令人信服的证据支持这是RainyDay后门早期版本的结论。首先,此变种的加载器于2018年2月27日12:32:40 UTC编译,使其成为迄今为止识别的最旧样本。其次,配置文件包含追溯至2016年12月28日的时间戳。基于此信息,我们以高置信度评估RainyDay后门可能至少自2016年开始运行。

图19. RainyDay旧版本配置

Talos还发现了嵌入恶意软件中的PDB字符串路径,披露了后门的原始文件名。

1
C:\Users\Qs\Desktop\Workspace\1qaz\bin\core.pdb

文件名相同;因此,此发现进一步强化了此RainyDay后门旧变种与2021年FoundCore版本之间的联系。

PlugX变种后门

Talos识别的另一个最终载荷是定制变种的PlugX后门,我们相信它已成为威胁参与者在最近活动中使用的主要后门。虽然此PlugX变种并非特别新,其插件功能已在先前报告中记录,但它因一个关键原因突出:其配置与先前识别的PlugX配置显著不同。相反,它采用与RainyDay后门相同的配置结构。此异常强烈表明威胁参与者可能访问PlugX的原始源代码,使其能够以这种方式修改它。然而,仍然需要意识到威胁参与者可能进一步修补PlugX后门配置部分以适应其偏好的配置结构。

图20. PlugX配置

Talos以高置信度认为在此活动中观察到的PlugX变种是BackDoor.PlugX.38的定制版本。与原始变种一样,它利用“SetUnhandledExceptionFilter”异常处理程序识别“threads_container”中负责触发异常的线程ID,并随后生成关联的字符串。然而,此变种引入修改以使用额外的XOR操作加密那些字符串。当恶意软件执行相关函数时,它在运行时动态解密字符串。

图21. 异常过滤器设置

完成其准备过程后,木马通过获取SeDebugPrivilege和SeTcbPrivilege提升其权限。然后它初始化其主例程并确定文件夹路径,在其配置中指定,它将在其中放置感染链文件。恶意软件创建DoImpUserProc线程以管理插件操作或执行名为OnlineMainDump的函数。为逃避检测,威胁参与者通过使用修改的Tiny Encryption Algorithm(TEA)加密隐藏SeDebugPrivilege和SeTcbPrivilege字符串。

图22. 提升权限

如果PlugX后门执行OnlineMainDump函数,它首先尝试提升其权限以授予其自身进程高级别访问权限。然后它检索三个特定插件:KeylogDump、Nethood和PortMap。随后,它采用与BackDoor.PlugX.38相同的技术将其恶意服务隐藏在services.exe进程中。一旦完成,启动OnlineNotifyDump线程,并重新初始化配置。然后恶意软件利用OlProcManager线程在当前进程框架内管理三个插件的执行。

图23. PlugX主函数

一旦所有初始化过程完成,恶意软件开始循环连接到其C2服务器。虽然连接方法保持与BackDoor.PlugX.38相同,但此变种特别利用HTTPS协议进行通信。此外,我们识别了嵌入此PlugX后门中的库版本名称“VTCP 10.12.08”。VTCP库已在先前分析中确认为通常与PlugX关联的组件,进一步支持此变种归因于同一恶意软件家族。

图24. PlugX协议

此外,Talos观察到威胁参与者在所有分析的PlugX后门载荷中嵌入键盘记录器插件。键盘记录器的功能和数据写入格式与先前报告中描述的保持一致。然而,存在显著差异:文件名已更改,并且放置文件路径调整以匹配PlugX后门的当前位置。这些修改表明威胁参与者旨在更好地将键盘记录器与此特定变种集成。

图25. 键盘记录器日志文件路径

此外,通过围绕在VirusTotal上发现的几个键盘记录器日志文件进行透视,Talos观察到时间戳表明这些文件在2022年全年主动生成。值得注意的是,其中一个日志文件证明了在受害者环境中的成功持久性,记录从2022年末到2024年12月的活动——跨越近两年的持续入侵。

覆盖

思科Secure Endpoint(原AMP for Endpoints)非常适合防止本文中详述的恶意软件执行。在此免费试用Secure Endpoint

思科Secure Email(原Cisco Email Security)可以阻止威胁参与者作为其活动一部分发送的恶意电子邮件。在此免费试用Secure Email

思科Secure Firewall(原Next-Generation Firewall和Firepower NGFW)设备,如Threat Defense Virtual、Adaptive Security Appliance和Meraki MX,可以检测与此威胁相关的恶意活动。

思科Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)自动分析网络流量并警报用户每个连接设备上可能不需要的活动。

思科Secure Malware Analytics(Threat Grid)识别恶意二进制文件并将保护构建到所有思科Secure产品中。

思科Secure Access是基于零信任原则构建的现代云交付安全服务边缘(SSE)。Secure Access提供无缝透明和安全的互联网、云服务或私有应用程序访问,无论用户在哪里工作。如果您有兴趣免费试用思科Secure Access,请联系您的思科客户代表或授权合作伙伴。

Umbrella,思科的安全互联网网关(SIG),阻止用户连接到恶意域名、IP和URL,无论用户是在公司网络内部还是外部。

思科Secure Web Appliance(原Web Security Appliance)自动阻止可能危险的站点,并在用户访问之前测试可疑站点。

来自Firewall Management Center的额外保护提供针对您特定环境和威胁数据的上下文。

思科Duo为用户提供多因素认证,确保只有授权人员访问您的网络。

开源Snort订阅规则集客户可以通过下载最新规则包保持最新,可在Snort.org购买。

ClamAV检测也可用于此威胁:

  • Win.Loader.RainyDay-10045411-0

入侵指标(IOCs)

IOCs也可在我们的GitHub存储库中找到。此处

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计