介绍 REF5961 入侵集

REF5961 入侵集公开了三个针对东盟成员国的新型恶意软件家族。利用此入侵集的威胁参与者继续发展和完善其能力。

阅读时间:26 分钟安全研究恶意软件分析
Introducing the REF5961 intrusion set

前言

2023年10月11日更新,包含指向BLOODALCHEMY后门的链接。

Elastic 安全实验室继续监控针对南亚和东南亚政府和跨国政府组织的国家支持活动。我们在复杂的政府环境中观察到一批新的独特功能。此入侵集命名为 REF5961。

在本出版物中,我们将重点介绍恶意软件家族之间的区别,展示与已知威胁的关系,描述其特征,并分享识别或减轻入侵元素的资源。我们的目的是帮助揭露此持续活动,以便社区更好地了解此类威胁。

此研究中的样本被发现与先前报道的入侵集 REF2924 共存(原始报告此处和更新此处)。受害者是东南亚国家联盟 (ASEAN) 成员国的外交部。

由于观察到的目标和利用后收集活动,Elastic 安全实验室将 REF2924 和 REF5961 入侵集的操作者描述为国家支持的和以间谍活动为动机的。此外,我们正在跟踪的多个活动以及众多第三方报告的执行流程、工具、基础设施和受害者情况的相关性使我们确信这是一个与中国相关的参与者。

此入侵集的一部分包括一个名为 BLOODALCHEMY 的新型基于 x86 的后门,此处对其进行了深入介绍此处

关键要点

  • Elastic 安全实验室正在公开三个新的恶意软件家族
    • EAGERBEE
    • RUDEBIRD
    • DOWNTOWN
  • 代码共享和网络基础设施已将此入侵集中的恶意软件与其他活动联系起来
  • 针对东盟政府和组织的威胁参与者继续开发和部署更多功能

EAGERBEE

EAGERBEE 是 Elastic 安全实验室发现的一个新识别出的后门,它使用远程下载的 PE 文件(托管在 C2 中)加载其他功能。但是,其实现和编码实践表明作者缺乏高级技能,依赖于基本技术。

在我们下面概述的研究中,我们确定了与先前归因于被称为LuckyMouse(APT27,EmissaryPanda)的中文系威胁参与者的研究相符的字符串格式和底层行为。

代码分析

EAGERBEE 在运行时动态构建其导入地址表 (IAT),使用恶意软件所需的必要 Windows API 的内存地址填充指定的数据结构。

注意:恶意软件作者使用动态导入表作为反分析技术来损害其二进制文件的静态分析。这些技术阻止大多数静态分析软件确定导入,从而迫使分析人员通过费力的手动方法来确定恶意软件的作用。

在解析所有必需的 Windows API 后,恶意软件使用字符串mstoolFtip32W创建一个互斥锁,以防止多个恶意软件实例在同一台机器上运行。

恶意软件收集有关受感染系统的关键信息

  • 使用GetComputerNameW函数获取计算机名称
  • 恶意软件利用GetVersionExW函数检索 Windows 版本
  • 通过CoCreateGuid函数生成全局唯一标识符 (GUID)
  • 使用GetNativeSystemInfo函数获取处理器体系结构信息
  • 从指定的注册表键SOFTWARE\Microsoft\Windows NT\CurrentVersion中提取 ProductName、EditionID 和 CurrentBuildNumber

样本的操作计划由字符串0-5:00:23;6:00:23;控制。在我们的示例中,恶意软件使用 ISO 8601 24 小时计时系统符合规定的时间表

  • 从星期日 (0) 到星期五 (5) 有效
  • 00 到 23 之间的所有时间
  • 星期六 (6) 00 到 23 之间的所有时间

此功能允许恶意软件在特定时间段内施加自我限制,展示其适应性和控制能力。

恶意软件的 C2 地址是硬编码值或存储在名为c:\users\public\iconcache.mui的 XOR 加密文件中。使用第一个字符作为解密密钥解密此文件。

此配置文件包含以分号分隔的 IP 地址列表。格式符合结构IP:PORT,其中字符s是可选的,并指示恶意软件为 C2 和恶意软件之间的加密通信打开安全套接字层 (SSL)。

