BREEZE COMET:从社工入侵到巴西支付系统欺诈的攻击链拆解

2026-09-01 47 预计阅读时间: 1 分钟
来源: cloud.google.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:14 分钟

BREEZE COMET(此前由 Mandiant 以 UNC5669 跟踪)针对巴西金融服务、零售、电商、金融科技和银行软件提供商发动了持续入侵。它的目标并非单纯窃取终端数据,而是夺取能够操作 Pix、STR、Boleto 等支付系统的身份、证书和网络路径,最终直接发起欺诈转账。

这类活动值得重视的地方,在于攻击者把社会工程、被攻陷的政府网站、定制化 C2、云环境和金融业务流程串成了一条完整链路。同时,GTIG 观察到其使用生成式 AI 辅助编写侦察、凭据验证、批量部署和数据提取脚本,使攻击准备和扩展速度进一步提高。

攻击目标:交易权限比终端数量更重要

BREEZE COMET 通常需要同时满足几项条件:

  • 通过拥有金融网络访问权的组织进入巴西国家金融系统网络 RSFN。
  • 获取可以向 Pix、STR 或其他交易监听器发送经过 mTLS 认证请求的凭据。
  • 持续控制目标组织中的多个 Active Directory 或云账户。
  • 理解转账审批、金融软件集成、Webhook、反欺诈规则和网络分段方式。

因此,防守重点不能只放在“是否发现了恶意文件”。即使终端上的恶意软件被清理,如果攻击者仍掌握云访问令牌、mTLS 私钥、服务账户或金融应用管理员权限,风险依旧存在。

初始访问:可信域名和可信身份被同时滥用

早期活动中,攻击者使用密码喷洒,并通过冒充 IT 支持人员的电话诱导员工安装 AnyDesk 等 RMM 工具。摘要还提到,攻击者可能尝试招募内部人员。

在后续活动中,攻击者利用被攻陷的巴西小型政府网站托管 RMM 工具、伪装成税务或收据文件的窃密程序,例如 ComprovantePDF.exe,以及 XWORM 等后门。被攻陷的政府域名可以绕过部分依赖域名信誉或 .gov 白名单的网络控制,因此“域名看起来可信”不能作为放行依据。

攻击者还被观察到将未经授权的硬件设备直接接入零售门店网络,再通过内部系统横向移动。另有报告指出,JBoss AS 漏洞也可能被用于初始入侵。对零售和分支机构而言,网络机柜、墙面网口和交换机端口都属于安全边界的一部分。

横向移动与持久化:多套后门形成冗余架构

BREEZE COMET 利用被劫持的服务账户创建 RDP 会话,并通过 SMB 共享执行命令。为了穿过金融网络的边界防火墙,攻击者部署了 COBALTSPIN。这是一款使用 Rust 编写的轻量级网络隧道工具,通过 WebSocket 建立反向 SOCKS5 代理,将内部金融 API 的网络流量转发到 C2。

持久化组件呈现出多语言、多路径的特点:

  • LIGHTPAINT:Java 后门,用于安装和配置 SoftEther 等合法 VPN,并修改 Windows Defender 防火墙规则。
  • MILDFROST:隐藏在 JVM 进程空间中的 Java JAR 后门,可利用 DNS 隧道作为低速 C2 和备用通信通道。
  • KICKPLATE:Nim 编写的后门,伪装成 Windows Update Health Tools,可控制 SOCKS5 隧道、注册表启动项和 Windows 服务。
  • BOATBEAM:Go 编写的后门,在 443 端口伪装 IIS HTTPS 服务,收到特定会话 Cookie 后才启用 C2 功能。
  • XWORM、恶意快捷方式、计划任务以及 Kubernetes Pod:用于补充主机、云和容器环境中的持久访问。

攻击者还直接执行 Set-MpPreference -DisableRealtimeMonitoring $true 关闭 Windows Defender 实时监控,并清理网络和主机事件日志。看到防护状态被修改、VPN 配置出现异常、SYSTEM 账户创建计划任务,应该视为高优先级事件,而不是普通的配置漂移。

侦察重点:从 AD 扩展到 CI/CD 和金融密钥

BREEZE COMET 使用 Impacket、ADRecon、ADVipscan 等公开工具,也部署了用于 LDAP 暴力尝试的定制工具 REALBREEZE。相关工具可能从 GitHub 下载后通过 PowerShell 在内存中执行,这会让传统的文件扫描失效。

攻击者尤其关注开发和云环境中的硬编码秘密,包括:

  • CI/CD 流水线凭据。
  • API Key 和云访问令牌。
  • 环境变量与主机文件中的 mTLS 私钥、证书和管理员凭据。
  • 金融软件配置、CNAB 文件处理流程和 Pix Webhook。

摘要列出的搜索词包括 boletocnabremessawebhook.*pixinstant.*payment。防守方可以将这些词加入敏感文件访问、代码仓库扫描和终端命令审计规则,但应结合业务环境调优,避免仅凭单一字符串误报。

交易阶段:入侵后的窗口可能只有 24 至 48 小时

取证显示,攻击者使用 COBALTSPIN 和被攻陷的特权账户访问核心金融应用。在一个案例中,建立访问权限后的 24 至 48 小时内,攻击者执行了两轮、每轮数百笔的欺诈交易。完成任务后,他们清理主机日志并删除入侵期间创建的目录,以降低调查可见性。

这意味着金融机构需要把“身份与交易行为”放在同等甚至更高的位置:新设备登录、服务账户发起 RDP、异常 API 调用、短时间内批量收款人变化和超出基线的交易请求,应进入统一的风险检测流程。

可以落地的防守配置与检测

