BRICKSTORM:针对VMware环境的Go语言复杂后门技术分析

本文深入分析了名为BRICKSTORM的Go语言后门,它专门针对VMware vSphere环境,通过多层加密、路径劫持和虚拟套接字通信实现隐蔽持久化,并提供完整的SOCKS代理、命令执行和文件管理功能。

BRICKSTORM后门分析 | CISA

发布日期 2025年12月4日 警报代码 AR25-338A

执行摘要

网络安全和基础设施安全局 (CISA)、国家安全局 (NSA) 和加拿大网络安全中心 (Cyber Centre) 评估认为,中华人民共和国 (PRC) 国家支持的网络攻击者正在使用 BRICKSTORM 恶意软件在受害系统上保持长期持久性。CISA、NSA 和 Cyber Centre 发布此恶意软件分析报告,以分享基于八个 BRICKSTORM 样本分析的危害指标 (IOC) 和检测特征。CISA、NSA 和 Cyber Centre 敦促各组织使用这些 IOC 和检测特征来识别 BRICKSTORM 恶意软件样本。

关键行动

  • 使用 IOC 和检测特征来识别 BRICKSTORM 样本。
  • 如果检测到 BRICKSTORM、类似恶意软件或可能相关的活动,请立即向 CISA、Cyber Centre 或相关主管部门报告事件。

引言

网络安全和基础设施安全局 (CISA)、国家安全局 (NSA) 和加拿大网络安全中心 (Cyber Centre) 评估认为,中华人民共和国 (PRC) 国家支持的网络攻击者正在使用 BRICKSTORM 恶意软件在受害系统上保持长期持久性。受害组织主要分布在政府服务和设施部门以及信息技术部门。BRICKSTORM 是一个针对 VMware vSphere(特别是 VMware vCenter 服务器和 VMware ESXi)和 Windows 环境的复杂后门。

攻击者已被观察到针对 VMware vSphere 平台。一旦被攻破,攻击者可以利用他们对 vCenter 管理控制台的访问权限,窃取克隆的虚拟机快照以提取凭据,并创建隐藏的、恶意的虚拟机。

CISA 分析了从受害组织获得的八个 BRICKSTORM 样本,包括一个 CISA 进行了事件响应参与的组织。在该组织中,PRC 国家支持的网络攻击者在 2024 年 4 月获得了对其内部网络的长期持久性访问权限,并将 BRICKSTORM 恶意软件上传到内部 VMware vCenter 服务器。

CISA、NSA 和 Cyber Centre 敦促各组织使用本恶意软件分析报告中的危害指标 (IOC) 和检测特征来识别 BRICKSTORM 恶意软件样本。如果识别到,请遵循“事件响应”部分中的指导。

恶意软件概述

BRICKSTORM 是一个自定义的、基于 Go 语言的可执行与可链接格式 (ELF) 后门。分析的样本在功能上有所不同,但都使攻击者能够保持隐蔽访问,并提供初始化、持久性和安全命令与控制 (C2) 的能力。即使分析的样本是针对 VMware vSphere 环境的,但也有关于 Windows 版本的报告。

BRICKSTORM 通过运行检查来启动,并通过使用自我监视功能来保持持久性,如果被中断,它会自动重新安装或重新启动。

对于 C2,BRICKSTORM 使用多层加密(HTTPS、WebSockets、嵌套的传输层安全协议)来隐藏其与攻击者 C2 服务器的通信。它还使用 DNS-over-HTTPS (DoH) 并模拟 Web 服务器功能,以使其通信与合法流量融合。对于远程系统控制,BRICKSTORM 为攻击者提供系统上的交互式 shell 访问权限,并允许他们浏览、上传、下载、创建、删除和操作文件。此外,一些样本充当 SOCKS 代理,促进横向移动并允许攻击者危害其他系统。

恶意软件交付

在 CISA 进行事件响应参与的受害组织中,PRC 国家支持的网络攻击者在 2024 年 4 月 11 日访问了一台 Web 服务器。该 Web 服务器位于组织的隔离区 (DMZ) 内,攻击者通过服务器上存在的 Web shell [T1505.003] 访问了它。事件数据没有表明他们如何获得对 Web 服务器的初始访问权限,或者 Web shell 是何时被植入的。同一天,攻击者使用服务账户凭据 [T1078],通过远程桌面协议 (RDP) [T1021.001] 从 Web 服务器横向移动到 DMZ 中的一个域控制器,并从中复制了 Active Directory (AD) 数据库 (ntds.dit) [T1003.003]。

2024 年 4 月 12 日,攻击者使用与第二个服务账户关联的凭据,通过 RDP 从 Web 服务器横向移动到内部网络中的一个域控制器。随后,他们复制了 AD 数据库,获得了一个托管服务提供商 (MSP) 账户的凭据。利用 MSP 凭据,攻击者继续从内部域控制器移动到 VMware vCenter 服务器。

