摘 要
Tropic Trooper(也称为 KeyBoy 和 Pirate Panda)是一个活跃于 2011 年的 APT 组织。该集团传统上以台湾、菲律宾和香港的政府、医疗保健、运输和高科技行业等行业为目标。我们最近的调查显示,从 2023 年 6 月开始,他们在 2024 年针对中东的一个政府实体持续开展活动。
在中东的关键政府实体中发现该组织的 TTP,尤其是与人权研究相关的实体,标志着他们的新战略举措。这可以帮助威胁情报社区更好地了解此威胁行为者的动机。
2024 年 6 月,我们注意到了这种感染,当时我们的遥测数据反复发出警报,指出在公共 Web 服务器上发现了一种新的 China Chopper Web shell 变体(许多讲中文的行为者都在使用)。该服务器托管着一个名为 Umbraco 的开源内容管理系统 (CMS),该系统是用 C# 编写的。观察到的 Web Shell 组件被编译为 Umbraco CMS 的 .NET 模块。
在随后的调查中,我们在这个公共服务器上寻找了更多可疑的检测,并确定了多个恶意软件集。这些工具包括漏洞利用后工具,我们以中等置信度评估这些工具与此次入侵相关并在其中被利用。
此外,我们还发现了新的 DLL 搜索顺序劫持植入物,这些植入物是从合法的易受攻击的可执行文件加载的,因为它缺乏到所需 DLL 的完整路径规范。此攻击链试图加载 Crowdoor 加载程序,该加载程序以 SparrowDoor 后门命名,由 ESET 详细说明。在攻击期间,安全代理阻止了第一个 Crowdoor 加载程序,促使攻击者切换到一个新的、以前未报告的变体,其影响几乎相同。
我们将此活动归因于被称为 Tropic Trooper 的中文威胁行为者,并且具有很高的置信度。我们的研究结果揭示了最近 Tropic Trooper 活动中报告的技术存在重叠。我们发现的样本也与以前归因于 Tropic Trooper 的样本高度重叠。
背 景
2024 年 6 月,我们检测到了著名的 China Chopper Web Shell 的新版本。随后进行了进一步调查,因为它表示 Umbraco CMS 中的一个模块,通过 Umbraco 控制器接收命令。
在托管 Umbraco 的同一台公共服务器上,我们发现了其他可疑的植入物和恶意软件集群,这似乎是同一攻击的一部分。安装的安全代理不断检测这些恶意软件植入,攻击者试图放弃额外的利用后工具以实现其主要目标:在这次入侵中,我们高度自信地评估动机是网络间谍活动。
下表显示了已发现的与此入侵相关的恶意软件系列。本报告的后续部分提供了对这些恶意软件集群的技术分析。
技术细节
Webshell — Umbraco 模块
该模块表现出通常与恶意活动相关的特征,包括混淆和动态执行命令。命令由 umbraco_bind_aspx 模块接收和调度,如下所示。
在受感染服务器上的 Umbraco CMS 中发现恶意模块
umbraco_bind_aspx 是由 ASP.NET 框架为 Umbraco CMS 中的 ASPX 页面生成的类。框架会自动调用 __BuildControlTree() 函数。此函数由攻击者实现,负责调用恶意代码作为 RenderMethod() 函数的参数。此外,通过将 EnableEventValidation 设置为 false 来禁用事件验证,事件验证是 ASP.NET 中的一项安全功能,可防止未经授权的事件记录在服务器上,如下面的屏幕截图所示。
注册为回调函数的 China Chopper 实现恶意函数
__Render__control1() 是主要的恶意功能。从下面的屏幕截图中可以看出,Base64 字符串被解码,然后使用 JavaScript 通过动态评估来执行。
混淆动态 JS 代码执行
该脚本在生成和执行最终 JavaScript 负载之前使用多个 Base64 解码。生成的代码类似于与 China Chopper Web shell 关联的已知功能,China Chopper Web Shell 是攻击者用来远程访问和控制受感染的 Web 服务器的常用 Web shell。
China Chopper Web Shell 功能
然后,攻击者开始在该服务器上投放各种样本,特别是一个 dropper,它推送了更多具有相同功能但使用不同的模块名称的编译变体。这些模块名称都与模式 App_Web_{8}[a-z0-9].dll 匹配。在我们的遥测中,我们注意到了几个 CVE(Microsoft Exchange 中的 CVE-2021-34473、CVE-2021-34523 和 CVE-2021-31207,Adobe ColdFusion 中的 CVE-2023-26360)的利用尝试。因此,我们以中等的信心相信这些 Web Shell 是通过利用现有的未修补漏洞而丢弃的。
根据检测日志的时间线,攻击者能够利用其中一些 Web Shell 在受影响的服务器上执行命令,并丢弃更多用于横向移动的利用后工具。观察到的大多数软件是由讲中文的开发人员维护的开源工具。这些植入程序将放入 Umbraco CMS 根目录中。
我们找到了以下工具:
• Fscan:漏洞扫描工具,包括主机状态检测、端口扫描、服务枚举、漏洞利用等。该工具文档为简体中文,由讲中文的帐户维护。攻击者创建了一个名为 i.bat 的脚本,以使用简单的 ICMP ping 请求来识别网络上的可用计算机。输出被定向到一个文本文件,该文件稍后用于横向移动。
• Swor:一种简单的渗透测试工具,其作者试图使其不被安全解决方案删除。根据其文档,它可以部署 mimikatz、FRP 和 ElevationStation。该工具是开源的,由讲中文的开发人员维护。此前曾发现该工具被用于对马来西亚政府实体的攻击,马来西亚是一个与中东入侵受害者类似的垂直行业。我们在 [domain]/wampthemes/simple/123/In-Swor-v2/1.exe 中找到了相同的编译样本。
• Neo-reGeorg:一个开源的 SOCKS5 代理,攻击者使用它来转向其他机器并逃避网络级安全控制。一些检测表明此工具可能用于代理流量,但我们无法验证通过此服务器代理流量的实际目的。
• ByPassGodzilla:一种中国的 Web Shell 加密程序,用于混淆其他已部署的 Web Shell 以绕过检测。我们能够从同一服务器获取 .NET 和 ASPX 脚本中加密 Web Shell 的不同实现。根据我们的遥测数据,新发现的 Web Shell 还与今年年初针对中东易受攻击的服务器发起的利用 CVE-2023-26360 的活动有关。
使用 DLL 搜索顺序劫持的后门植入程序
攻击者尝试从 c:UsersPublicMusicdata 加载恶意 DLL datast.dll 三次。在这些尝试失败后,攻击者依赖于另一个恶意加载程序 VERSION.dll,它被放入 C:Windowsbrandingdata 中。我们将在下面的“新样本”部分讨论这一点。根据我们的遥测数据,我们认为 Umbraco Web Shell 被用于将这些文件拖放到受感染的服务器上。
由于加载两个恶意 DLL(VERSION.dll 和 datast.dll)的时间范围非常接近,因此我们可以链接这两个文件。此外,相同的方法也用于这两种方法:利用易受 DLL 搜索顺序劫持攻击的合法可执行文件,这将加载一个与合法可执行文件相同的恶意 DLL。
datast.dll 库
在此事件中,我们的遥测数据指向使用 a.bat 文件 (MD5:fca94b8b718357143c53620c6b360470) 中的 rundll32 命令调用恶意软件导出,我们无法获得该文件。第二个假设是,它是通过使用 DLL 搜索顺序劫持的合法可执行文件加载的,如前所述datast.dll与 Tropic Trooper 相关联,并通过相同的方法加载。我们以低到中等的置信度认为,批处理脚本仅用于测试目的,因为整个恶意软件加载链旨在从合法可执行文件加载。
加载后,datast.dll 会导出一个名为 InitCore 的函数。此函数通常由另一个名为 datastate.dll 的 DLL 导入。该函数实现了此加载程序的主要功能,使用 RC4 流密码的变体从 datastate.dll 文件内的内存缓冲区解密下一阶段的 shellcode。第一个代码块是密钥调度算法 (KSA),而第二个代码块(下图中的“for”循环)是 KSA 的核心,它使用硬编码的 RC4 密钥 fYTUdr643$3u 对初始排列进行加扰。
负责解密下一阶段的代码存根
负责解密下一阶段的代码存根
解密后,执行 shellcode,然后将下一阶段加载到加载datast.dll的进程的地址空间中。
寻找新的装载机
如前所述,感染链没有完全执行,迫使攻击者转向新的未被发现的变体。通过旋转硬编码的 RC4 键,我们发现了一组共享类似代码的新文件,结果是这个系列的新更新变体,功能略有不同。以下是从我们的遥测和扫描第三方恶意软件存储库中观察到的这个特定加载程序演变的时间顺序视图。
最近的变体
2024 年 2 月更新了加载器变体
2024 年 2 月,一位用户将三个与 Crowdoor 相关的文件上传到一个多扫描仪平台:
这些文件还涉及 DLL 搜索顺序劫持序列:
1. 合法可执行文件加载易受攻击的 DLL ( datastate.dll);
2. 然后这个 DLL 加载一个恶意的 Crowdoor DLL(datast.dll);
3. 加载器 DLL 使用这个恶意 DLL 来解密和加载 Crowdoor 负载。
这种方法很难检测,因为恶意功能被拆分到两个 DLL 中,这些 DLL 主要执行看似良性的任务,例如读取文件或解密 RC4 数据。这两个 DLL 都有构建时间戳,可将它们的未来日期定为 2027 年 5 月 26 日。
datastate.dll 加载程序从 datast.dll 导入两个函数 — 一个称为 rcd(可能是“运行代码”)来执行 shellcode,另一个称为 ldf(可能是“加载文件”)来从以合法可执行文件命名但没有文件扩展名的文件中读取内容。在这种情况下,上传的有效负载文件名为 WinStore,这意味着合法的可执行文件是 WinStore.exe。加载程序使用 RC4 密钥 fYTUdr643$3u(与上一节讨论的初始示例中的密钥相同)来解密包含相同 Crowdoor shellcode 的有效负载文件。
通过创建名为 WinStore 的 Windows 服务来保持活动状态,该服务用作服务名称、显示名称和描述。如果服务创建失败,负载将使用位于 HKCUSoftwareMicrosoftWindowsCurrentVersionRun 的注册表自动启动扩展点 (ASEP),其值为 WinStore to persist。
执行时,它使用命令行参数“2”将自身注入 colorcpl.exe 进程中,并尝试使用其配置(blog.techmersion[.]com 在端口 443 上)。
我们将收集的样本与参考样本 (MD5:a213873eb55dc092ddf3adbeb242bd44) 进行了比较,并揭示了它们的代码相似程度。例如,负责加载 Next stage 的核心函数几乎相同。基于此,我们以中等可信度相信,新发现的样本与 Tropic Trooper 有关,后者是中东入侵的幕后黑手。
根据我们的遥测数据,该行为者可能至少从 2022 年 6 月开始就一直在使用这种搜索顺序劫持技术,这标志着使用这种方法通过易受攻击的可执行文件加载恶意 DLL 的第一个已知实例。Tropic Trooper 采用这种技术将恶意代码分为几个阶段。在第一阶段中,仅提取使用相同的 RC4 密钥加密的下一阶段。随后,部署最终植入物的实际装载机。
新样本
我们调查了威胁行为者在加载之前覆盖的加载程序失败后进行的第二次尝试。该演员上传了下表中详述的新示例:
像往常一样,使用了相同的 DLL 搜索顺序劫持。请注意,inst.exe 是合法的可执行文件,它从 VERSION.dll 导入三个函数:
• VerQueryValueW;
• GetFileVersionInfoW;
• GetFileVersionInfoSizeW 的
放置VERSION.dll的每个变体都实现了三个导出的函数,两个样本之间的差异最小。在分析样本中的三个恶意导出后,攻击者很可能是逐步构建的。第一个样本 (MD5:e845563ba35e8d227152165b0c3e769f) 于 4 月 28 日被丢弃,就在尝试执行旧加载程序失败之后。此变体的功能比 5 月 15 日发布的变体少,后者具有加载将 Crowdoor 加载到内存中的相同 shellcode 所需的所有恶意功能的完整实现。
这两个变体都设置了将来的编译时间戳。查看两个示例之间的 GetFileVersionInfoSizeW 实现,我们看到最近删除的示例具有完整实现,而前面的示例具有空实现,这意味着此加载程序的逐步测试和开发。
主要的加载功能旨在执行合法的 msiexec.exe 进程,然后通过写入其远程地址空间并创建远程线程来执行它来注入下一阶段。
受害者
我们在中东的一个政府实体中发现了这种有针对性的入侵。与此同时,我们看到这些样本的一个子集被用于针对马来西亚的政府实体。这与最近的 Tropic Trooper 报告中描述的目标类型及其位置相匹配。
归 因
根据发现的样本,我们正在重新评估 Tropic Trooper 与 ESET 于 2021 年报告的 FamousSparrow 组之间的关系。一些行业报告将这两个群体联系在一起。
以下原因使我们将本报告中描述的活动和所有观察到的植入物归因于 Tropic Trooper 及其相关组织 FamousSparrow:
• 硬编码 RC4 密钥:攻击者在无法从 a.bat 文件中加载之前归因于 Tropic Trooper 的加载程序(MD5:a213873eb55dc092ddf3adbeb242bd44)后,试图启动该加载程序。他们依赖于一种新方法,通过使用 DLL 搜索顺序劫持来保持相同的方法,并使用了新的加载程序。两个样本共享相同的 RC4 密钥。
• 漏洞利用后工具:攻击者使用的一些漏洞利用后工具之前曾在此活动同一时间范围内的其他攻击中看到,其中受害者与该威胁组所针对的目标地区和垂直行业保持一致。
• 中东入侵样本与 2024 年 2 月在第三方恶意软件存储库中发现的样本之间的代码相似性 (MD5:c10643b3fb304972c650e593b69faaa1):两者都是将 Crowdoor 加载到内存中。此外,在与 Tropic Trooper 示例相关的变体中找到的命令行参数“2”与 SparrowDoor“-k”开关功能非常相似。
结 论
促使我们调查 Tropic Trooper 的事件是反复检测到 China Chopper Web shell。在对这一事件进行调查后,我们发现了更多由 Tropic Trooper 编写的样本,以及在漏洞利用后阶段使用的第三方工具。这提高了对该威胁行为者 TTP 的洞察力。值得注意的是,在攻击的各个阶段使用的技能集以及失败后做出的选择存在差异。当行为者意识到他们的后门被检测到时,他们试图上传更新的样本来逃避检测,从而增加了他们的新样本集在不久的将来被检测到的风险。同样,加载程序序列不遗余力地避免被发现。然而,使用 Fscan 等公开可用的工具进一步利用受害者的网络再次凸显了他们操作的一些相对先进的部分与“更嘈杂”的部分之间的差异。
调查该威胁行为者的动机使我们得出结论,此次入侵的意义在于看到一名讲中文的行为者针对一个内容管理平台,该平台发布中东人权研究,特别关注以色列-哈马斯冲突周围的局势。我们对此次入侵的分析表明,整个系统是攻击期间的唯一目标,这表明有意关注这些特定内容。
我们的私人威胁情报门户的用户可以获得对此活动的更详细分析,以及即将发布的另一份关于此活动的报告。要了解有关此报告的更多信息,请联系 [email protected]。
感染指标:
Umbraco Webshells
3F15C4431AD4573344AD56E8384EBD62
78B47DDA664545542ED3ABE17400C354
3B7721715B2842CDFF0AB72BD605A0CE
868B8A5012E0EB9A48D2DAF7CB7A5D87
Post-Exploitation Tools
149A9E24DBE347C4AF2DE8D135AA4B76
103E4C2E4EE558D130C8B59BFD66B4FB
E0D9215F64805E0BFF03F4DC796FE52E
27C558BD42744CDDC9EDB3FA597D0510
4F950683F333F5ED779D70EB38CDADCF
File Paths:
c:sqltoolsattunitycdcoraclex641033
c:microsoft.netframework64v4.0.30319temporary asp.net filesrootfc88e889b64f0276
c:microsoft.netframework64v4.0.30319temporary asp.net filesroot5b841946ca5a9bf5
Tropic Trooper Loaders
FD8382EFB0A16225896D584DA56C182C
1DD03936BAF0FE95B7E5B54A9DD4A577
8A900F742D0E3CD3898F37DBC3D6E054
A213873EB55DC092DDF3ADBEB242BD44
DD7593E9BA80502505C958B9BBBF2838
2C7EBD103514018BAD223F25026D4DB3
0B9AE998423A207F021F8E61B93BC849
E845563BA35E8D227152165B0C3E769F
A213873EB55DC092DDF3ADBEB242BD44
Domains and IPs
51.195.37[.]155
162.19.135[.]182
techmersion[.]com
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...