Salim BitamDaniel Stepanic

重访 BLISTER:BLISTER 加载程序的新发展

Elastic 安全实验室深入探讨了 BLISTER 加载程序恶意软件家族的最新演变。

9分钟阅读恶意软件分析
Revisiting BLISTER: New development of the BLISTER loader

前言

在网络犯罪威胁瞬息万变的世界中,恶意行为者的韧性和适应性是一个重大的担忧。BLISTER 是一种恶意软件加载程序,最初由 Elastic 安全实验室于 2021 年发现,并与经济动机的入侵相关,它证明了这一趋势,因为它不断发展新的功能。在其最初发现两年后,BLISTER 继续获得更新,同时避开雷达,作为新兴威胁势头增强。Palo Alto 的 Unit 42 的最新发现描述了一个更新的SOCGHOLISH感染链,用于分发 BLISTER 并部署来自 MYTHIC 的有效负载,MYTHIC 是一个开源的命令和控制 (C2) 框架。

关键要点

  • Elastic 安全实验室一直在监控恶意软件加载程序 BLISTER,它正在随着新的变化而升级,并且持续发展,并有即将发生的威胁活动的迹象。
  • 新的 BLISTER 更新包括密钥功能,允许精确定位受害者网络,并降低 VM/沙箱环境中的暴露风险。
  • BLISTER 现在集成了删除任何进程检测挂钩的技术,并修改了其配置,包含多个修订版本,现在包含其他字段和标志。

概述

我们的研究发现了 BLISTER 家族之前不存在的新功能,表明正在进行开发。但是,恶意软件作者继续使用一种独特的技术,将恶意代码嵌入到原本合法的应用程序中。这种方法表面上看起来很成功,因为许多供应商的检测率很低,如 VirusTotal 中所示。大量良性代码和使用加密保护恶意代码可能是影响检测的两个因素。

最近,Elastic 安全实验室观察到许多新的 BLISTER 加载程序出现在网络中。在分析了各种样本之后,很明显恶意软件作者做了一些更改,并且一直在密切关注反病毒行业。在一个来自 6 月初的样本中,我们可以推断作者正在使用非生产加载程序进行测试,该加载程序显示了一个显示字符串“Test”的消息框。

读者可以在下面看到此功能的反汇编视图。

到 7 月底,我们观察到一些活动涉及一个新的 BLISTER 加载程序,该加载程序针对受害者组织以部署 MYTHIC 植入程序。

在撰写本文时,Elastic 安全实验室正在看到一系列 BLISTER 样本,这些样本部署了 MYTHIC,并且检测率非常低。

比较分析

走私恶意代码

BLISTER 背后的作者采用了将 BLISTER 的恶意代码嵌入到合法库中的策略。此加载程序的最新变体已将目标锁定在 VLC 媒体播放器库上,以将其恶意软件带入受害者环境。这种良性和恶意代码的混合似乎可以有效地击败某些类型的机器学习模型。

以下是合法 VLC DLL 与感染了 BLISTER 代码的 DLL 之间的比较。在受感染的样本中,引用恶意代码的入口点已用红色标出。此方法类似于以前的 BLISTER 变体。

不同的哈希算法

自我们上次撰写以来实施的一项更改是采用了不同的哈希算法,该算法用于 BLISTER 的核心和加载程序部分。虽然以前的版本使用简单的逻辑来移位字节,但此新版本包含一个使用异或和乘法运算的硬编码种子。研究人员推测,更改哈希方法有助于逃避依赖 YARA 签名的反恶意软件产品。

配置检索

在 BLISTER 加载程序解密恶意代码后,它使用相同的方法扫描内存以识别配置数据块。这是通过搜索预定的硬编码内存模式来完成的。与 BLISTER 的早期版本相比,一个显著的差异在于配置现在与核心代码一起解密,而不是作为单独的实体处理。

环境密钥

