PlugX 恶意软件分析

admin 2023年12月26日16:10:48评论27 views字数 3579阅读11分55秒阅读模式

译者 | 知道创宇404实验室翻译组

摘要

PlugX 是一种将高级功能与逃避检测技巧相结合的恶意软件,在网络安全领域产生了深远影响。PlugX 的发展演变与网络间谍活动、有针对性的攻击以及与安全专家的持续博弈密不可分。

Splunk 威胁研究团队(STRT)详细介绍了 PlugX 变体,包括 payload、策略及其影响。我们将深入研究该恶意软件的内部机制,探索其侧加载技术以及它如何在受感染的主机中执行其恶意代码。

在本文中,STRT 提供了对此威胁的深入分析,包括:

  • PlugX.DAT Payload 提取

  • PlugX.CFG 解密

  • PlugX 提取器工具

  • PlugX 分析

  1. 流程伪装

  2. 系统信息发现

  3. 防火墙规则

  4. 创建服务

  5. 清理操作

  6. 删除文件

  7. 模拟用户

  8. 键盘记录器和进程监控

1 PlugX.DAT Payload 提取

PlugX 的此变体利用侧载技术执行恶意代码。在这个复杂的过程中,当用户启动合法的 “msbtc.exe” 时,恶意软件会动态加载 “version.dll”,这是 “msbtc.dat” 文件初始解密层所需的关键组件。其中第一层解密采用 RC4 算法,由 “VerQueryValueW” 导出函数中的 “Version.DLL” 编排。

在成功解密第一层后,PlugX 包含一组关键标头,这些标头是之后解密和解压缩最终 payload 的基本组件。在图 1 中,我们对这些标头元素进行全面细分,揭示了它们的复杂构成以及在恶意软件功能中发挥的关键作用。

PlugX 恶意软件分析

图 1:第 1 层解密 PlugX 及其标头

随后,恶意软件进入第二层解密,其中包括一系列异或运算和基本数学运算。这些转换用于生成压缩层,该压缩层使用 “RtlDecompressBuffer()”API 进一步解压。这个过程最终产生了一个无头的 PlugX payload 变体,并在就绪之后注入到目标进程中。后文将探讨此操作选择的具体进程,揭示该恶意软件的逃避策略和持久性策略。

PlugX 恶意软件分析

图 2:PlugX Payload 的解密和解压缩

2 PlugX.CFG 解密

与 “msbtc.dat” 的解密过程不同,该变体在处理 “msbtc.cfg” 文件时较为简化。它仅依赖于与 “Version.DLL” 相同的密钥和 RC4 算法来提取其配置设置。这种简化的方法强调处理配置数据的效率,利用现有工具加快流程。

3 PlugX 提取器工具

STRT 主动创建了一个名为 plugx_extractor.py 的 Python 工具,以促进对这种威胁的分析,并提取 PlugX payload 及其配置文件。该工具可自动执行提取过程,确保精确无误的结果。提取的数据被有效地保存到文件中,在简化了调查过程的同时,也使安全从业人员能够更有效地理解和分析这种威胁。

下方链接是一个简短的视频演示,介绍了该工具如何提取 Plugx payload 和配置文件:https://www.splunk.com/en_us/blog/security/unmasking-the-enigma-a-historical-dive-into-the-world-of-plugx-malware.html

PlugX 恶意软件分析

图 3:解密的 PlugX 配置

4 PlugX 分析

在本节中,我们将深入分析从 “mbstc.dat” 文件中解密的无头 PlugX payload。

4.1 流程伪装

从 “msbtc.dat” 解密无头 PlugX payload 后,PlugX 继续将其注入合法的 “msdtc.exe”,该进程代表 Microsoft 分布式事务处理协调器。这是一个重要的 Windows 服务,负责管理各种资源(包括数据库、消息队列和文件系统)的分布式事务。

在图 5 中,它检测 “msdtc.exe” 进程的命令行参数。如果它检测到 “-a”,则表示重新执行,如果找到 “-b”,则触发其他功能。

PlugX 恶意软件分析

图 4:带有参数检查的 msdtc.exe

4.2 系统信息发现

作为与 C2 服务器的信标通信的一部分,PlugX 恶意软件会检索受感染主机的用户名、计算机名称和操作系统信息。

PlugX 恶意软件分析

图 5:系统信息发现

除了上述操作外,它还将尝试通过向 ipinfo.io 网站发起查询,从受感染的主机中收集与网络相关的信息。此数据收集过程包括检索有关主机的外部 IP 地址、地理位置、Internet 服务提供商和其他网络相关参数的详细信息。通过查询 ipinfo.io,该恶意软件构建受感染主机网络环境的综合配置文件,这种配置文件可进一步用于各种恶意活动或信息收集。

PlugX 恶意软件分析

图 6:网络信息发现

4.3 防火墙规则