下面的示例假设组织已经拥有集中式日志平台。它不应直接照搬到生产环境,而应先在测试主机和日志管道中验证字段名称、告警频率与业务例外。

1. Linux 临时目录执行审计

可以先快速检查常见可写目录中的可执行文件,并检查挂载参数。该命令只读,不会修改系统:

#!/usr/bin/env bash
set -u

for dir in /tmp /var/tmp /home; do
  if [ -d "$dir" ]; then
    echo "=== Executables under $dir ==="
    find "$dir" -xdev -type f -perm /111 -printf '%M %u %g %s %TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null | head -200
  fi
done

echo "=== Mount options ==="
findmnt -no TARGET,OPTIONS /tmp /var/tmp /home 2>/dev/null || true

长期控制可以通过应用白名单、将 /tmp/var/tmp 挂载为 noexec,以及使用 Linux fapolicyd 限制用户可写目录中的程序执行来实现。noexec 不是完整的安全边界,解释器仍可能读取脚本,因此还需要审计 Bash、Python、Java 和 PowerShell 等解释器的启动行为。

2. Windows PowerShell 和持久化检测

可以在 SIEM 中对以下行为建立关联告警:

Event ID 4104 + Set-MpPreference -DisableRealtimeMonitoring $true
Event ID 4698 + schtasks.exe + /ru SYSTEM
新建 Windows 服务 + 服务二进制位于 %APPDATA%、%TEMP% 或用户目录
用户 Startup 目录新增 .lnk 文件
RDP 登录 + 随后访问多个 SMB 管理共享

应启用 PowerShell Script Block Logging、AMSI 和 Constrained Language Mode,并限制非授权 RMM 软件和便携式可执行文件。对 AnyDesk 等工具不能只按文件名封锁,还应结合软件清单、签名、安装来源、启动账户和网络连接分析。

3. Kubernetes 和云环境

可以使用 Kyverno 为工作负载添加基础约束,阻止特权容器和高风险挂载。以下 YAML 是可改造的示例策略,具体字段需根据集群版本和 Kyverno 版本验证:

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: block-privileged-workloads
spec:
  validationFailureAction: Enforce
  background: true
  rules:
    - name: disallow-privileged
      match:
        any:
          - resources:
              kinds:
                - Pod
      validate:
        message: "Privileged containers are not allowed."
        pattern:
          spec:
            containers:
              - securityContext:
                  =(privileged): "false"
    - name: disallow-host-path
      match:
        any:
          - resources:
              kinds:
                - Pod
      validate:
        message: "hostPath volumes require an approved exception."
        pattern:
          spec:
            =(volumes):
              - X(hostPath): "null"

同时,应限制 ServiceAccount 权限,记录 Secret 访问,使用集中式 Secrets Manager 消除代码和流水线中的明文密钥,并通过 NetworkPolicy 限制 Pod 向公开记事本网站等非业务平台发起出站连接。

4. 网络与物理边界

  • 在门店和分支机构交换机端口启用 802.1X NAC。
  • 关闭未使用端口,并对关键端口启用 MAC 数量限制。
  • 将 SMB 445 和 RDP 3389 限制在必要的服务器、跳板机和管理网段之间。
  • 对出站 TLS 流量实施适当的解密与深度检测,不依赖 .gov 域名白名单。
  • 限制非必要的出站端口和协议,重点监控 SOCKS、WebSocket、DNS 隧道及 Chisel、GSocket 等隧道工具。
  • 将金融工作负载隔离到基于身份和 Layer 7 的微分段中,管理员只能通过 PAM 管理的专用跳板机访问。

IOC 与规则使用边界

摘要提供了 COBALTSPIN、REALBREEZE、MILDFROST、BOATBEAM、KICKPLATE 和 XWORM 的文件哈希,以及被滥用的政府站点和 dontpad[.]com 等网络指标。组织可以将这些指标导入 EDR、DNS、代理和邮件网关,但 IOC 只能覆盖已知样本和基础设施,不能替代行为检测。

可进一步部署摘要中提到的 YARA 规则,用于识别 REALBREEZE、COBALTSPIN、BOATBEAM 和 MILDFROST。规则落地前应在内部样本库中测试误报,并核对规则适用的文件格式、架构和样本版本。对于 DNS 隧道、批量交易和金融 API 滥用,身份、网络和应用日志的关联通常比单个哈希更有价值。

防守清单

  • [ ] 阻断未经批准的 RMM 和用户可写目录执行。
  • [ ] 对 VPN、SaaS、CI/CD 和云控制台启用抗钓鱼 MFA。
  • [ ] 轮换并集中托管 mTLS 证书、API Key、服务账户凭据和云令牌。
  • [ ] 记录 Pix、STR、Boleto 及相关金融 API 的调用者、设备、IP、证书和交易基线。
  • [ ] 启用 PowerShell 4104、AMSI、Windows 服务、计划任务、RDP、SMB 和防火墙变更日志。
  • [ ] 在分支机构部署 802.1X,并保护交换机、机柜和公共网口。
  • [ ] 对 Kubernetes 特权 Pod、异常 Secret 读取和非必要出站连接告警。
  • [ ] 为异常批量转账设计快速冻结、凭据吊销和证书撤销流程。

BREEZE COMET 的关键变化,是从高频、机会主义的零售欺诈转向直接入侵支付软件、核心金融网络和交易 API。组织需要把终端防护、身份安全、云与 CI/CD 秘密管理、网络分段和交易风控放到同一条检测链路中。生成式 AI 可能缩短攻击者从侦察到部署的周期,因此响应流程也必须围绕分钟级发现、吊销和阻断进行设计。


相关推荐