俄罗斯间谍组织利用 Zimbra 零日漏洞窃取邮件和 2FA 代码
- 浏览次数 2250
- 喜欢 0
一个受俄罗斯国家支持的间谍组织,通过 Zimbra 网页邮件客户端中一个当时未知的漏洞,花费数月时间读取西方国家的邮箱。
该 payload 针对过去 90 天的邮件、组织的整个邮件目录、浏览器中保存的密码以及用于双因素恢复的代码。打开邮件就足以触发它。
NSA、CISA 及合作机构于周四联合发布了一份关于该活动的公告,同时发布的还有 Palo Alto Networks 的 Unit 42 和 Proofpoint 的研究。
该公告将这种技术称为"基于视图的利用,只需用户在易受攻击的客户端中查看恶意邮件即可"。公告称,至少自 2025 年 7 月以来,这些行为者一直在通过 Zimbra 针对并入侵西方政府和商业组织。
该漏洞 CVE-2025-66376 是 Zimbra Classic UI 中的一个存储型跨站脚本漏洞。一封精心构造的 HTML 邮件滥用 CSS @import 处理,在已认证的网页邮件会话中执行 JavaScript,因此 payload 继承了用户对邮箱的访问权限。
两个 CVSS 评分对于查看邮件是否算作用户交互存在分歧:NVD 评分为 6.1,并认为算作用户交互;MITRE 评分为 7.2,并认为不算。Unit 42 称其为零点击。三者描述的行为相同:邮件在渲染时执行,无需其他操作。
该漏洞影响 Zimbra Collaboration 10.0(10.0.18 之前版本)和 10.1(10.1.13 之前版本)。Zimbra 于 2025 年 11 月 6 日修复了该漏洞,CISA 于 2026 年 3 月 18 日将其添加到已知被利用漏洞目录中。Proofpoint(将该行为者追踪为 TA488)表示,该组织在 2025 年期间,在修复程序发布之前,将该漏洞作为未知漏洞利用了至少五个月。
补丁修复了漏洞,但未修复账户。更新不会撤销 payload 已经获取的凭据。
Proofpoint 表示,这些邮件从对手控制的 Proton Mail 账户以及此前被入侵的地址发出,使用了通用的诱饵。Unit 42(将该活动追踪为 CL-STA-1114)表示,这些邮件通常伪装成当前新闻摘要。该利用代码位于 HTML 正文中。
它将一个 svg onload 标签隐藏在 display:none div 内部,然后通过伪造的 @import 指令和 HTML 注释将标签拆分开来——Proofpoint 称这种技术为标签拆分(tag-splitting)。Zimbra 的清理器无法将这些片段识别为可执行标记。它会剥离 @import 序列,而留下的字符由浏览器执行。
Proofpoint 将 JavaScript payload 追踪为 ZimReaper。它窃取 CSRF token 和浏览器自动填充的密码,通过平台自身的 API 拉取 2FA 恢复码和 Zimbra 版本详情,并通过 DNS 查询将其外传到行为者的基础设施。然后它暴力破解全局地址列表,查询每两个字符的组合,直到获取整个列表,并将受害者过去 90 天的邮件以 TGZ 存档形式发送到 C2。
Unit 42 统计到至少 9 个 C2 IP 地址和 9 个域名,每个服务器平均存活 35.4 天。它未点名受影响的组织,也未提供受害者数量。其涉及的行业和地区列表描述了谁是被攻击目标,但未说明谁被入侵。该列表涵盖北约成员国、乌克兰、独联体和非洲的政府、国防、运输和金融组织。Proofpoint 也将美国组织列入其中:政府、科学和国防工业基础实体,包括核设施。
该 payload 通过 CreateAppSpecificPasswordRequest 生成一个名为 ZimbraWeb 的应用专用密码,该密码可以授予 IMAP、POP3 或 SMTP 访问权限,无需双因素认证。Proofpoint 表示,TA488 随后从被入侵的邮件服务器发送了更多的利用邮件,并且无法确定是应用密码还是其他被盗凭据使其重新进入系统。
在 Seqrite 分析的 1 月份案例中,涉及乌克兰一家国家水文机构,该 payload 还将 zimbraPrefImapEnabled 设置为 TRUE。"应用专用密码在密码重置后仍然有效,"研究人员写道。
打补丁,然后检查账户
Zimbra 10.0 已于 2025 年 12 月 31 日停止支持,这使得 10.0.18 成为一个紧急底线而非最终目标。最新的 10.1 版本是 7 月 20 日发布的 10.1.20,它修复了 Classic Web Client 中的另外四个存储型 XSS 漏洞。
将 10.1 部署升级到至少 10.1.13,并将 10.0 部署迁移到受支持的 10.1 版本。然后检查账户。任何在易受攻击的 Classic UI 会话中打开或预览过匹配邮件的邮箱都应被视为可能已被入侵:重置密码、使活动会话失效、并重新生成 2FA 恢复码。
已送达但从未打开的邮件应被拉取,并检查其 HTML 中是否存在碎片化的 @import 模式——Proofpoint 发布的 YARA 规则可以匹配。更新不会执行以下任何检查。
这些检查来自 Proofpoint 和 Seqrite 的指南:
- 审查对 CreateAppSpecificPassword 的调用,并删除任何名为 ZimbraWeb 的凭据
- 查找 zimbraPrefImapEnabled 设置为 TRUE 但无业务需要 IMAP 的账户
- 对 GetScratchCodesRequest 的 SOAP 调用发出警报,该调用在正常使用中应几乎不存在
- 过滤 DNS 以查找已发布的 C2 域名,并对 payload 用于外传数据的随机长子域名查询发出警报
仍在活跃?
该活动当前活跃程度取决于你阅读哪家的遥测数据。Unit 42 表示,威胁行为者仍在利用该漏洞积极攻击未打补丁的 ZCS 实例,但未说明该集群是否在其中。
该公告警告称活动仍在进行中,并评估认为,即使随着各组织打补丁该活动逐渐平息,该组织也极有可能继续针对 Zimbra 和其他西方邮件系统。Proofpoint 表示"自 2026 年 2 月以来未观察到 TA488 的任何活动",并将这种沉默归因于 Seqrite 的披露以及该行为者拆除了自身基础设施。两家供应商的遥测数据均未给出定论。
The Hacker News 比较了两份指标列表,发现两者中存在相同的九个域名,这表明 Unit 42 的 CL-STA-1114 和 Proofpoint 的 TA488 共享同一套基础设施。Proofpoint 的首次发现日期从 2025 年 7 月持续到 2026 年 2 月。
该公告将 LAUNDRY BEAR、Void Blizzard、CL-STA-1114 和 TA488 列为社区对这些行为者的称呼,同时警告称映射关系可能并非一一对应。Proofpoint 表示,其自身遥测数据无法将 TA488 与 Void Blizzard 关联起来,是美国政府合作伙伴确认了这种关联。Seqrite 以中等置信度将其 1 月份的案例归因于 APT28,而荷兰情报机构(将 LAUNDRY BEAR 命名)则将其与 APT28 视为不同的行为者。
对于防御者而言,命名的争论改变不了什么。打补丁可以阻止下一封精心构造的邮件运行,但不会撤销上一封邮件留下的东西——这就是为什么账户审查与版本号同样重要。