恶意软件通过添加一个名为 "Microsoft Edge" 的防火墙规则来发起战略性操作。该规则被配置为允许特定 TCP 端口的入站网络流量,这对其与命令控制(C2)服务器进行通信至关重要。在我们的测试环境中,我们自定义了 PlugX 的配置以通过端口 7777 建立连接。

通过创建此防火墙规则,PlugX 可以操纵主机的安全设置,确保允许指定端口上的网络流量。这使得恶意软件能够通过端口 7777 与其远程 C2 服务器保持隐蔽的通信线路,从而实现数据泄露、命令执行以及潜在的其他恶意活动。这种对防火墙规则的恶意操纵,是该恶意软件在受感染系统中秘密运行的关键组成部分。

PlugX 恶意软件分析

图 7:添加防火墙规则

4.4 创建服务

在安装过程中,为了在受感染的主机中建立持久且可提升的权限,恶意软件会执行多方面的策略。其中一个重要操作即创建一种能巧妙地覆盖在合法 “msbtc.exe” 可执行文件上的服务,这种服务在调控恶意软件的秘密操作中起着关键作用。

此服务配置执行两个基本功能:

  • 自动解密:一旦就位,它就会作为一种复杂的解密机制运行。它持续解密构成 PlugX 恶意软件的核心——即隐藏、压缩的payload 和配置文件。此解密过程在执行合法的 “msbtc.exe” 时无缝启动。

  • 动态 Payload 加载:同时,该服务有助于动态加载解密的 PlugX payload 和配置。这使得 PlugX 从隐藏状态过渡到完整功能状态,将其注入到 mstdc.exe 进程和内存中,准备执行其恶意议程。

    PlugX 恶意软件分析

图 8:创建 msbtc.exe 服务

4.5 清理操作

在 PlugX 的初始执行阶段,恶意软件会严密地执行一系列操作,以消除或清理其先前安装和相关痕迹的操作。制定此计算过程是为了确保自身能够准确无误地重新安装,从而最大限度地减少检测或干扰的可能性。下图是该清理操作的一个说明性示例。

PlugX 恶意软件分析

图 9:删除 msbtc.exe 服务

4.6 删除文件

作为安装过程的一部分,PlugX 会编排删除对 PlugX 整体功能至关重要的所有基本组件的副本。删除的副本专门放置在 “%programdata%MSB” 文件夹中。

PlugX 恶意软件分析

图 10:删除的文件

4.7 模拟用户

为了提升权限,PlugX 的特定变体通过利用 “explorer.exe” 过程模拟当前登录用户。这种技术允许恶意软件采用合法用户的身份和权限,从而获得对系统资源和敏感数据的访问权限。通过将其活动伪装在 Windows 操作系统的常见且重要的 "explorer.exe" 进程中,PlugX 有效地隐藏了其恶意意图。

PlugX 恶意软件分析

图 11:通过资源管理器 .exe 过程模拟登录用户

4.8 键盘记录器和进程监控

PlugX 还具有键盘记录功能,使其能够秘密监控受感染主机上的按键和处理活动。通过此监视收集的数据被谨慎地存储在 “%ALLUSERPROFILE%MSB” 目录的文件中,具体名为 “kl”。这些信息在恶意软件的数据收集和泄露策略中发挥着重要的作用。随后,“kl” 文件的内容被系统地读取并传输到命令和控制(C2)服务器。

PlugX 恶意软件分析

Figure 12: Keylogger and Process Monitoring

PlugX 恶意软件分析

图 13:kl 文件示例

5 检测

Splunk 威胁研究团队已经整理了相关的检测内容,并将其标记为 PlugX Analytic Story,以帮助安全分析人员检测利用这种恶意软件的对手。

此版本使用并考虑了相关的数据端点遥测源,例如:

  • 进程执行和命令行日志记录

  • Windows 安全中心 SACL 事件 ID、Sysmon 或任何符合通用信息模型的 EDR 技术

  • Windows 安全事件日志

  • Windows 系统事件日志

  • Windows PowerShell 脚本块日志记录

6 入侵指标 (IoC)

PlugX 恶意软件分析

7 Playbooks

默认情况下,与此分析故事关联的非搜寻检测会在 Splunk Enterprise Security 风险指数中创建条目,该条目可与风险显著指标和风险显著 Playbook Pack 无缝使用。此外,自动扩充 playbook 包也适用于任何这些分析的输出。

PlugX 恶意软件分析

8 结论

本文通过分析 PlugX 策略、技术和程序,帮助安全分析师、蓝队成员和 Splunk 客户识别 PlugX 恶意软件。通过了解其行为,STRT 能够生成遥测和数据集,以开发和测试 Splunk 检测,帮助防御和应对这种威胁。

原文来源:Seebug Paper
“投稿联系方式:010-82992251 [email protected]

原文始发于微信公众号(CNCERT国家工程研究中心):PlugX 恶意软件分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月26日16:10:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PlugX 恶意软件分析https://cn-sec.com/archives/2336384.html

发表评论

匿名网友 填写信息