配置可以选择接受恶意软件将侦听的端口号列表。反向连接或正向连接的特定配置模式决定了此行为。

配置标志直接嵌入到两种操作模式的代码中。此标志使恶意软件能够在其与 C2 服务器的交互中选择使用 SSL 加密或纯文本通信。

在被动侦听模式下,恶意软件在其配置中指示的端口上打开侦听套接字。

在主动连接模式下,恶意软件尝试从文件c:\users\public\iconcache.mui加载其配置。如果找不到此文件,则恶意软件将回退到其硬编码配置以获取必要的 IP。

作者在源代码中使用了嵌入的全局变量来选择模式。重要的是,两者都包含在二进制文件中,只有一个根据选择执行。将此休眠功能保留在二进制文件中可能是一个错误,但这有助于研究人员了解该组织的技术成熟度。一般来说,恶意软件作者可以通过删除可能被用于对抗他们的未使用代码而获益。

注意:在 C 编程中,模块化是通过使用 #define 指令有选择地包含或排除编译二进制文件中的代码部分来实现的。但是,恶意软件开发人员在此案例中采用了一种不太明智的方法。他们使用了在编译期间设置值的静态全局变量。因此,生成的二进制文件包含已使用和未使用的函数。在运行时,二进制文件评估这些静态全局变量的值以确定其行为。虽然功能齐全,但这既不是最佳的编程方法也不是最佳的工艺方法,因为它允许分析和检测在已识别的入侵之外使用的代码。

该恶意软件能够通过检查Software\Microsoft\windows\CurrentVersion\Internet Settings中的ProxyEnable注册表键来检测主机上是否存在HTTP代理配置。如果此键值设置为1,则恶意软件会提取ProxyServer键中的信息。

如果没有设置代理服务器,恶意软件将直接连接到C2。

但是,如果定义了代理设置,恶意软件还会通过发送CONNECT请求及其数据到配置的目标来初始化代理。恶意软件作者在HTTP请求代码中犯了一个错别字;他们在二进制文件的HTTP请求字符串中错误地写了DONNECT而不是CONNECT。对于那些分析网络捕获的人来说,这是一个可靠的唯一指标。

连接到C2后,恶意软件将从C2下载可执行文件,可能是自动推送的。它会验证每个可执行文件是否是64位的,然后提取入口点并修改内存保护以允许使用VirtualProtect API执行。

EAGERBEE与蒙古活动的相关性

在我们的EAGERBEE分析过程中,我们还发现另外两个(以前未命名的)EAGERBEE样本参与了一个针对蒙古的定向活动。这两个EAGERBEE样本分别与其他文件捆绑在一起,并使用了类似的命名约定(EAGERBEE为iconcache.mui,蒙古活动中为iconcaches.mui)。样本包含多个文件和一个诱饵文档。