从 Web 服务器,攻击者还使用服务器消息块 (SMB) 横向移动到两个跳板服务器和一个 ADFS 服务器,并从那里窃取了加密密钥。

在获得对 vCenter 的访问权限后,攻击者使用 sudo 命令 [T1548.003] 提升权限,将 BRICKSTORM 恶意软件放入服务器的 /etc/sysconfig/ 目录 [T1105],并修改了系统中的 init 文件(位于 /etc/sysconfig/)以运行 BRICKSTORM。

修改后的 init 文件控制 VMware vSphere 系统上的启动过程 [T1037] 并执行 BRICKSTORM。

恶意软件元数据

有关分析样本的元数据,请参见表 1 至表 8。

表 1. BRICKSTORM 样本 1
文件名: vmsrc
大小: 7692288 字节
类型: ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),静态链接,已剥离
MD5: 8e4c88d00b6eb46229a1ed7001451320
SHA1: 9bf4c786ebd68c0181cfe3eb85d2fd202ed12c54
SHA256: aaf5569c8e349c15028bc3fac09eb982efb06eabac955b705a6d447263658e38
SHA512: 5e654776e9c419e11e6f93a452415a601bd9a2079710f1074608570e498a9af37b81bb57c98cb8bb626c5ee4b3e35757d3ae8c1c3717f28d9f3fe7a4cebe0608
ssdeep: 49152:9lDeYNeYunc1S3/U05q+CIKUbwgBfd1Vww/uUJSZina/TokDDko0n8oQhEoAgsUJ:O3lcE380sIDbdB11p3i/TokEIowlb/r
: 5.993799

表 2 至表 8 详细列出了其他 7 个样本的元数据,包括文件名、大小、哈希值和熵值。格式类似,信息从略。

恶意软件功能

所有分析的样本都使攻击者能够保持隐蔽访问,并提供环境配置(初始化)、持久性和安全 C2 的能力。虽然初始化和持久性功能在各样本中相似,但安全 C2 功能各不相同。BRICKSTORM 使用自定义处理程序来设置 SOCKS 代理、在受感染系统上创建 Web 服务器以及在受感染系统上执行命令。

样本 7 和 8 设计用于虚拟化环境,使用虚拟套接字接口来促进虚拟机间通信、数据窃取和保持持久性。

大多数样本使用异或密码加密来隐藏关键字符串,例如公共 DoH 服务器的 IPv4 地址。

初始化能力

执行时,BRICKSTORM 运行检查,可以重新安装和重新启动自身以保持持久性。BRICKSTORM 启动一个函数(在某些样本中称为 main_startNew)来配置特定于受感染环境的环境变量,使其能够有效运行。随后,BRICKSTORM 识别其是否已处于预期状态,并根据以下逻辑继续运行、复制自身执行或终止:

  1. 环境变量检查:BRICKSTORM 检查指定的环境变量(因样本而异,见表 9)以确定它是否作为子进程运行。
  2. 文件路径验证和复制:如果 BRICKSTORM 从已验证的路径运行,它会将自身复制到具有特定文件名的特定位置。
  3. 终止:如果 BRICKSTORM 不是从已验证的路径运行,它将终止自身执行。

持久性能力

为确保其持续运行,BRICKSTORM 在运行时使用内置的自我监控和持久性功能。具体来说,它具有一个内置的自我监视函数(在某些样本中称为 main_selfWatcher)以保持持久性。该函数监视 BRICKSTORM 是否正确运行,如果没有,BRICKSTORM 会重新安装并执行自身,模拟其初始化能力。

安全命令与控制

通过初始化检查后,BRICKSTORM 建立与 C2 服务器的连接,保护与服务器的通信,并使攻击者能够完全控制受感染系统。这种控制包括文件系统管理和交互式 shell 访问等功能。在大多数样本中,BRICKSTORM 还提供 SOCKS 代理以促进隧道和横向移动。

这些功能的实现在各样本间有所不同,样本 7 和 8 针对虚拟化环境有显著差异。

样本 1

  • 初始连接到 C2 服务器:样本 1 首先为硬编码的 C2 域创建加密的 DNS 查询。该样本使用 DoH,通过向以下合法的公共 DoH 解析器之一发送加密的 HTTPS 请求 [T1071.001] 来解析其 C2 服务器的地址。
  • 建立安全通信:样本 1 使用 HTTPS 与 C2 服务器建立加密连接,然后将会话升级为具有额外 TLS 加密层的 WebSockets。
  • 完全系统控制:一旦与 C2 域建立安全连接,样本 1 使用自定义的 Go 包 wssoft2 来管理传入的网络连接和处理接收到的命令。命令根据所需功能被定向到三个处理程序之一:SOCKS 处理程序、Web 服务处理程序和命令处理程序。

