东欧

俄罗斯APT组织Earth Kasha利用ANEL后门针对日本发起钓鱼攻击

根据趋势科技的研究,自 2024 年 6 月左右以来,针对日本个人和组织的新鱼叉式网络钓鱼活动一直在进行。此次活动的一个有趣方面是名为 ANEL 的后门的回归,该后门在 2018 年左右被 APT10 用于针对日本的活动,此后再未被发现。此外,已知由 Earth Kasha 使用的 NOOPDOOR 已被确认在同一活动中使用。基于这些发现,我们评估此次活动是 Earth Kasha 新行动的一部分。

活动详情

该活动于 2024 年 6 月左右观察到,归因于 Earth Kasha,它使用鱼叉式网络钓鱼电子邮件进行初始访问。具体目标包括隶属于政治组织、研究机构、智库和国际关系相关组织的个人。2023 年,Earth Kasha 主要试图利用边缘设备的漏洞进行入侵, 但这次新的活动表明他们再次改变了 TTP。这种转变似乎是由目标变化推动的,从企业转向个人。此外,对受害者资料和分布式诱饵文件名称的分析表明,对手对与日本国家安全和国际关系相关的主题特别感兴趣。

1

图 1. 地球卡莎战役简要时间表

此次活动中使用的鱼叉式网络钓鱼电子邮件要么来自免费电子邮件帐户,要么来自受感染的帐户。这些电子邮件包含指向 OneDrive 的 URL 链接。它们包括一条日语消息,鼓励收件人下载 ZIP 文件。以下是观察到的一些潜在电子邮件主题,可能是为了吸引目标收件人的兴趣而精心设计的:

  • 取材申请书(面试申请表)
  • 米中の轨迹から考える日本の経済安全(当前美中关系下的日本经济安全)
  • [官公庁・公的机关一覧]([政府及公共机构一览表])

作为感染媒介的ZIP文件中的文件根据时期和目标的不同而变化。

情况 1:启用宏的文档

最简单的情况是涉及嵌入宏的文档。当文档打开并用户启用宏时,感染就开始了。此文档文件是一个恶意植入程序,我们将其命名为 ROAMINGMOUSE。如后所述,ROAMINGMOUSE 可以提取并执行嵌入的 ANEL 相关组件(合法 EXE、ANELLDR 和加密 ANEL)。在此过程中观察到两种模式:一种是植入 ZIP 文件然后提取,而另一种是直接植入组件。

2

图2. Case 1的执行流程

案例 2:快捷方式 + SFX + 启用宏的模板文档

在其他情况下,ZIP 文件并不直接包含 ROAMINGMOUSE。相反,它包含一个快捷方式文件和一个通过更改图标和扩展名伪装成文档的 SFX(自解压)文件。

案例2的执行流程

图3. 案例2的执行流程

当打开快捷方式文件时,它会以 .docx 文件的形式执行同一目录中的 SFX 文件。

4

图 4. 执行另一个文件的快捷方式文件

SFX 文件将两个文档文件放入 %APPDATA%\Microsoft\Templates 文件夹中。其中一个文件是无害的诱饵文档,而另一个名为“normal_.dotm”的文件包含一个名为 ROAMINGMOUSE 的宏。打开诱饵文档时,ROAMINGMOUSE 会自动加载为 Word 模板文件。执行后 ROAMINGMOUSE 的行为与案例 1 中观察到的行为相同。

案例三:快捷方式 + CAB + 启用宏的模板文档

我们还观察到了与案例 2 类似的情况,其中快捷方式文件执行 PowerShell,然后释放嵌入的 CAB 文件。

案例3的执行流程

图5. 案例3的执行流程

在本例中,快捷方式文件包含一个 PowerShell 单行脚本,如下图所示。此脚本会删除并提取快捷方式文件中特定偏移处嵌入的 CAB 文件,并执行诱饵文件。诱饵文件随后自动加载 ROAMINGMOUSE 作为模板文件,其过程与案例 2 中相同。

6

图 6. 快捷方式文件中的 PowerShell oneliner
7

图 7. 快捷方式文件中嵌入的 CAB 文件

初始访问时的恶意软件

漫游鼠

我们为此次攻击活动的初始访问创建的启用宏的文档名为“ROAMINGMOUSE”。此文档充当与 ANEL 相关的组件的投放器。ROAMINGMOUSE 的主要作用是执行后续的 ANEL 有效载荷,同时最大限度地降低被发现的可能性。为了实现这一点,它实施了各种规避技术。

