东南亚

驶向危险:APT组织DONOT针对巴基斯坦海事和国防制造业的攻击

概述

CRIL 最近发现了一项似乎针对巴基斯坦制造业的活动,该行业为该国的海事和国防部门提供支持。在分析了该活动所涉及的文件后,确定该攻击与已知的 APT 组织 DONOT 有关。

DoNot,也称为 APT-C-35,是一个自 2016 年开始运营的高级持续性威胁 (APT) 组织。该组织曾多次针对南亚各地的政府和军​​事实体以及外交部和大使馆发起攻击。

不要

Cyble Vision,威胁库
图 1 – Cyble Vision 威胁库

在最近的这次活动中,威胁行为者 (TA) 使用 .LNK 文件作为初始感染媒介,该文件可能通过垃圾邮件到达 RAR 存档中。.LNK 文件伪装成 RTF 文件,让用户误以为他们正在打开的是合法文件。

当用户点击执行时,它会触发 cmd.exe 和 powershell.exe 来运行其他恶意命令,加载 stager 恶意软件(DLL 文件),并通过创建计划任务通过 rundll32.exe 执行 DLL 文件来建立持久性。此外,它通过 POST 请求发送唯一的设备 ID 与主 C&C 服务器通信,并作为响应从 TA 接收控制命令以指导其下一步操作。

这些操作包括自毁、通过从指定 URL 下载加密负载来部署其他恶意负载,然后执行。为了逃避检测和使分析复杂化,该恶意软件采用了不同的加密方法,而不是之前活动中使用的单字节 XOR 密钥。下图显示了感染链。

感染链
图 2 – 感染链

StrikeReady Labs 最先发现了这一“.LNK”文件攻击活动,并在 X 平台上报告了该攻击活动。2024年 7 月也出现了类似的攻击活动,该活动使用特定行业的诱饵针对巴基斯坦政府机构和制造业。在之前的攻击活动中,TA 使用了嵌入宏的恶意 Office 文件和富文本格式 (RTF) 文件,利用漏洞将 stager DLL 加载到受害者机器上。

与之前的攻击活动相比,初始感染媒介已从 Microsoft Office 文件转移到 .LNK 文件。此外,stager DLL 现在采用增强的有效载荷传递方法和改进的 C&C 通信,并在各个阶段纳入加密机制。

技术分析

恶意“ .LNK”文件包含 PowerShell 命令、加密的诱饵 RTF 文件和加密的 stager payload。执行后,“.LNK”文件会启动“cmd.exe”,它会在“%temp%”路径中创建一个目录,并将“powershell.exe”复制到此位置,并命名为“2SqSxDA2.exe”。新复制的 PowerShell 进程随后会执行嵌入在 LNK 文件中的 PowerShell 代码。下图显示了 LNK 文件的部分内容。

LNK 文件,诱饵,网络钓鱼
图 3 – LNK 文件的部分内容

PowerShell 代码

嵌入在“.LNK”文件中的 PowerShell 命令会从“.LNK”本身检索诱饵文件和 DLL。它根据文件大小和目录路径识别“.LNK”文件,然后使用单字节 XOR 操作和“0xB2”解密诱饵 RTF 文件和 DLL 文件。对于诱饵文件,解密从偏移量“0x1774”开始,对于 DLL,解密从偏移量“0x79AF”开始。

这些解压出来的文件都存放在“%temp%\7GGVXwRn”目录下,解压完成后,PowerShell命令会删除PowerShell副本“2SqSxDA2.exe”,打开诱饵文档,调用“rundll32.exe”执行DLL,调用导出函数“HgCallClient”。

PowerShell 命令
图 4 – PowerShell 命令的内容

诱饵文件

这份诱饵文件与巴基斯坦著名国防承包商和造船公司卡拉奇造船厂和工程公司 (KS&EW) 有关。这表明,TA 的目标是支持国防部门的行业。下图显示了这份诱饵文件。

不要
图 5 – 诱饵文件

DLL文件分析

执行后,DLL 开始从嵌入的 JSON 文件中提取配置详细信息。此配置包括配置文件名、环境变量名、服务器域、安全通信的传输密钥、互斥锁和用户代理字符串等信息。下表显示了配置详细信息。

Filed Name Value
ConfigFileName Config.json
EnvVarTaskName PFTN
HMAC_Security j4fhrJpSqvgE
MachineMutex 5734b817-1bb8-402b-a761-da8f2e188baf
ServerDomain hxxps://internalfileserver[.]online:443/
TransitKey tTRxrb0kmbQGpdci
TransitSalt aWrtRHXuEBy6CwXj
userAgent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
BackupServerURL hxxps://safehydratedcloudcosmoswebglobe[.]cc/
PrimaryServerUrl hxxps://internalfileserver[.]online:443/
FirstTaskName Schedule
TaskDefinition This service enables a user to configure and schedule automated tasks on this computer. It also hosts multiple Windows system-critical tasks. If this service is stopped or disabled, these tasks will not be run at their scheduled times, and any services that explicitly depend on it will fail to start.

随机域生成

配置文件中提到的 BackupServerURL 是通过从硬编码的单词数组中选择六个值并将它们连接起来以创建域来生成的。然后从单独的 TLD 值数组中选择一个 TLD。这个随机生成的域用作命令和控制 (C&C) 通信的备份。下图显示了用于生成随机域的可用单词列表。

随机域生成
图 6 – 随机域生成

持久性

提取配置详细信息后,DLL 会检查是否存在名为“Schedule”的特定计划任务。如果未找到该任务,它会创建一个新任务,每 5 分钟通过“ rundll32.exe”执行一次 DLL,持续一天,如下图所示。

不要
图 7 – 计划任务

建立持久性后,DLL 会向主服务器 URL 发送 POST 请求。此请求包括从 HTTP 方法生成的 HMAC(基于哈希的消息认证码)、联系人 URL、当前日期时间和 HMAC 密钥以及“X-Timestamp”等标头。请求正文包含唯一的 DeviceID 和配置文件名,使用硬编码的 AES 传输密钥和盐进行加密,然后进行 base64 编码,然后发送到 C&C 主 URL。与之前观察到的加密方法相比,此加密方法标志着此活动中采用了一种相对较新的方法。

不要
图 8 – C&C 通信

如果 C&C 服务器响应状态码为 200,则响应内容包含 JSON 配置数据,使用相同的 AES 传输密钥和 IV 进行解密。解密后的数据包括以下详细信息:

  • 下载地址
  • 文件放置环境
  • 文件拖放名称
  • 导出函数名称
  • 任务名称
  • Self_Destruction (布尔值)
  • 执行(布尔值)

不要
图 9 – JSON 配置

解密的 JSON 配置数据允许 TA 控制恶意软件行为的关键方面,例如下载其他有效负载、指定文件位置和配置执行选项。这使其能够根据需要灵活地调整攻击。

下一阶段有效载荷的执行

如果 TA 打算执行额外的有效载荷,则根据 C&C 配置下载加密的有效载荷。然后使用加密文件中的 XOR 密钥(紧接着一系列魔法字节)对其进行解密,并使用 XOR 循环方法进行处理,如图 10 所示。此过程与以前的活动不同,以前的活动是从 URL 获取加密数据,并在 C&C 配置中直接提供解密密钥,如图 11 所示。

解密成功后,通过检查字符串“此程序无法在 DOS 模式下运行”的存在来验证数据是否为有效二进制文件。解密的有效负载随后放置在“FileDropEnvironment”变量指定的目录中。

不要
图 10 – 解密有效负载(最新活动)

有效载荷,恶意软件活动
图 11 – 解密有效载荷(先前的活动)

在验证二进制文件后,stager 恶意软件会创建一个计划任务,使用“rundll32.exe”执行解密的二进制文件。任务名称和执行间隔在 TA 通过 C&C 提供的配置详细信息中指定。

计划任务
图 12 – 计划任务

如果解密失败,stager 恶意软件会使用备份服务器 URL 更新配置,并记录错误消息“解密时文件损坏”。它还会收集详细的系统信息,例如磁盘空间和已安装的安全产品,以帮助确定解密失败的原因。然后通过 POST 请求将此信息发送给 TA。

系统信息
图 13 – 收集系统信息

如果通过计划任务成功部署有效载荷,stager 恶意软件会以与失败相同的方式记录事件,唯一的区别是结果记录为“有效载荷部署成功”。此日志还包含详细的系统信息,帮助 TA 在成功时识别潜在目标,并在失败时检测安全解决方案。无论结果如何,TA 都会收集并记录所有相关详细信息,并通过 POST 请求将信息发送到 TA 的 C&C。

JSON 日志、POST 请求
图 14 – 将 JSON 日志作为 POST 请求发送

Stager 恶意软件通常会存储数据,包括尝试与 C&C 通信的次数、主 C&C 域名、上次连接日期、备份域名以及第二阶段有效负载的详细信息。这些值作为加密条目存储在环境变量中,如下表所示。

Variable Name Value Decrypted value
NFC (Not Found Count) iOJDUU+oq2I1wQwfdYl98w== 2
PDN (Primary Domain Name) ehdXQoPR9RjVlJYUWq+tIkQkazp1KhA1+59IGAXaXL94XRvH8aNbs9pv3e6PLCKK hxxps://internalfileserver[.]online:443/
LCD (Last Check Date) vKXaygaagiZygkd7/K+uvQ== 11-11-2024
BDN (Backup Domain Name) “tc6rjFyW2AVO6pu2y/c/Vg626iQ+S/FHqYIGBpIejquLjQJwMxVv/r6q44XNnInvBJPP86CLYx9qKJ0lMfryxQ==” hxxps://floridacloudcyberhydratedfloridatech[.]online/

在我们的测试过程中,C&C 服务器不可用,导致我们无法收到响应。因此,我们无法观察或分析下一阶段 DLL 负载的行为,该行为将由与 C&C 服务器的通信触发。如果没有这一关键交互,我们就无法完全了解负载的执行方式或可能采取的进一步操作。

自我删除

如果TA通过C&C激活自毁命令,stager恶意软件将删除计划任务并通过“cmd.exe”执行“DEL”命令启动自删除。下图说明了自删除过程。

自行删除
图 15 – 自我删除

威胁行为者归因

恶意 DLL 连接到 C&C 服务器“internalfileserver[.]online”,该服务器解析为 IP 地址“94[.]141.120[.]137”。该 IP 地址之前托管域名“office-updatecentral[.]com”,DoNot APT 组织在之前的活动中曾使用过该域名。此外,在此次活动中观察到的策略、技术和程序 (TTP) 与360 威胁情报中心报告的行为类似。

结论

此次 DoNot APT 活动表明其策略有所改进。它使用恶意 LNK 文件、PowerShell 进行有效载荷传递,并使用计划任务进行持久性。该组织还使用动态域生成作为备份 C&C 服务器,并更新了其加密方法以避免被发现。

解密密钥处理方式的转变以及在有效载荷交付之前收集系统信息表明了一种更为复杂的方法。这些变化凸显了 APT 活动日益复杂,以及改进检测和防御策略的必要性。

威胁搜寻包

可以从链接的 GitHub 页面下载威胁搜寻包,其中包括能够检测此活动的YARASigma规则。

建议 

  • 部署强大的 EDR 解决方案来监控异常的 PowerShell 活动、计划任务创建以及与 C&C 服务器的可疑网络连接。确保这些工具配置为标记和警告异常。
  • 将 PowerShell 和其他脚本工具的执行限制为仅限必要的用户,并实施最小特权策略,以防止恶意软件提升特权并执行恶意操作。
  • 经常对计划任务进行审核,以识别任何异常或未经授权的任务,尤其是涉及 rundll32.exe 的任务。确保只有受信任的应用程序才允许创建或执行计划任务。
  • 实施基于行为的检测系统,可以识别恶意行为,例如频繁尝试联系 C&C 服务器或传输意外的加密数据。
  • 实施明确的事件响应计划,并制定明确的步骤来处理潜在的 APT 入侵。该计划应包括快速识别、遏制和从检测到的任何恶意活动中恢复。
  • 定期对员工进行网络安全意识培训,重点识别网络钓鱼电子邮件和处理可疑附件,以降低初始感染的风险。

MITRE ATT&CK®

Tactic Technique Procedure
Initial Access (TA0001) Phishing (T1566) This campaign is likely to reach users through spam emails.
Execution (TA0002) Command and Scripting Interpreter: PowerShell (T1059.001) PowerShell commands are used to decrypt and execute the lure RTF file and stager DLL payload.
Execution (TA0002) Command and Scripting Interpreter: Windows Command Shell (T1059.003) Cmd.exe is used to copy PowerShell.exe to the %temp% directory as “2SqSxDA2.exe”.
Defense Evasion (TA0005) System Binary Proxy Execution: Rundll32 (T1218.011) Rundll32.exe is used to execute the stager payload.
Persistence (TA0003) Scheduled Task/Job: Scheduled Task (T1053.005) A scheduled task is created for persistence, running the DLL payload regularly via rundll32.exe.
Defense Evasion (TA0005) Indicator Removal on Host: File Deletion (T1070.004) Temporary PowerShell.exe file (“2SqSxDA2.exe”) is deleted after executing the malicious commands.
Defense Evasion (TA0005) Obfuscated Files or Information (T1027) XOR and AES encryption mechanisms are used in various stages of the attack
Command and Control (TA0011) Application Layer Protocol: Web Protocols (T1071.001) GET and POST requests are sent to the Threat Actor’s C&C server.
Command and Control (TA0011) Remote File Copy (T1105) The additional payload is downloaded from the C&C server using a URL provided in the configuration.
Exfiltration (TA0010) Exfiltration Over C2 Channel (T1041) Extensive system information is collected and exfiltrated to the C&C server via encrypted communication.

IOC

Indicator Indicator Type Comments
cffe7eb01000de809b79a711702eaf3773f2e6167ce440f33f30bcd6fabcace3 SHA-256 Proc list 2024.lnk
a7893c54edaecaa0e56010576a8249ad9149456f5d379868a0ecaa4c5c33fa70 SHA-256 CertPropOrigin.dll
Internalfileserver[.]online domain C&C server

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部按钮