Salim Bitam

花招与款待:GHOSTPULSE 的新型像素级欺骗

更新后的 GHOSTPULSE 恶意软件已演变为直接在像素结构中嵌入恶意数据,使其更难以检测,并需要新的分析和检测技术。

阅读时长 13 分钟恶意软件分析
Tricks and Treats: GHOSTPULSE’s new pixel-level deception

更新

本研究涵盖了 GHOSTPULSE 第二阶段的更新,该阶段最初由 Elastic Security Labs 于 2023 年 10 月披露

要点

  1. GHOSTPULSE 已从使用 PNG 文件的 IDAT 数据块转变为将其加密的配置和有效载荷嵌入到像素结构中。
  2. 最近的活动包括使用创造性的社会工程技术来欺骗受害者,例如通过 Windows 键盘快捷键触发恶意命令的 CAPTCHA 验证。
  3. Elastic Security 已增强其 YARA 规则,并更新了配置提取工具,以检测和分析新旧版本的 GHOSTPULSE。

序言

自 2023 年发现以来,GHOSTPULSE 恶意软件家族(也称为 HIJACKLOADER 或 IDATLOADER)不断发展,并使用不断发展的技术来逃避检测。

在其早期版本中,GHOSTPULSE 滥用 PNG 文件的 IDAT 数据块来隐藏恶意载荷,如 Elastic Security Labs 的先前文章中所详述。然而,最近的分析揭示了其算法的重大变化。最新版本的 GHOSTPULSE 不再从 IDAT 数据块中提取有效载荷,而是解析图像的像素来检索其配置和有效载荷。这种新方法涉及直接在像素结构中嵌入恶意数据。

在本研究出版物中,我们将探讨这种新的基于像素的算法,并将其与之前的 IDAT 数据块技术进行比较,同时更新检测规则。

简介

最近,我们观察到一些活动,其中 LUMMA STEALER 使用 GHOSTPULSE 作为其加载器,HarfangLab 也探讨了这一主题。这些活动因其创造性的社会工程策略而脱颖而出。受害者被诱骗验证 CAPTCHA,但该网站指示他们执行一系列 Windows 键盘快捷键,而不是通常的过程。这些快捷键会触发恶意 JavaScript 复制到剪贴板的命令。这会导致执行 PowerShell 脚本,从而通过下载并执行 GHOSTPULSE 有效载荷来启动感染链。

在以前版本的 GHOSTPULSE 中,它是作为多文件包的一部分交付的。该包通常包含一个良性可执行文件、一个由可执行文件加载的受感染 DLL 和一个存储加密配置的 PNG 文件。

但是,在最新版本中,GHOSTPULSE 简化了其部署。现在,整个包由单个文件组成,这是一个良性的但受损的可执行文件,其中包含其资源部分内的 PNG 文件。

技术分析

更新后的恶意软件第二阶段保留了其以前的大部分结构,包括使用相同的哈希算法来解析 Windows API 名称。然而,最重要的变化在于恶意软件现在如何定位其配置,其中包含有效载荷及其部署的关键指令。

以下是显示两种实现方式伪代码的屏幕截图

在早期版本中,GHOSTPULSE 会解析 PNG 文件以获取加密的数据 blob,该数据 blob 被分成多个数据块并按顺序存储。恶意软件的解析过程很简单:它会在文件中搜索特定的标记(在本例中为 IDAT 字符串)。找到后,恶意软件会检查该字符串后面的 4 字节标记。如果此标记与预期值匹配,则会提取加密的数据块。此过程会为每个 IDAT 字符串出现后继续,直到收集到完整的加密有效载荷。

在新版本中,加密的配置存储在图像的像素中。恶意软件使用 GdiPlus(GDI+) 库中的标准 Windows API 顺序提取每个像素的 REDGREENBLUE (RGB) 值来构建字节数组。构建字节数组后,恶意软件会搜索包含加密 GHOSTPULSE 配置(包括解密所需的 XOR 密钥)的结构的开头。它通过以 16 字节块循环遍历字节数组来实现这一点。对于每个块,前 4 个字节表示 CRC32 哈希,后 12 个字节是要哈希的数据。恶意软件计算 12 个字节的 CRC32,并检查它是否与哈希匹配。如果找到匹配项,它会提取加密的 GHOSTPULSE 配置的偏移量、大小和 4 字节 XOR 密钥,然后使用 XOR 解密它。