BLISTER 最近增加的功能是能够仅在指定的机器上执行。此行为通过在恶意软件的配置中配置相应的标志来激活。随后,恶意软件继续使用 GetComputerNameExW Windows API 提取机器的域名。在此之后,使用前面提到的算法对域名进行哈希处理,然后将生成的哈希与配置中存在的哈希进行比较。此功能可能是为了进行目标攻击或测试场景而部署的,以确保恶意软件避免感染意外的系统,例如恶意软件研究人员使用的系统。

能够快速揭示此行为的少数恶意软件分析工具之一是 hasherezade 的出色工具 Tiny Tracer。我们在下面包含了 Tiny_Tracer 的摘录,该摘录捕获了 BLISTER 进程在沙箱分析 VM 中执行 GetComputerNameExW 验证后立即终止。

基于时间的反调试功能

与前身类似,恶意软件包含基于时间的反调试功能。但是,与以前版本中计时器是硬编码不同,更新版本在配置中引入了新字段。此字段允许自定义睡眠计时器,默认值为 10 分钟。此默认间隔与 BLISTER 的先前迭代保持不变。

取消挂钩进程检测以检测系统调用

在此最新版本中,BLISTER 引入了值得注意的功能:它取消挂钩任何正在进行的进程检测,这是一种旨在规避某些 EDR 解决方案所基于的用户态系统调用检测机制的策略

BLISTER 的配置

BLISTER 配置结构也已随着最新版本而更改。添加了两个新字段,偏移量为 0 的标志字段已从 WORD 值更改为 DWORD 值。新字段分别与环境密钥的域哈希和可配置的睡眠时间相关;这些字段值分别位于偏移量 4 和 12 处。以下是更新后的配置结构

配置标志也进行了更改,允许操作员激活恶意软件中的不同功能。研究人员根据我们之前对 BLISTER 的研究提供了一个更新的功能列表。

有效负载提取器更新

在我们之前的研究出版物中,我们介绍了一个高效的有效负载提取器,用于剖析和提取加载程序的配置和有效负载。为了剖析最新的 BLISTER 变体并捕获这些新细节,我们增强了我们的提取器,此处提供。

结论

BLISTER是全球网络犯罪生态系统中的一小部分,它提供经济动机的威胁,以获取受害者环境的访问权限并避免安全传感器的检测。社区应考虑这些新发展并评估 BLISTER 检测的有效性,Elastic 安全实验室将继续监控此威胁并分享可操作的指导。

检测逻辑

预防

检测

YARA

Elastic Security 创建了YARA 规则来识别此活动。以下是捕获 BLISTER 更新的最新规则。

rule Windows_Trojan_Blister {
    meta:
        author = "Elastic Security"
        creation_date = "2023-08-02"
        last_modified = "2023-08-08"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "Blister"
        threat_name = "Windows.Trojan.Blister"
        license = "Elastic License v2"
    strings:
        $b_loader_xor = { 48 8B C3 49 03 DC 83 E0 03 8A 44 05 48 [2-3] ?? 03 ?? 4D 2B ?? 75 }
        $b_loader_virtual_protect = { 48 8D 45 50 41 ?? ?? ?? ?? 00 4C 8D ?? 04 4C 89 ?? ?? 41 B9 04 00 00 00 4C 89 ?? F0 4C 8D 45 58 48 89 44 24 20 48 8D 55 F0 }
    condition:
        all of them
}

观察到的对手战术和技术

Elastic 使用 MITRE ATT&CK 框架记录高级持续性威胁 (APT) 对企业网络使用的常见战术、技术和流程。

战术

战术代表了某种技术或子技术的“为什么”。它是攻击者的战术目标:执行操作的原因。

技术/子技术

技术和子技术代表了攻击者如何通过执行操作来实现战术目标。

参考文献

以下内容在上述研究中被引用

可观测数据

所有可观测数据均可从 此处下载,以 ECS 和 STIX 格式打包在一起。

本研究讨论了以下可观测数据。

指标类型参考
5fc79a4499bafa3a881778ef51ce29ef015ee58a587e3614702e69da304395dbsha256BLISTER 加载程序 DLL