在分析蒙古活动样本时,我们发现了一个以前的网页(http://president[.]mn/en/ebooksheets.php),它托管在蒙古基础设施下,并提供了一个名为20220921_2.rarRAR文件。根据文件的VirusTotal扫描日期和文件名,它很可能是在2022年9月创建的。

诱饵文本围绕“十亿棵树国家运动基金”的规定展开,近年来一直是蒙古一项倡议的重要主题。为了解决粮食安全、气候影响和自然发生但正在加速的沙漠化问题,蒙古政府已经制定了一个在全国范围内种植十亿棵树的雄心勃勃的目标。

对于此感染链,他们利用了一个签名的卡巴斯基应用程序来侧载一个恶意DLL。执行后,敏感数据和文件将从计算机收集并通过cURL上传到硬编码的蒙古政府URL(www.president[.]mn/upload.php)。持久性是使用注册表运行键配置的。

注意:虽然它不包含.gov二级域名,但www.president[.]mn似乎是蒙古总统的官方域名,并托管在政府基础设施中。滥用邮箱指向[email protected][.]mn,这似乎是合法的。基于字符串格式和底层行为,此样本与AVAST发布的关于他们称之为DataExtractor1的实用程序的公开报告一致。

虽然我们没有找到其他链接样本的WinRAR存档,但我们找到了这个相关的可执行文件。它的功能类似,使用托管在蒙古基础设施上的不同回调域名(https://intranet.gov[.]mn/upload.php)。

虽然目前尚不清楚此基础设施是如何被破坏的,以及它已被使用到何种程度,但伪装成可信系统可能使威胁能够入侵其他受害者并收集情报。

EAGERBEE 总结

EAGERBEE是一个技术上简单的后门程序,具有前向和反向C2以及SSL加密功能,用于执行基本系统枚举和交付后续的后期利用可执行文件。C2模式在编译时定义,并可通过具有硬编码回退的关联配置文件进行配置。

使用代码重叠分析,以及EAGERBEE与VirusTotal中的其他样本捆绑在一起的事实,我们确定了一个托管在蒙古政府基础设施上的C2服务器。相关的诱饵文档也提到了蒙古政府的政策倡议。这使我们相信蒙古政府或非政府组织(NGO)可能是REF2924威胁参与者攻击的目标。

RUDEBIRD

在有争议的REF2924环境中,Elastic Security Labs发现了一个轻量级的Windows后门程序,它通过HTTPS进行通信,并具有执行侦察和执行代码的功能。我们将此恶意软件家族称为RUDEBIRD。

初始执行

后门程序由一个签名无效的文件C:\Windows\help\RVTDM.exe执行,它类似于Sysinternals屏幕放大实用程序ZoomIt。执行后不久,Elastic Defend注册了一个进程注入警报。

该进程由父进程(w3wp.exe)执行,该进程来自Microsoft Exchange应用程序池。这与未修补的Exchange漏洞的利用情况一致,之前的研究也支持这一假设。

横向移动

RUDEBIRD使用PsExec(exec.exe)以SYSTEM帐户执行自身,然后从受害者0横向移动到另一个目标主机。目前尚不清楚PsExec是由威胁参与者带入环境的,还是环境中已经存在的。

"C:\windows\help\exec.exe" /accepteula \\{victim-1} -d -s C:\windows\debug\RVTDM.EXE

代码分析

RUDEIBIRD由shellcode组成,它通过访问线程环境块(TEB)/进程环境块(PEB)并遍历已加载的模块来查找kernel32.dllntdll.dll模块的基础地址来动态解析导入。这些系统DLL包含恶意软件为了与Windows操作系统交互而将要定位的关键函数。

RUDEBIRD使用简单的API哈希算法进行乘法运算(0x21)和加法运算,该算法来自OALabs的公开可用资源。这可以防御分析人员用来检查导入表并辨别二进制文件具有哪些功能的静态分析工具。

解析库后,有一个初始枚举函数收集多条信息,包括:

  • 主机名
  • 计算机名
  • 用户名
  • IP地址
  • 系统架构
  • 当前用户的权限

对于返回大量数据的某些函数,恶意软件使用RtlCompressBuffer进行压缩。恶意软件使用HTTPS与从其配置中内存中加载的IP地址进行通信。我们在样本中观察到两个IP地址。

  • 45.90.58[.]103
  • 185.195.237[.]123

奇怪的是,程序中的几个函数都包含对OutputDebugStringA的调用。此函数通常在开发阶段使用,作为在测试程序时向调试器发送字符串的机制。通常情况下,这些调试消息在开发完成后会被删除。例如,如果在调试器中运行,则会打印管理员检查的结果。

RUDEBIRD使用互斥锁来维护其整个执行过程中的同步。启动时,互斥锁设置为VV.0

初始枚举阶段之后,RUDEBIRD作为传统后门程序运行,具有以下功能:

  • 检索受害者的桌面目录路径
  • 检索磁盘卷信息
  • 执行文件/目录枚举
  • 执行文件操作,例如读取/写入文件内容
  • 启动新进程
  • 文件/文件夹操作,例如创建新目录、移动/复制/删除/重命名文件
  • 信标超时选项

DOWNTOWN (SManager/PhantomNet)

在 REF2924 环境中,我们观察到一个名为 DOWNTOWN 的模块化植入物。该样本共享插件架构和代码相似性,并与公开报道的恶意软件 SManager/PhantomNet 中描述的受害者情况相符。虽然我们对其整体使用影响的可见性有限,但我们希望分享任何可能帮助社区的细节。

SManager/PhantomNet 已被归咎于 TA428(多彩熊猫,BRONZE DUDLEY),这是一个可能受中国政府资助的威胁参与者。由于共享的插件架构、代码相似性和受害者情况,我们有中等程度的信心将 DOWNTOWN 归咎于一个受国家资助的中国威胁参与者。

代码分析

对于 DOWNTOWN,我们从一个更大的框架中收集了该插件。这一区分是基于ESET先前发布的研究中独特的和共享的导出。其中一个导出包含ESET博客中先前识别出的相同拼写错误,GetPluginInfomation(注意:Infomation 缺少一个 r)。REF2924 的受害者情况与其报告的受害者行业和地区一致。

在我们的样本中,该插件被标记为“ExplorerManager”。

大部分代码似乎集中在中间件功能(链接列表、内存管理和线程同步)上,用于为恶意软件分配任务。

与上面的 RUDEBIRD 类似,DOWNTOWN 也包含使用 OutputDebugStringA 的调试功能。同样,一旦软件从开发阶段转移到生产阶段,通常会删除调试框架。这可能表明该模块仍在积极开发中,或者恶意软件作者缺乏运营审查。

在样本中观察到的一些功能包括:

  • 文件/文件夹枚举
  • 磁盘枚举
  • 文件操作(删除/执行/重命名/复制)

不幸的是,我们的团队没有遇到任何网络/通信功能,也没有找到与该样本相关的任何域名或 IP 地址。

DOWNTOWN 总结

DOWNTOWN 是一个模块化框架的一部分,该框架显示可能与已建立的威胁组织有关。观察到的插件似乎为主要的植入物提供中间件功能,并包含执行枚举的几个函数。

网络基础设施交叉点

在对 EAGERBEE 和 RUDEBIRD 的网络基础设施进行分析时,我们发现这两个恶意软件家族的 C2 基础设施在域名托管提供商、子域名命名、注册日期和服务启用方面存在相似之处。此外,我们能够使用 TLS 叶子证书指纹在 EAGERBEE 和蒙古活动基础设施之间建立另一个连接。

共享网络基础设施

如 EAGERBEE 的恶意软件分析部分所述,有两个用于 C2 的 IP 地址:185.82.217[.]164195.123.245[.]79

在这两个地址中,185.82.217[.]164 的 TLS 证书已过期,注册到 paper.hosted-by-bay[.]netpaper.hosted-by-bay[.]net 的子域名注册和 TLS 证书均于 2020 年 12 月 14 日注册。

如 RUDEBIRD 的恶意软件分析部分所述,有两个用于 C2 的 IP 地址:45.90.58[.]103185.195.237[.]123

45.90.58[.]103 用于注册子域名 news.hosted-by-bay[.]net,时间为 2020 年 12 月 13 日。

这两个 IP 地址(一个来自 EAGERBEE,一个来自 RUDEBIRD)都被分配到同一个域名 hosted-by-bay[.]net 下的子域名(paper.hosted-by-bay[.]netnews.hosted-by-bay[.]net),注册时间相隔一天。

注意:虽然 195.123.245[.]79(EAGERBEE)和 185.195.237[.]123(RUDEBIRD)是恶意的,但我们无法识别出与普通 C2 节点有任何异常之处。它们使用了与 185.82.217[.]164(EAGERBEE)和 45.90.58[.]103(RUDEBIRD)相同的防御规避技术(如下所述)。

域名分析

在对 hosted-by-bay[.]net 域名进行分析时,我们发现它注册到 IP 地址 45.133.194[.]106。此 IP 地址公开了两个 TCP 端口,一个是预期的 TLS 端口 443,另一个是 62753

注意:端口 443 有一个 Let’s Encrypt TLS 证书,用于 paypal.goodspaypal[.]com。此域名似乎与本研究无关,但应根据其注册到此 IP 的情况将其归类为恶意域名。

在端口 62753 上,有一个自签名的通配符 TLS 叶子证书,其指纹为 d218680140ad2c6e947bf16020c0d36d3216f6fc7370c366ebe841c02d889a59*.REDACTED[.]mn)。此指纹用于一个主机,shop.REDACTED[.]mn。此 10 年有效期的 TLS 证书于 2020 年 12 月 13 日注册。

Validity
Not Before: 2020-12-13 11:53:20
Not After: 2030-12-11 11:53:20
Subject: CN=shop.REDACTED[.]mn

.mn 是蒙古的互联网 ccTLD,REDACTED 是蒙古的一家大型银行。在研究 REDACTED 的网络基础设施时,我们可以看到他们目前确实拥有自己的 DNS 基础设施。

似乎 shop.REDACTED[.]mn 从未注册过。此自签名 TLS 证书可能用于加密 C2 流量。虽然我们无法确认此证书是否用于 EAGERBEE 或 RUDEBIRD,但在 EAGERBEE 和 RUDEBIRD 的恶意软件代码分析中,我们发现对 IP 地址使用 TLS 是可用的恶意软件配置选项。我们确实认为此域名与 EAGERBEE 和 RUDEBIRD 相关,这基于 hosted-by-bay[.]net 域名的注册日期、IP 地址和子域名。

正如 EAGERBEE 恶意软件分析中所指出的,我们确定了另外两个以前未命名的 EAGERBEE 样本,用于针对蒙古受害者,并利用蒙古 C2 基础设施。

防御规避

最后,我们看到所有 C2 IP 地址都在相似的日期和时间添加和删除服务。这是一种通过限制可用性来阻碍对 C2 基础设施分析的策略。需要注意的是,服务启用和禁用的历史记录(由 Censys.io 数据库提供)旨在显示 C2 可用性方面的可能协调。下面的图片显示了最后一次服务变更窗口,没有其他历史数据可用。

192.123.245[.]79 在 2023 年 9 月 22 日 07:31 启用了 TCP 端口 80,然后在 2023 年 9 月 24 日 07:42 禁用。

185.195.237[.]123 在 2023 年 9 月 22 日 03:33 启用了 TCP 端口 443,然后在 2023 年 9 月 25 日 08:08 禁用。

185.82.217[.]164 在 2023 年 9 月 22 日 08:49 启用了 TCP 端口 443,然后在 2023 年 9 月 25 日 01:02 禁用。

45.90.58[.]103 在 2023 年 9 月 22 日 04:46 启用了 TCP 端口 443,然后在 2023 年 9 月 24 日 09:57 禁用。

网络交叉点总结

EAGERBEE 和 RUDEBIRD 是两个恶意软件样本,它们驻留在同一受感染端点上的同一环境中。仅此一点就建立了这两个家族之间的密切联系。

此外,这两个家族都使用 C2 端点注册同一域名 hosted-by-bay[.]net 上的子域名,并且服务可用性协调一致,这使我们高度确信恶意软件和活动操作者来自同一任务授权机构或组织保护伞。

总结

EAGERBEE、RUDEBIRD 和 DOWNTOWN 后门都表现出不完整性的特征,例如在文件/服务名称中使用“Test”,忽略编译最佳实践,留下孤立代码或留下一些多余的调试语句。

然而,它们都在此环境中提供类似的战术能力。

  • 本地枚举
  • 持久性
  • 下载/执行附加工具
  • C2 选项

执行相同或相似任务的各种工具,其错误程度和类型各不相同,这使我们推测此环境吸引了 REF2924 威胁参与者组织中多个参与者的兴趣。受害者作为政府外交机构的地位使其成为进入该机构国内外其他目标的理想起点。此外,很容易想象国家情报机构内的多个实体都可能有直接通过此受害者满足的收集要求。

此环境中已出现 REF2924 入侵攻击组(SIESTAGRAPH、NAPLISTENER、SOMNIRECORD 和 DOORME),并且已部署 SHADOWPAD 和 COBALTSTRIKE。REF2924 和 REF5961 威胁参与者(们)继续将其新的恶意软件部署到其政府受害者的环境中。

REF5961 和 MITRE ATT&CK

Elastic 使用MITRE ATT&CK 框架来记录针对企业网络的持久性威胁常用的常见策略、技术和流程。

策略

策略代表技术的“为什么”或子技术的“为什么”。它是对手的战术目标:执行操作的原因。

技术

技术代表对手如何通过执行操作来实现战术目标。

恶意软件防护功能

YARA

Elastic Security 已创建 YARA 规则来识别此活动。以下是用于识别 EAGERBEE、RUDEBIRD 和 DOWNTOWN 恶意软件的 YARA 规则。

EAGERBEE

rule Windows_Trojan_EagerBee_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-05-09"
        last_modified = "2023-06-13"
        threat_name = "Windows.Trojan.EagerBee"
        reference_sample = "09005775fc587ac7bf150c05352e59dc01008b7bf8c1d870d1cea87561aa0b06"
        license = "Elastic License v2"
        os = "windows"

    strings:
        $a1 = { C2 EB D6 0F B7 C2 48 8D 0C 80 41 8B 44 CB 14 41 2B 44 CB 0C 41 }
        $a2 = { C8 75 04 33 C0 EB 7C 48 63 41 3C 8B 94 08 88 00 00 00 48 03 D1 8B }

    condition:
        all of them
}

