◈ 执行摘要
-
将内容伪装成韩国国家安全智库的学术论坛邀请,以吸引注意力
-
以“特朗普2.0时代:前景与韩国的应对”为题,引诱目标
-
通过 Dropbox 云平台传播恶意 LNK 文件
-
继之前使用 pCloud 和 Yandex 之后,APT37 又使用 Dropbox 作为 C2 服务器
-
需要基于 EDR 的异常搜寻来改进无文件威胁的检测
1.概述
○ 2025年3月,APT37威胁行为者针对多名关注朝鲜的活动人士发起了鱼叉式网络钓鱼攻击。该电子邮件包含一个Dropbox链接,该链接指向一个包含恶意快捷方式(LNK)文件的压缩包。提取并执行该LNK文件后,会激活包含关键字“toy”的其他恶意软件。
○ 根据威胁的特征,Genians 安全中心 (GSC) 将该活动命名为“Operation: ToyBox Story”,并开始深入分析。
[图1] APT37攻击流程图
2. 背景
○ ' APT37众所周知,该组织 是一个受政府支持的、与朝鲜有关联的黑客组织。Genians 安全中心 (GSC) 观察到,该组织采用了多种攻击策略:
-
水坑
-
社交网络服务 (SNS) 网络钓鱼
○ 他们利用合法的云服务作为命令与控制 (C2) 服务器——通常被称为“ Living off the Trusted Sites (LoTS) ”。这种策略类似于“Living off the Land (LotL)”攻击,后者依赖于滥用系统中已有的工具。然而,在本例中,攻击者利用受信任的公共网络服务来隐藏其操作。这些服务大多是全球平台,Dropbox 在最近的案例中就经常被使用。
-
Dropbox
-
pCloud
-
Yandex
-
OneDrive
-
Google 云端硬盘
○该组织还参与了各种零日攻击,包括利用 Internet Explorer 漏洞(例如CVE-2022-41128)。他们的行动范围已从 Windows 扩展到基于 Android 的恶意软件(APK 文件)以及针对 macOS 用户的攻击。
○2025年3月,GSC的威胁分析师发现了新的攻击活动并进行了深入调查。
○ 本报告深入分析了一起冒充韩国国家安全智库活动的真实鱼叉式网络钓鱼案例,有助于各组织提前做好应对类似威胁的准备。
3. 鱼叉式网络钓鱼分析
3-1. 【案例A】伪装成朝鲜军队进驻俄罗斯信息的文件
○ 第一次观察到的鱼叉式网络钓鱼攻击发生在 2025 年 3 月 8 日。
[图2] 包含朝鲜军队部署到俄罗斯的信息的电子邮件。
○攻击者冒充驻韩国的朝鲜问题专家。该电子邮件的主题行为“러시아 전장 에 투입된 인민군 장병들에게.hwp(致部署到俄罗斯战场的朝鲜士兵.hwp) ”,附件具有相同的文件名。
○ 该附件使用Naver Mail 的图标图像模仿了韩语 (HWP) 文档。
○威胁行为者利用 Naver Mail 的 HWP 图标图像,使附件看起来像是合法的文件链接。但实际的下载链接指向的是 Dropbox。
○ Dropbox 链接指向一个名为“러시아 전장에 투입된 인민군 장병들에게.zip”的 ZIP 存档(致部署到俄罗斯战场的朝鲜士兵.zip)
3-2. 【案例B】伪造的国家安全会议邀请函
○ 第二起鱼叉式网络钓鱼案件发生在2025年3月11日,涉及一份虚假的国家安全会议邀请函。
[图3] 包含国家安全相关会议海报的电子邮件
○ 攻击者通过冒充国家安全战略智库活动来引诱收件人。该邮件被精心设计成类似于共享会议海报的形式,诱导收件人下载附件。
○ 与前一个案例类似,该电子邮件列出了一个名为“관련 포스터.zip (Related Poster.zip ) ”的附件。使用的图标再次是Naver Mail 使用的“其他图像”类型。
○ 附件的下载链接也指向 Dropbox。
3-3. 所用恶意文件摘要
○各案例中使用的恶意文件总结如下。“러시아 전장에 투입된 인민군 장병들 에게.zip(致部署到俄罗斯战场的朝鲜士兵.zip) ”压缩包包含一个快捷方式 (LNK) 文件。该 LNK 文件执行恶意代码,其名称与 ZIP 压缩包相同,仅文件扩展名不同。
不 | 邮政编码 | 文件名 | 文件大小(字节) |
1 | 러시아 전장에 투입된 인민군 장병들에게.zip
|
러시아 전장에 투입된 인민군 장병들에게.lnk
|
824,819 |
2 | 관련 포스터.zip
|
hkais_1e9ce53a18e24ebc01b539ba7ba6bedd.lnk | 12,145,612 |
hkais_112ba70f4e2d696b6b0110218d8bcfc3.jpg | 116,271 |
[表1] ZIP压缩包及内部文件信息
○ “관련 포스터.zip (Related Poster.zip) ”压缩包包含一张无害的JPG图片和一个恶意的LNK快捷方式。当LNK文件执行时,它会运行文件中嵌入的隐藏PowerShell命令,从而启动恶意活动。
○ 作为参考,两个 LNK 文件都传递相同的最终有效载荷 RoKRAT。因此,我们在下面提供综合分析。
4.恶意软件分析
4-1. 러시아 전장에 투입된 인민군 장병들에게.lnk (致部署到俄罗斯战场的朝鲜士兵.lnk)
○ 快捷方式(LNK)文件配置为通过嵌入参数运行 PowerShell 命令,遵循典型的恶意软件执行模式。
[图4]命令嵌入在“러시아 전장에 투입된 인민군 장병들에게.lnk (致部署到俄罗斯战场的朝鲜士兵.lnk) ”文件中
○执行恶意 LNK 文件会触发预定义命令,该命令启动诱饵 HWP 文件,向用户呈现看似合法的文档。
○ 此外,%Temp% 目录中会创建 3 个隐藏文件,并执行一个 BAT(批处理)文件。为了逃避检测,该文件会将“.bat”扩展名拆分成多个单独的字符,然后在运行时使用加号 (+) 运算符重新组合,从而进行伪装。
[图5]恶意LNK文件结构
○ 诱饵 HWP 文件包含一封写给部署在俄罗斯的朝鲜士兵的信。
[图6] 良性HWP文件被用作诱饵
○当执行“toy03.bat”文件中的PowerShell命令时,它会加载在临时文件夹中创建的“toy02.dat”文件,充当加载器。
○ 接下来,嵌入在“toy02.dat”中的PowerShell命令将从同一临时文件夹执行并加载“toy01.dat”。在此阶段,使用XOR逻辑转换的数据被加载到内存中,并创建一个新线程。
○ 结果,shellcode 被加载到内存中,并且内存区域变为可执行状态。
○ 然后,创建一个新线程来执行驻留内存的代码。此技术是一种无文件方法,用于动态代码执行或运行时恶意软件注入。
[图7] 通过PowerShell命令进行Shellcode转换
○ 通过分析加载到内存中的shellcode,可以识别其详细行为。它遵循典型的shellcode流程,包括堆栈框架设置、函数调用和值赋值。
[图8] 通过Shellcode XOR逻辑进行PE文件转换
○ Shellcode 中嵌入的 PE 文件使用 XOR 逻辑解密并在内存中执行。该文件是 RoKRAT 恶意软件家族的典型示例。
4-2. RoKRAT行为分析
○ RoKRAT 恶意软件家族的一个显著特征是,它会在通过主函数(WinMain)执行其核心恶意程序之前从受感染的主机收集系统信息。
[图9] RoKRAT主要功能代码部分
○ 在执行CreateThread例程之前,主函数调用“sub_40F0E7()”,负责收集系统信息。
[图10] 系统信息收集例程
○ 收集到的信息存储在标有“rokrat_4CFCC8”的内存位置,包括以下系统属性:
收集的关键系统信息
-
Windows 操作系统内部版本
-
计算机设备名称
-
用户名
-
当前进程路径(执行路径)
-
系统制造商
-
系统模型
-
系统 BIOS 版本
[图11]系统信息收集例程
○ 函数“sub_40F0E7()”不仅从受感染主机收集系统信息,还生成与基于云的 C2 服务器通信所需的数据。
○ 随后,执行入口点的主线程,该线程调用函数“sub_40F569()”。该函数使用 switch 语句执行针对每种情况定义的命令。
○ 代表性命令包括终止进程、删除恶意脚本(以清除攻击痕迹)以及存储可移动驱动器的信息。该恶意软件还会执行各种操作,例如与 C2 服务器通信并执行“cmd.exe”命令。值得注意的是,它表现出一种独特的 RoKRAT 行为,即将从 C2 服务器接收的文件数据存储到名为“KB400928_doc.exe”的文件中并执行。
[图 12] 通过 switch-case 条件执行的命令
○ RoKRAT 从受感染的系统中捕获实时屏幕截图并以 JPEG 格式保存。
[图13]截图集锦
○ 屏幕截图以“.tmp”扩展名保存在临时文件夹(%Temp%)中。文件名根据指定的模式“%s%04X%04X.tmp”以十六进制格式生成,其中将一个随机字符串分配给一个缓冲变量。因此,文件名的形式为一个由 4 个字符组成的随机字符串重复生成的 8 个十六进制值。
○ 收集的系统信息、屏幕截图和进程详细信息被捆绑在一起,并作为统一的数据集传输到 C2 服务器。首先,在 RoKRAT 中添加一个硬编码的 4 字节值。
固定 4 字节值:
-
0xFA
-
0xDE
-
0xAD
-
0xBA
[图14]固定的4字节值
○ 收集到的信息使用伪随机数生成器 (PRNG) 通过异或运算生成的 4 字节随机密钥进行加密。然而,由于威胁行为者已经知道这个固定的 4 字节值,因此可以进行逆向解密。
[图15] 使用随机密钥的加密例程
○ 在初始 XOR 混淆之后,数据将使用 AES-CBC-128 进行额外加密。AES 密钥本身通过 RSA 加密并添加到数据前缀中。
[图16] AES-CBC-128加密例程部分视图
○ 加密文件经过多重加密阶段后,被攻击者窃取到指定的C2服务器,窃取地址如下。
○ RoKRAT 家族通常使用 3 种基于云的 API 服务和令牌。以下列出了最常见的示例。
用于 C2 的云服务
-
api.pcloud[.]com
-
cloud-api.yandex[.]net
-
api.dropboxapi[.]com
姓名 | 行动 | API URL |
pcloud | 列表文件夹 | https://api.pcloud[.]com/listfolder?path=%s |
上传文件 | https://api.pcloud[.]com/uploadfile?path=%s&filename=%s&nopartial=1 | |
获取文件链接 | https://api.pcloud[.]com/getfilelink?path=%s&forcedownload=1&skipfilename=1 | |
删除文件 | https://api.pcloud[.]com/deletefile?path=%s | |
yandex | 限制 | https://cloud-api.yandex[.]net/v1/disk/resources?path=%s&limit=500 |
上传 | https://cloud-api.yandex[.]net/v1/disk/resources/upload?path=%s&overwrite=%s | |
下载 | https://cloud-api.yandex[.]net/v1/disk/resources/download?path=%s | |
永久地 | https://cloud-api.yandex.net/v1/disk/resources?path=%s&permanently=%s | |
Dropbox | 列表文件夹 | https://api.dropboxapi[.]com/2/files/list_folder |
上传 | https://content.dropboxapi[.]com/2/files/upload | |
下载 | https://content.dropboxapi[.]com/2/files/download | |
删除 | https://api.dropboxapi[.]com/2/files/delete |
[表2] Cloud C2 API 通信地址
○ 在这种情况下,C2通信是通过Dropbox身份验证进行的。观察到2个用于基于凭证的授权的访问令牌。
[图17] Dropbox访问令牌
-
访问令牌
-
qpIH7aCNxGUAAAAAAAAAbvHIsHbphV6aB6THhpP-8t30a_TXE14lh4kLBHEl6Cp
-
2SufkFqeegMAAAAAAAAAAXBHNzzqhiDRu4wvncLkI7VIkC8Zd3YkJWlqZbpL8afr
-
电子邮件
○ 每个访问令牌都与如上所示的注册人信息相关联,并且两个令牌都链接到俄罗斯 Yandex 帐户。
4-3. RoKRAT相似性分析
○ 2月3日,Genians发布了一份题为《APT37通过K-Messenger传播恶意HWP文件》的报告。该案件涉及通过韩国流行的即时通讯平台和特定群聊传播恶意HWP文件。
○当时,恶意文档使用了与汽车品牌和交通运输相关的文件名。将ToyBox Story案件中的RoKRAT样本与早期变种进行比较,发现其代码存在显著相似性。
[图18] RoKRAT加密例程相似性对比分析
○ “ Capa ” 是一款由谷歌 Mandiant FLARE 团队开发的开源工具,拥有超过 890 条预定义规则,可用于识别可执行文件中的功能。它适用于静态恶意软件分析,并持续更新新功能。它还可用于评估相关恶意软件样本之间的功能相似性。
○ 与依赖字节序列匹配的 Yara 不同,Capa 识别与特定功能相关的基于行为的模式。具体来说,它分析嵌入式 API 调用、注册表引用和各种字符串以确定功能,并提供 ATT&CK 映射数据。
[图19] 使用Capa静态分析进行相似性分析
○ 使用 Capa 工具对 RoKRAT 文件进行分析,发现其与 MITRE ATT&CK 策略和技术存在一致的映射,表明存在很强的行为相关性。
○ 恶意软件行为目录 ( MBC ) 根据静态分析结果对恶意软件行为进行分类,但与运行时行为相比可能存在差异。
○ “MBC 目标”和“MBC 行为”的结果也遵循相同的模式。这表明,尽管 RoKRAT 模块一直在使用,但其代码结构几乎没有变化。
○ APT37 似乎在无文件攻击中使用了 RoKRAT 模块,使其无需进行重大代码更改即可逃避防病毒检测。因此,通过 EDR 解决方案进行检测和响应会更加有效。
5.威胁归因
5-1. 威胁行为者的踪迹
○ GSC 通过 HUMINT、情报共享伙伴关系(国内和国际)和威胁情报分析收集威胁行为者信息。
○ 在调查用于发出恶意文件命令的基础设施时,发现了几个俄罗斯 Yandex 电子邮件账户。
-
Yandex 电子邮件地址
○ 此外,2024 年 11 月 6 日发布的一份题为“归因于 APT37 的网络侦察活动”的报告披露了该威胁行为者使用的五个 Gmail 帐户。
-
Gmail地址
○ 基于 Yandex 电子邮件地址的用户名搜索返回了与姓名匹配的 LinkedIn 个人资料。然而,目前尚不清楚这些是巧合、身份盗窃还是冒充。调查仍在进行中。
[图 20] LinkedIn 个人资料与 Yandex 电子邮件用户名匹配
5-2. 威胁基础设施相似性
○ 继《 APT37 组织无文件 RoKRAT 攻击崛起》报告发布后,类似的威胁活动不断出现。具体而言,该组织持续使用包含嵌入式命令的 LNK 和 HWP 文件来发起无文件 RoKRAT 攻击。
[图21] APT37 活动关系图
○ 对 APT37 活动基础设施的审查表明,该组织经常利用合法的云存储服务作为命令和控制 (C2) 服务器。
○ 该攻击者还利用 NordVPN 和 AstrillVPN 等服务来混淆其网络来源。值得注意的是,谷歌的威胁情报报告《保持领先一步:缓解朝鲜 IT 工作者威胁》中曾提及 AstrillVPN 的使用。
6. 结论与回应
○ 本报告研究了近期 APT37 攻击活动,该活动伪装成与朝鲜在俄罗斯的军队部署以及韩国国家安全智库组织的学术论坛相关的内容。
○ 威胁行为者利用合法的云服务作为 C2 基础设施,并继续修改快捷方式(LNK)文件,同时专注于无文件攻击技术以逃避安装在目标端点上的防病毒软件的检测。
○ 当基于模式的安全产品未能检测到初始入侵时,它们可能会让威胁进一步蔓延并造成意外损害。作为预防措施,用户应避免打开电子邮件附件中的任何 LNK 文件,尤其是压缩文件中包含的文件。
○ 在实践中,对所有用户一致地执行基于知识的安全规则通常是不现实的。因此,安全团队必须依靠端点监控和主动威胁搜寻来降低风险。Genian
EDR可以实时检测此类威胁,并在其在内部网络中传播之前将其阻止。
7. 妥协指标
MD5
81c08366ea7fc0f933f368b120104384
723f80d1843315717bc56e9e58e89be5
7822e53536c1cf86c3e44e31e77bd088
324688238c42d7190a2b50303cbc6a3c
a635bd019674b25038cd8f02e15eebd2
d5d48f044ff16ef6a4d5bde060ed5cee
d77c8449f1efc4bfb9ebff496442bbbc
2f431c4e65af9908d2182c6a093bf262
7cc8ce5374ff9eacd38491b75cbedf89
8f339a09f0d0202cfaffbd38469490ec
46ca088d5c052738d42bbd6231cc0ed5
C2
89.147.101[.]65
89.147.101[.]71
37.120.210[.]2
电子邮件
原文始发于微信公众号(黑客街安全团队):伪装韩国国家安全战略智库的APT37攻击案例分析(Operation.ToyBox Story)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论