(基础)沙盒逃避

案例 1 中引入的 ROAMINGMOUSE 变体要求用户启用宏。此变体包含一项功能,可根据用户进行的特定鼠标移动来启动恶意活动。此功能通过实现一个响应“MouseMove”事件的函数来实现,该事件在鼠标悬停在嵌入文档的用户表单上时触发。

8

图8. 正确移动鼠标就会触发恶意程序。

此功能可确保除非发生特定用户交互,否则恶意活动不会开始,这很可能是作为一种沙盒规避技术实现的。然而,值得注意的是,近年来许多商业和开源沙盒已经解决了此类沙盒规避技术,使其效率降低。

自定义 Base64 编码的有效负载

是否将其归类为逃避技术尚有争议,但不可否认的是,这是 ROAMINGMOUSE 的独特功能之一。案例 1 中的模式 1 就采用了这种技术。ROAMINGMOUSE 嵌入了包含 ANEL 相关组件的 ZIP 文件,方法是将其以 Base64 编码并拆分为三部分,其中一部分使用自定义 Base64 编码表进行编码。然后将 ZIP 文件中的文件提取到特定路径。

9

图 9. ROAMINGMOUSE 中嵌入的部分自定义 Base64 编码数据

这种技术可能会减慢分析速度,但它也可能是一种逃避技术,可以针对自动解码 VBA 中嵌入的 Base64 的现代工具。此类工具最近变得越来越普遍,使其成为一种潜在的对策。

十六进制编码的有效载荷

在某些情况下,例如案例 1 和模式 2,我们观察到 ANEL 相关组件被直接删除的情况,而没有通过 Base64 编码的 ZIP 文件进行处理。在这些情况下,每个组件都以十六进制编码字符串的形式嵌入到 VBA 代码中。

10

图 10. ROAMINGMOUSE 中嵌入的十六进制编码有效载荷

通过 WMI 执行

被删除的文件包括以下与 ANEL 相关的组件:

  1. ScnCfg32.Exe:一个合法应用程序,通过 DLL 侧加载加载同一目录中的 DLL。
  2. vsodscpl.dll:ANELLDR 加载器。
  3. <RANDOM>:加密的 ANEL。

ROAMINGMOUSE 通过运行合法应用程序“ScnCfg32.exe”来执行 ANEL,该应用程序通过 DLL 侧加载加载恶意 DLL“vsodscpl.dll”。在此过程中,它使用 WMI 以“ScnCfg32.Exe”作为参数执行“explorer.exe”。

11

图 11. 通过 WMI 执行程序

这种方法旨在避免被安全产品检测到,当直接从文档文件(例如 Word 文档)执行时,安全产品更有可能标记“cmd.exe”之类的进程。通过绕过“cmd.exe”并通过 WMI 运行该程序,他们试图逃避这些检测机制。

ANELLDR

我们一直在跟踪用于在内存中执行 ANEL 的唯一加载器,我们将其命名为 ANELLDR。早在 2018 年,人们就观察到了 ANELLDR。就其功能而言,此次活动中使用的版本与 2018 年使用的版本相同。除了核心功能之外,ANELLDR 还以使用垃圾代码插入、控制流平坦化 (CFF) 和混合布尔算术 (MBA) 等反分析技术而闻名。此次活动中观察到的 ANELLDR 也实现了相同的技术。

12

图12. 重复插入的垃圾代码
13

图 13. CFF 混淆的函数
14

图 14. MBA 将简单 XOR 指令转换为复杂指令。

尽管有一些关于 ANELLDR 的公开信息,但仍需要提供其行为的详尽描述。我们将详细解释加载器的功能。

ANELLDR 通过合法应用程序的 DLL 侧载激活,开始其恶意活动。执行后,它会枚举当前目录中的文件以搜索加密的有效负载文件。值得注意的是,ANELLDR 的解密逻辑在初始执行和后续执行之间有所不同。

在初始执行期间,ANELLDR 会计算目标文件最后四个字节以及文件大小减去 0x34 字节的数据的 Adler-32 校验和(其中 0x34 字节占 AES 材料的 0x30 字节和校验和的 0x4 字节,稍后解释)。然后,它会比较校验和以检查目标文件是否是预期的加密文件。如果同一级别存在目录,它会递归处理该目录中的文件。

一旦文件通过验证,解密过程就开始了。为此,文件的最后 0x30 字节被分成两部分:前 0x20 字节用作 AES 密钥,其余 0x10 字节用作 AES IV。然后,ANELLDR 使用 AES-256-CBC 解密加密数据(最大为文件大小减去 0x34 字节)并在内存中执行有效载荷。

