关键要点
-
Volexity 发现并报告了 Fortinet 的 Windows VPN 客户端 FortiClient 中的一个漏洞,该漏洞在用户通过 VPN 身份验证后仍保留在进程内存中。
-
BrazenBamboo 在其 DEEPDATA 恶意软件中滥用了此漏洞。
-
BrazenBamboo 是开发 LIGHTSPY 恶意软件家族的幕后威胁行为者。
-
包括 iOS 在内的所有主流操作系统都发现了 LIGHTSPY 变种,而 Volexity 最近又发现了一种新的 Windows 变种。
2024 年 7 月,Volexity 发现 Fortinet 的 Windows VPN 客户端中存在零日凭据泄露漏洞,该漏洞允许从客户端进程的内存中窃取凭据。此漏洞是在分析 DEEPDATA 恶意软件家族的最新样本时发现的。DEEPDATA 是 Windows 操作系统的模块化后利用工具,用于从目标设备收集各种信息。对样本的分析发现了一个插件,该插件旨在从 FortiClient VPN 客户端进程内存中提取凭据。2024 年 7 月 18 日,Volexity 将此漏洞通知了 Fortinet。自 Volexity 首次发现并向 Fortinet 报告以来,ThreatFabric和Blackberry各自发布了报告,涵盖了本文讨论的一些内容的不同方面。
Volexity 将 DEEPDATA 的开发归咎于一个与某国政府有关联的威胁行为者,他们将其称为 BrazenBamboo。Volexity 观察到 BrazenBamboo 与三个不同的恶意软件家族之间存在联系:LIGHTSPY、DEEPDATA 和 DEEPPOST。Volexity 认为 BrazenBamboo 是这些恶意软件家族的开发者,但不一定是使用这些恶意软件家族的运营商之一(可能有很多)。Volexity 还发现了一种新的 Windows LIGHTSPY 变体,在撰写本文时尚未记录在案。
本篇博文详细介绍了 DEEPDATA 的使用和功能,重点介绍了 FortiClient 漏洞的零日利用,以及如何使用 DEEPPOST 从受感染的系统中窃取文件。本篇博文还介绍了最近发现的 LIGHTSPY 的 Windows 变体,包括显著的变化,以及 BrazenBamboo 威胁行为者相关的更广泛的命令和控制 (C2) 基础设施。
恶意软件分析
Volexity 的分析始于发现一个名为deepdata.zip(SHA256: 666a4c569d435d0e6bf9fa4d337d1bf014952b42cc6d20e797db6c9df92dd724) 的存档文件,该文件与 BrazenBamboo 有关。此存档包含几个文件,它们属于两个 Windows 恶意软件家族,Volexity 将其称为 DEEPDATA 和 DEEPPOST。以下各节将分析每个恶意软件家族。Volexity 还单独获取并分析了 LIGHTSPY 的新 Windows 变体,下文将进一步介绍该变体。
深度数据
如前所述,DEEPDATA 是适用于 Windows 的模块化后利用工具,可帮助从受感染的系统中收集敏感信息。攻击者必须从系统的命令行运行此工具。DEEPDATA 恶意软件元素包括以下内容:
文件名 | 描述 |
data.dll |
DEEPDATA 加载器 |
mod.dat |
DEEPDATA 虚拟文件系统 (VFS) |
readme.txt |
包含 DEEPDATA 执行选项的文件 |
该readme.txt文件描述了如何执行 DEEPDATA 加载器,以及可用参数和解密密钥。
keyDEEPDATA 加载器文件使用该参数解密并加载存储在本地 VFS 文件 ( mod.dat) 中的 DEEPDATA 恶意软件家族的“核心”组件。这些组件将始终执行,并且不依赖于命令行上传递的其他参数。
DEEPDATA的核心组件包括以下文件:
文件名 | 目的 |
frame.dll |
Shellcode – 插件执行的核心协调器 |
ffmpeg.dll |
包含Heaven’s Gate代码,用于在 64 位进程中加载 32 位代码 |
vertdll.dll |
收集事件日志 |
iumdll.dll |
用于收集本地存储的微信数据的库 |
ucrtbase_enclave.dll |
用于收集本地存储的飞书数据的库 |
d3dcompiler_47.dll |
检查正在运行的即时通讯应用程序(Line、飞书、微信) |
DEEPDATA的加载器、核心和插件的架构如下所示。
核心组件始终包含在 VFS 文件中,但 Volexity 只能frame.dll在 C2 服务器上找到它们。虽然 DEEPDATA 插件存储在 VFS 文件中,但它们也作为自己的专用文件存储在 C2 服务器上;它们可以从任一位置加载。VFS 中的 DEEPDATA 插件使用与 VFS 中其他组件相同的密钥进行解密。
整体插件逻辑与 LIGHTSPY 恶意软件样本中看到的逻辑相同,核心编排器使用以下导出函数:
-
ExecuteCommand
-
GetPluginCommandID
-
GetPluginName
-
GetPluginVersion
DEEPDATA 维护 VFS 文件中的配置数据,并以加密状态存储以下文件:
文件名 | 描述 |
config.json |
包含 DEEPDATA 配置信息 |
manifest.json |
包含 DEEPDATA 插件信息 |
manifest1.json |
包含 DEEPDATA 插件信息 |
date.ini |
目的不明,包含一个字节0x30 |
该manifest.json文件也存储在 C2 服务器上,但处于未加密状态。
Volexity 共确定了 12 个 DEEPDATA 独特插件,总结如下:
插件名称 | 插件功能 |
AccountInfo |
从受感染设备上的 18 个不同来源窃取凭证。 |
AppData |
从受感染设备上的微信、WhatsApp 和 Signal 收集数据。 |
Audio |
在受感染的设备上录制音频。 |
ChatIndexedDb |
从 WhatsApp 和 Zalo 聊天客户端窃取数据库。 |
FortiClient |
从 FortiClient VPN 进程的进程内存中提取凭据和服务器信息。 |
Outlook |
从本地 Microsoft Outlook 实例收集联系人和电子邮件。 |
SocialSoft |
窃取微信、Line、QQ、钉钉、Skype、Telegram 和飞书应用程序中的数据。 |
SoftwareList |
从基本位置递归列出已安装的软件、文件夹和文件。 |
SystemInfo |
从受感染的设备收集基本枚举信息。 |
TdMonitor |
挂钩 Telegram 以从应用程序中检索消息。 |
WebBrowser |
从 Firefox、Chrome、Opera 和 Edge 网络浏览器收集历史记录、cookie 和密码。 |
WifiList |
收集存储的 WiFi 密钥和附近热点的详细信息。 |
如上所示,DEEPDATA 支持从受害者系统中提取数据的各种功能。观察到的几个插件的功能很常见,包括通常从受害者系统窃取的项目。然而,Volexity 注意到这个FortiClient插件并不常见,并对其进行了进一步调查。Volexity 发现 FortiClient 插件是通过文件名为 的库包含的msenvico.dll。发现此插件利用了 Windows 上 Fortinet VPN 客户端中的零日漏洞,使其能够从客户端进程的内存中提取用户凭据。
如下面的代码片段所示,FortiClient 插件从内存中的两个不同的 JSON 对象中查找用户名、密码、远程网关和端口。
DEEPPOST 是一种后利用数据泄露工具,用于将文件发送到远程系统。分析了以下样本:
姓名 | 本地上传工具 |
尺寸 | 618.5KB (633344 字节) |
文件类型 | 应用程序/x-dosexec |
MD5 | 533297a7084039bf6bda702b752e6b82 |
SHA1 | 20214e2e93b1bb37108aa1b8666f6406fabca8a0 |
SHA256 | f4e72145e761bcc8226353bb121eb8e549dc0000c6535bfa627795351037dc8e |
VirusTotal 首次提交 | 不适用 |
localupload.exe c:data_to_exfiltrate ip:port
渗透是通过 HTTPS 到硬编码 API 端点进行的,/api/third/file/upload/通常在端口 29983 上(尽管这不是默认设置,而是由操作员在命令行中设置的)。
LIGHTSPY 背景
LIGHTSPY 恶意软件家族于 2020 年被公开记录,当时卡巴斯基和趋势科技报告了一起针对香港个人的移动恶意软件活动。最近,Lookout和ThreatFabric讨论了 LIGHTSPY 移动恶意软件活动。Lookout 将其称为“DragonEgg”(LIGHTSPY)的恶意软件与另一个恶意软件家族WyrmSpy以及美国司法部关于 APT41 的起诉书联系起来。Huntress和ThreatFabric讨论了 LIGHTSPY 的 macOS 变体,后者还详细介绍了一些相关的 C2 管理基础设施。
总结已知和报告的内容,LIGHTSPY 是一个多平台恶意软件家族,有针对 Android、iOS 和 macOS 的变种记录。卡巴斯基和ThreatFabric之前曾发现有针对 Windows、Linux 和路由器的变种存在,但他们没有记录进一步的分析。
Volexity 能够检索专门为 Windows 编写的 LIGHTSPY 副本。与其他 LIGHTSPY 变体不同,Windows 变体未使用相同的增量 XOR 算法进行编码。相反,它使用更复杂的算法进行编码,该算法还包括在文件开头填充。LIGHTSPY 的 Windows 变体的架构与其他已记录的 OS 变体不同。此变体由安装程序部署,该安装程序部署一个库以在内存中执行 shellcode。shellcode 从 C2 服务器下载并解码编排器组件(pic32.png适用于 x86 和pic64.pngx64 架构)。
这些样本使用的加载器是BH_A006,它过去曾用于加载其他恶意软件家族。目前尚不清楚这是否是商业上可用的加载器,还是不同运营商共享开发能力的证据。执行链的摘要如下。
首次执行时,LIGHTSPYorchestrator会发送一个 102 字节的 UDP 数据包,该数据包以 开头,0x1A5F2E1后面跟着随机字节。LIGHTSPY 期望服务器回复一个以 开头的数据包0x2A5F2E1。如果服务器正确回复, account.bin则会创建一个包含服务器答案的文件,该文件的格式与 MAC 地址相同,内部名称为“ broadband account mac”。如果该文件已存在,则不会执行 DNS 请求。此 UDP 握手是 Windows 变体所独有的。
与其他版本一样,LIGHTSPY 的 Windows 版本使用 WebSocket 和 HTTPS 进行通信,其中 WebSocket 用于大多数基于 JSON 的通信,HTTPS 用于数据泄露。值得注意的是:HTTPS 请求的用户代理是从 macOS 版本复制粘贴的,如下所示。
期望orchestrator所有插件都导出以下函数:
ExecuteCommand
-
GetPluginCommandID
-
GetPluginName
-
Initial
-
StopCommand
-
Time
-
UnInitial
与 macOS 变体不同,Windows 变体中的大部分代码都在内存中执行。LIGHTSPY Windows 插件总结如下:
插件名称 | 目的 |
Audio |
使用libavcodev 库录制音频 |
Browser |
从网络浏览器收集 cookie、历史记录、存储的凭证和书签 |
FileManager |
提供设备上文件的 CRUD 操作以及将数据上传到 C2 服务器的便捷方法 |
Keyboard |
记录击键 |
Screen |
libavcodev 使用库记录用户的屏幕 |
Software |
收集已安装软件的信息并管理服务 |
Terminal |
为威胁行为者提供远程 shell 来执行命令 |
Video |
记录受感染设备的网络摄像头和音频 |
基础设施
DEEPDATA C2 基础设施
在分析时,共有六台 C2 服务器为 DEEPDATA 负载提供服务,并托管与 DEEPDATA 相关的管理应用程序。这些服务器也配置为使用 DEEPDATA:
端口 | 功能 | 技术 |
28443 | DEEPDATA 操作员应用程序,HTML 标题“spack-info” | Nginx 1.14.0,Django Rest框架 |
28992 | 托管各种 DEEPDATA 插件和配置文件 | Nginx 1.14.0 |
28993 | DEEPDATA 植入物/插件的通信通道 | Nginx 1.14.0,Django Rest框架 |
六台主机中的三台还在端口 48993 上运行 API 端点,根据 API 端点判断,该端点似乎用于管理网络爬虫框架Scrapy的实例。
Volexity 还在 DEEPDATA 基础设施的 URL 模式中发现了 BrazenBamboo 使用的四个“键盘行走”风格的字符串:
-
qweasdzxc
-
qazxswedcvfr
-
asdgdsfdsfasd
-
asdgdsfee
一台 DEEPDATA C2 服务器有一个 API 端点,为恶意软件的开发人员提供更改日志。该日志以中文编写,最新条目来自 2023 年 10 月;最早条目来自 2022 年 4 月。附录中提供了更改日志的翻译版本。
LIGHTSPY C2 基础设施
在分析时,共有 26 个活跃主机为 LIGHTSPY 有效载荷提供服务。它们始终托管在以字符串开头的 URL 路径上963852741。这些服务器托管了 LIGHTSPY 的开发和部署中使用的各种工件,包括指示当前可下载版本的清单文件。在分析这些清单文件时,最后修改时间表明 LIGHTSPY 的开发始于 2019 年,并持续更新至 2024 年。
LIGHTSPY C2 服务器不如 DEEPDATA 统一,但插件通常托管在端口 52202、43202 或 54602 上。C2 管理基础设施托管在附近的端口上(通常为 43201、53501 或 59501),但 URL 路径使用不同的起始字符串:
-
963852iuy
-
963852poi
其他 BrazenBamboo C2 基础设施
BrazenBamboo 基础设施还托管了其他与 LIGHTSPY 和 DEEPDATA 恶意软件家族没有直接关联的应用程序。许多应用程序都是使用Vue框架构建的,并使用Vue 实现的延迟加载方法来减少导入 JavaScript 和 CSS 组件的加载时间。ThreatFabric 的报告涵盖了这些组件的一些有趣方面。此功能还揭示了 BrazenBamboo 威胁行为者其他未报告功能的证据,包括以下内容:
-
“爬虫”电子邮件盗窃平台
-
代理生成平台
-
一个大数据风格的被盗数据分析平台,方便地命名为“互联网大数据综合分析平台”(英文翻译:互联网大数据综合分析平台)
-
几种可配置的交付方法,如下所示。此面板的另一个版本将漏洞攻击列为“0day 攻击”类型。
这些申请中有大量措辞与这些功能的国内监控意图相符。面板的用户管理方面也包含一些措辞,表明该工具被多个第三方使用,例如注册用户时输入组织的要求以及有关如何使用该平台的大量文档。
归因与重叠
DEEPDATA 和 LIGHTSPY
DEEPDATA 恶意软件家族与 LIGHTSPY 恶意软件家族有多处重叠:
-
插件文件和导出函数名称
-
共享程序数据库 (PDB) 开发路径
-
用于 C2 通信的共享 JSON 格式
-
JSON 配置文件的类似格式
-
类似插件代码执行流程:
LIGHTSPY(左)和 DEEPDATA(右)Audio.dll插件
DEEPDATA 和 LIGHTSPY C2 基础设施还有几个重叠之处:
-
过去曾共享同一个 IP 地址来托管插件
-
共享 TLS 证书
-
操作员面板的共享 URL 模式
-
跨 C2 服务器共享操作员应用程序
Volexity 高度确信,这两个恶意软件家族是由相关实体开发的,适合归为同一威胁行为者别名。
公开报告重叠
公开报告中提到的几个 C2 IP 地址与 DEEPDATA 基础设施有重叠,其中包括:
IP 地址 | 在公开报告中提及 | 重叠 |
103.27.109[.]217 |
Huntress 和 ThreatFabric 的 macOS 报告 | 与所有当前活跃的 DEEPDATA C2 服务器共享自签名 TLS 证书 |
103.27.108[.]207 |
ThreatFabric 的移动报告 | 与所有当前活跃的 DEEPDATA C2 服务器共享自签名 TLS 证书 |
121.201.109[.]98 |
Lookout 的 DragonEgg 报告 | 根据 VirusTotal Intelligence URL 提交情况,Volexity 有信心评估该服务器曾托管过 DEEPDATA 插件 |
使用 Volexity Volcano 审计暴露的凭证
Volexity Volcano是一个强大的内存分析框架,可以帮助调查被该威胁行为者的恶意软件入侵的系统。它还可用于主动审核 Windows、Linux 和 macOS 系统,以识别以明文形式公开凭据的其他应用程序。这就像在内存中搜索已知存在于凭据附近的字符串一样简单,例如本例中的“remote_gateway”。另一种技术是在通过 FortiClient 验证 Fortinet VPN 连接后搜索已知密码值,更重要的是,在较长时间后,在注销后检查密码。Volcano 将内存页面归还给其所属的进程或内核模块,这有助于将活动关联回可能未尽可能安全地处理密码的应用程序。
结论
Volexity 的分析表明,BrazenBamboo 是一个资源丰富的威胁行为者,拥有多平台能力,并且能够长期运营。其能力的广度和成熟度表明其开发功能强大,并且运营需求推动了开发产出。这一证据,加上 BrazenBamboo 在其恶意软件和相关基础设施中做出的架构决策,使 Volexity 有中等信心地评估,BrazenBamboo 是一家私营企业,为关注国内目标的政府运营商提供能力。
支持 Volexity 评估的一些关键因素如下:
-
C2 操作员基础设施中使用的语言参考国内监视和执法背景。
-
C2基础设施缺乏运行安全性,这是外国情报行动的典型特征。
-
与恶意软件家族相比,DEEPDATA 和 LIGHTSPY 的架构决策更典型地体现了标准软件开发实践。
-
尽管有大量关于 LIGHTSPY 的功能和指标的公开报道,但 LIGHTSPY 仍在继续开发和运行。
-
近年来,这种行动方式在某国威胁行为者中广为人知,其中最著名的例子包括成都 404和iSOON。
DEEPDATA 和 LIGHTSPY 的最新有效载荷的时间戳证明这两个恶意软件家族仍在继续发展。BrazenBamboo 维护的后端基础设施用于分析其恶意软件家族检索的数据,可以洞悉该集合的规模,从而推动对定制分析软件的需求,以大规模分析这些数据。
附录
DEEPDATA AccountInfo 插件目标
针对性服务 | 凭证盗窃技术 |
Baidu Net Disk | 在记忆中 |
OneDrive | 通过在合法进程中挂载 Web 请求 |
KeePass | 在内存中,通过使用开源工具KeeFarce |
在磁盘上 | |
Windows | 使用Mimikatz |
Mail Master | 在磁盘上,通过查询内部mail.db 文件 |
Fox Mail | 在磁盘上,通过读取Account.rec0 文件 |
SquirrelSQL | 在磁盘上,通过读取SQLAliases23.xml 文件 |
DBVisualizer | 在磁盘上,通过读取dbvis.xml 文件 |
OpenSSH | 在磁盘上,通过读取配置和 ssh 密钥文件 |
Mobaxterm | 在注册表中 |
WinSCP | 在注册表中 |
SecureCRT | 在磁盘上,通过读取配置文件 |
Putty | 在注册表中 |
Navicat | 在注册表中 |
DBeaver | 在磁盘上,通过读取credentials-config.json 文件 |
Xshell | 在磁盘上,通过读取会话文件 |
Xftp | 在磁盘上,通过读取会话文件 |
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):BrazenBamboo APT利用 FortiClient 漏洞通过 DEEPDATA 窃取 VPN 凭证