样本 2 至 6

  • 初始连接到 C2 服务器:与样本 1 类似,这些样本为硬编码的 C2 域创建加密的 DNS 查询,并使用 DoH 解析其 C2 服务器的地址。
  • 建立安全通信:与样本 1 类似,这些样本与 C2 服务器建立 WebSocket Secure (WSS) 连接并设置多路复用层。
  • 完全系统控制:一旦通过 WebSockets 与 C2 服务器建立连接,这些 BRICKSTORM 样本接收的命令被定向到四个特定处理程序之一,以在受感染系统上执行任务:SOCKS 处理程序、Web 服务处理程序、命令处理程序或 CommandNoContext 处理程序。

样本 7

  • 初始连接到 C2 服务器:样本 7 从环境变量检索配置参数,执行检查,生成用于与 BRICKSTORM 客户端进行安全通信的 TLS 配置,并启动网络通信例程。此样本还使用 VSOCK 接口来促进虚拟机间通信、支持数据窃取和维护在虚拟化环境中的持久性。
  • 建立安全通信:样本 7 建立具有最少外部依赖性的安全 WebSocket 服务器;具体来说,所有通信都使用内存中的自签名证书进行加密。
  • 完全系统控制:一旦与 C2 服务器建立 WSS 连接,样本 7 通过四个处理程序之一处理传入命令:Web 服务处理程序、命令处理程序、VSOCK 代理处理程序或 VSOCK 处理程序。

样本 8

与样本 7 类似,样本 8:

  1. 从环境变量检索 C2 参数。
  2. 使用内存中的自签名 X.509 证书和相应的 2048 位 RSA 私钥来促进加密通信,而不依赖 CA。
  3. 建立一个安全的 WebSocket 服务器以进行加密通信。
  4. 将命令定向到特定的处理程序。

检测

YARA 规则

部署表 12 中的 CISA 创建的 YARA 规则以检测恶意活动。

表 12. YARA 规则
BRICKSTORM 规则 1
YARA规则内容从略
BRICKSTORM 规则 2
YARA规则内容从略

Sigma 规则

部署表 13 中的 CISA 创建的 Sigma 规则以检测 BRICKSTORM。

表 13. Sigma 规则
BRICKSTORM
Sigma规则内容从略

其他检测资源

有关检测 BRICKSTORM 的更多资源,请参考报告中列出的第三方分析,包括 Google Mandiant、NVISO 和 CrowdStrike 提供的检测规则和工具。

事件响应

美国组织:如果检测到 BRICKSTORM、类似恶意软件或可能相关的活动,CISA 和 NSA 敦促各组织按照法律和适用政策的要求报告活动。为使 CISA 能够提供量身定制的事件响应协助并全面了解此活动,CISA 和 NSA 敦促各组织:

  1. 立即通过 CISA 的 24/7 运营中心、1-844-Say-CISA 或 CISA 的事件报告系统报告发现。请说明活动与 BRICKSTORM 相关,CISA 将联系下一步行动。
  2. 使用 CISA 的恶意软件分析提交表提交包含恶意代码的文件。在“开放事件 ID”字段中包含 CISA 提供的事件 ID 号。

加拿大组织:通过电子邮件联系 Cyber Centre 或在线上通过报告工具报告事件。

缓解措施

CISA、NSA 和 Cyber Centre 建议组织根据攻击者的活动实施以下缓解措施,以提高组织的网络安全态势。这些缓解措施与 CISA 和国家标准与技术研究院 (NIST) 制定的跨部门网络安全性能目标 (CPG) 保持一致。

  • 将 VMware vSphere 服务器升级到最新版本 [CPG 1.E]。
  • 通过应用 VMware 的指南来强化您的 VMware vSphere 环境。
  • 清查所有网络边缘设备 [CPG 1.A],并监视来自这些设备的任何可疑网络连接。
  • 确保适当的网络分段限制从 DMZ 到内部网络的网络流量 [CPG 2.F]。
  • 禁用从 DMZ 到内部网络的 RDP 和 SMB。
  • 应用最小权限原则,并将服务账户的权限限制在仅需要的范围内。
  • 加强对服务账户的监控,这些账户具有高权限并具有可预测的行为模式。
  • 阻止未经授权的 DoH 提供商和外部 DoH 网络流量,以减少未受监控的通信。

附录 A: MITRE ATT&CK 技术

有关本报告中引用的所有威胁攻击者策略和技术的表格,请参见原文的表 14 至表 20。包括持久性、权限提升、防御规避、发现、凭据访问、命令与控制、数据窃取等类别下的具体技术编号和使用描述。

附录 B: 在远程主机上扫描的指导

以下工具旨在支持识别潜在恶意工件和活动,但不应用作独立的检测机制。

  • 使用 Nessus 进行远程 YARA 扫描:提供了通过 Nessus 配置和运行 YARA 扫描的详细步骤。
  • 不使用 Nessus 进行远程 YARA 扫描:提供了通过 SSH 挂载远程服务器文件系统并运行 YARA 扫描的命令行方法。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计