15

图15. ANELLDR的执行流程

一旦 ANELLDR 成功解密加密的有效载荷,它就会更新密钥和 IV,使用 AES-256-CBC 重新加密有效载荷,并用新加密的数据覆盖原始加密的有效载荷文件。此过程中使用的 AES 密钥和 IV 是根据执行文件的文件路径和硬编码字符串生成的。这涉及使用自定义 Base64 编码、Blowfish 加密算法和 XOR 运算,以确保密钥和 IV 对于运行环境是唯一的。由于用于加密的 AES 密钥和 IV 未嵌入文件中,因此您必须知道最初存储有效载荷的确切文件路径,才能解密从受感染环境中获取的加密有效载荷文件。

16

图 16. 重新加密的有效载荷 blob 的文件结构

第二阶段 shellcode

解密的数据由 shellcode 组成并在内存中执行。此第二阶段 shellcode 负责在内存中加载和执行最终的有效载荷 DLL。首先,第二阶段 shellcode 尝试通过调用 ZwSetInformationThread API 并将第二个参数设置为ThreadHideFromDebugger (0x11)来逃避调试。接下来,它检索加密数据的地址。为此,它调用一个填充了 NOP 指令的独特函数来获取内存中的当前地址。获得此地址后,它会计算加密的有效载荷相关数据的位置,该位置位于此函数之后。

17

图 17. 充满 NOP 指令的独特函数

加密数据部分的结构格式如下:

18

图 18. 加密数据部分的结构

ANELLDR 使用 16 字节 XOR 密钥对后续加密数据进行解码。此过程的一个显著特点是加密数据的每个字节都与整个 16 字节密钥进行 XOR 运算。换句话说,该算法对每个数据字节进行 16 次 XOR 运算,每次运算使用不同的密钥字节。

19

图 19. 使用 XOR 16 次的独特算法

经过异或运算后,使用 Lempel–Ziv–Oberhumer (LZO) 数据压缩算法对数据进行解压缩。此外,计算并比较有效载荷 DLL 的前 4 个字节和 Adler-32 校验和,以验证数据是否已正确解码和解压缩。如果完整性检查通过,则在内存中动态初始化 DLL,并调用硬编码的导出函数来执行有效载荷。

ANEL

ANEL 是一个基于 HTTP 的 32 位后门,自 2017 年左右开始被发现,并被认为是 APT10 使用的主要后门之一,直到 2018 年左右。ANEL 在此期间积极开发,2018 年公开观察到的最后一个版本是“5.5.0 rev1”。然而,在 2024 年的这次新活动中,已经观察到版本“5.5.4 rev1”、“5.5.5 rev1”、“5.5.6 rev1”和“5.5.7 rev1”,以及一个新发现的版本,其中版本信息已被混淆。

  5.5.0 修订版1 5.5.4 修订版1 5.5.5 修订版1 5.5.6 修订版1 5.5.7 修订版1 未知
C&C 通信加密 (GET) 自定义ChaCha20 + 随机字节XOR + Base64
C&C 通信加密 (POST) 定制ChaCha20 + LZO
ChaCha20 密钥生成 根据 C&C URL 从硬编码密钥中选择
后门命令
  • 0x97A168D9697D40DD(下载)
  • 0x7CF812296CCC68D5(上传)
  • 0x652CB1CEFF1C0A00(内存 PE 执行)
  • 0x27595F1F74B55278(下载并执行)
  • 0xD290626C85FB1CE3(睡眠)
  • 0x409C7A89CFF0A727(获取屏幕截图)
  • 否则:执行命令
  • 0x97A168D9697D40DD(下载)
  • 0x7CF812296CCC68D5(上传)
  • 0x652CB1CEFF1C0A00(内存 PE 执行)
  • 0x27595F1F74B55278(下载并执行)
  • 0xD290626C85FB1CE3(睡眠)
  • 0x409C7A89CFF0A727(获取屏幕截图)
  • 0x596813980E83DAE6(UAC 绕过)
  • 否则:执行命令

从这里,我们将仔细了解每个版本的具体更新和变化。

5.5.4 修订版1

此版本的 ANEL 未引入任何重大更改,但实施了一些小修复和更新。一个值得注意的变化是删除了将错误代码存储在 HTTP Cookie 标头中并将其发送到 C&C 服务器的功能,该功能在版本“5.5.0 rev1”之前一直存在。此功能之前被确定为 ANEL 的检测点,因此删除它可能是为了逃避检测。另一个更新涉及发送到 C&C 服务器的版本信息。它现在包含有关执行环境的操作系统架构的信息。虽然 ANEL 是一个 32 位应用程序,但在 64 位操作系统上运行时,字符串“wow64”会附加到版本信息中,然后再发送到 C&C 服务器。

20

图 20. 包含的操作系统架构

5.5.5 修订版1

版本“5.5.5 rev1”也没有包含重大变化。一个值得注意的更新是添加了在首次访问 C&C 服务器时更新本地 IP 地址的代码。

21

图21.通过Windows API更新本地IP地址。

5.5.6 修订版 1 / 5.5.7 修订版 1

在“5.5.6 rev1”版本中,添加了新的后门命令。ANEL 处理从 C&C 服务器收到的命令字符串,方法是将其转换为大写并使用 xxHash 对其进行哈希处理,然后将其与硬编码哈希值进行比较以确定命令。在此版本中,实现了与哈希值“0x596813980E83DAE6”相对应的新命令。

22

图 22. 5.5.6 rev1 中引入的新后门命令

此命令通过滥用 CMSTPLUA COM 接口(一种已知的 UAC 绕过技术)提供以提升的权限(Integrity High)执行指定程序的功能。

23

图23.滥用CMSTPLUA COM接口

另一方面,在“5.5.7 rev1”中,没有观察到其他值得注意的功能。

未知版本

在观察版本“5.5.7 rev1”后,检测到了带有混淆版本信息的 ANEL 变体。在这种情况下,版本信息字段包含一个 Base64 编码的字符串,解码后得到数据“A1 5E 99 00 E7 DE 2B F5 AD A1 E8 D1 55 D5 0A 22”。此数据与“wow64”连接并发送到 C&C 服务器。这一变化使得跟踪版本和比较功能变得更加困难。

24

图24.加密的版本信息

漏洞利用后活动

跟踪攻击者在安装 ANEL 后的活动发现,他们从受感染的环境中收集信息,例如截取屏幕截图和执行 arp 和 dir 等命令来收集网络和文件系统详细信息。在某些情况下,还安装了其他恶意软件,特别是 NOOPDOOR。

NOOPDOOR 至少从 2021 年开始被发现,是一种具有更高级功能的模块化后门。它似乎可以作为 Earth Kasha 使用的另一个有效载荷,特别是针对高价值目标。在这次活动中,我们认为 NOOPDOOR 是针对对手特别感兴趣的目标部署的。

归因与洞察

根据对正在进行的活动的分析,趋势科技评估自 2024 年 6 月以来观察到的使用 ANEL 的鱼叉式网络钓鱼活动是 Earth Kasha 进行的新行动的一部分。

25

图 25. 2024 年新战役的钻石模型

将其归因于 Earth Kasha 是基于以下原因:

  • 直到 2023 年初,Earth Kasha 一直以鱼叉式网络钓鱼电子邮件作为主要入侵媒介,针对日本的个人和组织开展攻击活动。在 TTP 或受害者资料方面没有显著的不一致之处。
  • NOOPDOOR 也被部署在这次活动中,据信该组织是 Earth Kasha 专门使用的。
  • 如前所述,ANELLDR 和 NOOPDOOR 之间存在代码相似性,这表明有同一开发人员或某人可以访问这两个源代码。因此,在这次活动中再次使用 ANEL 并不令人意外,这进一步证明了前 APT10 和现在的 Earth Kasha 之间存在联系。

趋势科技 Vision One 威胁情报

为了领先于不断演变的威胁,趋势科技客户可以访问 Trend Micro Vision One 中的一系列情报报告和威胁洞察。威胁洞察可帮助客户在网络威胁发生之前领先于它们,并更好地为新出现的威胁做好准备。它提供有关威胁行为者、他们的恶意活动以及他们使用的技术的全面信息。通过利用这些情报,客户可以主动保护他们的环境,降低风险,并有效应对威胁。

Trend Micro Vision One Intelligence 报告应用程序 [IOC 扫描]

  • 猜猜谁回来了?ANEL 将在 2024 年 Earth Kasha 发起的鱼叉式网络钓鱼活动中回归

Trend Micro Vision One 威胁洞察应用程序

狩猎查询

Trend Micro Vision One 搜索应用程序

Trend Micro Vision One 客户可以使用搜索应用程序将本博文中提到的恶意指标与其环境中的数据进行匹配或搜寻。

与 Earth Kasha 的鱼叉式网络钓鱼活动相关的恶意软件检测

(malName:*ANEL* 或 malName:*ROAMINGMOUSE*) 和 eventName: MALWARE_DETECTION

ANEL 在 2024 年鱼叉式网络钓鱼活动中使用的恶意 IP

eventId:3 AND (dst:“139.84.131.62”或dst:“139.84.136.105”或dst:“45.32.116.146”或dst:“45.77.252.85”或dst:“208.85.18.4”或src:“139.84.131.62”或src:“139.84.136.105”或src:“45.32.116.146”或src:“45.77.252.85”或src:“208.85.18.4”)

 

YARA 规则

此 YARA规则可用于查找地球 Kasha 活动。

import "pe"

rule Trojan_ANELLDR_type1
{
meta:
Author = "Trend Micro"
Created_Time = "2024-08-23"
Malware_Name = "Trojan.Win32.ANEL"
Description = "ANEL loader"
Attack_Intrusion_Set = "Earth Kasha"
strings:
$chunk_1 = {
8B 55 ??
8A 54 0A 10
8B 45 ??
30 14 08
41
83 F9 10
7C ??
}

condition:
uint16(0) == 0x5A4D and
pe.is_dll() and
all of them
}

rule Trojan_ANELLDR_type2
{
meta:
Author = "Trend Micro"
Created_Time = "2024-08-23"
Malware_Name = "Trojan.Win32.ANEL"
Description = "ANEL loader"
Attack_Intrusion_Set = "Earth Kasha"
strings:
$chunk_1 = {
8A 14 0E
88 D4
F6 D4
20 C4
F6 D0
20 D0
08 E0
88 04 0E
}
condition:
uint16(0) == 0x5A4D and
pe.is_dll() and
all of them
}

rule Trojan_ANELLDR_type3
{
meta:
Author = "Trend Micro"
Created_Time = "2024-08-23"
Malware_Name = "Trojan.Win32.ANEL"
Description = "ANEL loader"
Attack_Intrusion_Set = "Earth Kasha"

strings:
$chunk_1 = {
8A 14 0F
88 D4
80 E2 ??
F6 D4
80 E4 ??
08 E2
88 C4
24 ??
F6 D4
80 E4 ??
08 E0
30 D0
88 04 0F
}

condition:
uint16(0) == 0x5A4D and
pe.is_dll() and
all of them
}

rule Backdoor_ANEL_commands
{
meta:
Author = "Trend Micro"
Created_Time = "2024-08-23"
Detection_Type = "Memory"
Malware_Name = "Backdoor.Win32.ANEL"
Description = "debug message strings in memory"
Attack_Intrusion_Set = "Earth Kasha"
strings:
// xxhash of get screenshot
$h1 = {27 A7 F0 CF}

// xxhash of get timezone
$h2 = {E3 1C FB 85}

// xxhash of dowload/exec
$h3 = {78 52 B5 74}

// xxhash of upload
$h4 = {D5 68 CC 6C}

// xxhash of download
$h5 = {DD 40 7D 69}

// xxhash of load pe
$h6 = {00 0A 1C FF}
condition:
all of them
}

rule Backdoor_ANEL_debug_messages
{
meta:
Author = "Trend Micro"
Created_Time = "2024-08-23"
Detection_Type = "Memory"
Malware_Name = "Backdoor.Win32.ANEL"
Description = "debug message strings in memory"
Attack_Intrusion_Set = "Earth Kasha"
strings:
$s1 = "dll_size %Iu bytes, compress_size %Iu bytes, dllhash 0x%08x"
$s2 = "Inject failed with error %u"
$s3 = "Failed to execute in memory!"
$s4 = "Failed. The file checksum does not match!"
$s5 = "WARNING: loading PE file without .reloc section!"
$s6 = "x86 version supports x86 shellcode only!"
condition:
all of them
}

IOCS

139.84.131.62
139.84.136.105
45.32.116.146
45.77.252.85
208.85.18.4

结论

Earth Kasha 的活动预计将继续发展,其工具和 TTP 也将不断更新。许多目标都是个人,例如研究人员,他们可能与企业组织相比拥有不同级别的安全措施,这使得这些攻击更难被发现。保持基本的对策至关重要,例如避免打开可疑电子邮件中附带的文件。此外,收集威胁情报并确保相关方知情也很重要。由于据信该活动截至 2024 年 10 月仍在进行中,因此有必要继续保持警惕。

相关文章

发表回复

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

返回顶部按钮