rule Windows_Trojan_EagerBee_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-09-04"
        last_modified = "2023-09-20"
        threat_name = "Windows.Trojan.EagerBee"
        reference_sample = "339e4fdbccb65b0b06a1421c719300a8da844789a2016d58e8ce4227cb5dc91b"
        license = "Elastic License v2"
        os = "windows"

    strings:
        $dexor_config_file = { 48 FF C0 8D 51 FF 44 30 00 49 03 C4 49 2B D4 ?? ?? 48 8D 4F 01 48 }
        $parse_config = { 80 7C 14 20 3A ?? ?? ?? ?? ?? ?? 45 03 C4 49 03 D4 49 63 C0 48 3B C1 }
        $parse_proxy1 = { 44 88 7C 24 31 44 88 7C 24 32 48 F7 D1 C6 44 24 33 70 C6 44 24 34 3D 88 5C 24 35 48 83 F9 01 }
        $parse_proxy2 = { 33 C0 48 8D BC 24 F0 00 00 00 49 8B CE F2 AE 8B D3 48 F7 D1 48 83 E9 01 48 8B F9 }

    condition:
        2 of them
}

RUDEBIRD

rule Windows_Trojan_RudeBird {
    meta:
        author = "Elastic Security"
        creation_date = "2023-05-09"
        last_modified = "2023-06-13"
        threat_name = "Windows.Trojan.RudeBird"
        license = "Elastic License v2"
        os = "windows"

  strings:
        $a1 = { 40 53 48 83 EC 20 48 8B D9 B9 D8 00 00 00 E8 FD C1 FF FF 48 8B C8 33 C0 48 85 C9 74 05 E8 3A F2 }

    condition:
        all of them
}