下图提供了此过程的可视分解

更新的配置提取工具

根据这些发现,我们已更新配置提取工具以支持 GHOSTPULSE 的两个版本。该工具将 PNG 文件作为输入,并输出嵌入的有效载荷。您可以在我们的labs-releases 存储库中找到更新后的工具。

使用 YARA 检测 GHOSTPULSE

最初的 GHOSTPULSE YARA 规则仍然可以阻止感染的最后阶段,并已构建到 Elastic Defend 中。可以使用以下 YARA 规则检测更新后的样本,该规则将在未来的版本中包含在 Elastic Defend 中。

Elastic Security 已更新 GHOSTPULSE YARA 规则,以识别此活动

rule Windows_Trojan_GHOSTPULSE_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2024-10-15"
        last_modified = "2024-10-15"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "GHOSTPULSE"
        threat_name = "Windows.Trojan.GHOSTPULSE"
        license = "Elastic License v2"

    strings:
        $stage_1 = { 49 63 D0 42 8B 0C 0A 41 03 CA 89 0C 1A 8B 05 ?? ?? ?? ?? 44 03 C0 8B 05 ?? ?? ?? ?? 44 3B C0 }
        $stage_2 = { 48 89 01 48 8B 84 24 D8 00 00 00 48 8B 4C 24 78 8B 49 0C 89 08 C7 44 24 44 00 00 00 00 }

    condition:
        any of them
}

rule Windows_Trojan_GHOSTPULSE_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2024-10-10"
        last_modified = "2024-10-10"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "GHOSTPULSE"
        threat_name = "Windows.Trojan.GHOSTPULSE"
        license = "Elastic License v2"

    strings:
        $a1 = { 48 83 EC 18 C7 04 24 00 00 00 00 8B 04 24 48 8B 4C 24 20 0F B7 04 41 85 C0 74 0A 8B 04 24 FF C0 89 04 24 EB E6 C7 44 24 08 00 00 00 00 8B 04 24 FF C8 8B C0 48 8B 4C 24 20 0F B7 04 41 83 F8 5C }

    condition:
        all of them
}

结论

总而言之,GHOSTPULSE 恶意软件家族自 2023 年发布以来不断发展,最近的这次更新标志着最重大的变化之一。

随着攻击者不断创新,防御者必须通过使用更新的工具和技术来适应,以有效缓解这些威胁。我们很高兴分享我们新开发的配置提取工具,该工具旨在分析旧版本和新版本的 GHOSTPULSE。该工具通过提供增强的理解和打击这些不断演变的威胁的能力,从而为研究人员和网络安全专业人员赋能。随着网络威胁形势的变化,协作和创新仍然是有效保护的关键。

观察

所有可观察对象也可在 下载中以 ECS 和 STIX 格式提供。

本研究讨论了以下可观察对象。

可观察对象类型名称参考
57ebf79c384366162cb0f13de0de4fc1300ebb733584e2d8887505f22f877077SHA-256Setup.exeGHOSTPULSE 样本
b54d9db283e6c958697bfc4f97a5dd0ba585bc1d05267569264a2d700f0799aeSHA-256Setup_light.exeGHOSTPULSE 样本
winrar01.b-cdn[.]net域名托管 GHOSTPULSE 样本的基础设施
reinforcenh[.]shop域名LUMMASTEALER C2
stogeneratmns[.]shop域名LUMMASTEALER C2
fragnantbui[.]shop域名LUMMASTEALER C2
drawzhotdog[.]shop域名LUMMASTEALER C2
vozmeatillu[.]shop域名LUMMASTEALER C2
offensivedzvju[.]shop域名LUMMASTEALER C2
ghostreedmnu[.]shop域名LUMMASTEALER C2
gutterydhowi[.]shop域名LUMMASTEALER C2
riderratttinow[.]shop域名LUMMASTEALER C2