DOWNTOWN

rule Windows_Trojan_DownTown_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-05-10"
        last_modified = "2023-06-13"
        threat_name = "Windows.Trojan.DownTown"
        license = "Elastic License v2"
        os = "windows"

    strings:
        $a1 = "SendFileBuffer error -1 !!!" fullword
        $a2 = "ScheduledDownloadTasks CODE_FILE_VIEW " fullword
        $a3 = "ExplorerManagerC.dll" fullword

    condition:
        3 of them
}

rule Windows_Trojan_DownTown_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2023-08-23"
        last_modified = "2023-09-20"
        threat_name = "Windows.Trojan.DownTown"
        license = "Elastic License v2"
        os = "windows"

    strings:
        $a1 = "DeletePluginObject"
        $a2 = "GetPluginInfomation"
        $a3 = "GetPluginObject"
        $a4 = "GetRegisterCode"

    condition:
        all of them
}

观察结果

所有可观察项也可以以 ECS 和 STIX 格式下载

本研究中讨论了以下可观察项。

可观察项类型名称参考
ce4dfda471f2d3fa4e000f9e3839c3d9fbf2d93ea7f89101161ce97faceadf9aSHA-256EAGERBEE shellcodeiconcaches.mui
29c90ac124b898b2ff2a4897921d5f5cc251396e8176fc8d6fa475df89d9274dSHA-256DOWNTOWN内存中 DLL
185.82.217[.]164ipv4EAGERBEE C2
195.123.245[.]79ipv4EAGERBEE C2
45.90.58[.]103ipv4RUDEBIRD C2
185.195.237[.]123ipv4RUDEBIRD C2

参考文献

上述研究中参考了以下内容: