俄罗斯APT组织利用Zimbra零日漏洞窃取邮件与2FA码,持续数月渗透西方机构

俄罗斯APT组织TA488利用Zimbra Collaboration零日漏洞CVE-2025-66376(存储型XSS)实施零点击攻击,窃取邮件、2FA恢复码及密码。攻击持续数月,针对北约、乌克兰等政府与核设施。本文详解攻击链、IOC指标及缓解措施,包括升级至10.1.13+、审计应用密码、监控DNS外传等。

🎯 Critical APT组织

俄罗斯国家支持的间谍组织(TA488/CL-STA-1114)利用Zimbra Collaboration中一个已修复的存储型XSS零日漏洞(CVE-2025-66376),通过精心构造的HTML邮件实现零点击触发,窃取目标邮箱最后90天的邮件、全局地址簿、浏览器保存的密码以及2FA恢复码。该活动于2025年7月开始,主要针对北约成员国、乌克兰、独联体及非洲的政府、国防、交通、金融和核设施,美国机构同样在列,截至2026年2月仍有活跃迹象。

来源:The Hacker News | 2026-07-23 | 原文链接

🔍 关键发现

  • 漏洞CVE-2025-66376为Zimbra Classic UI存储型XSS,通过CSS @import标签拆分绕过sanitizer,邮件渲染即触发,无需用户交互。
  • Payload(ZimReaper)通过DNS查询外传数据,并利用Zimbra API创建免2FA的应用专用密码(ZimbraWeb),实现持久化访问。
  • 攻击者至少使用了9个C2 IP地址和9个域名,每个服务器平均存活35.4天;活动最早可追溯至2025年7月,且补丁发布后已有其他威胁组织利用同一漏洞。

⚔️ 攻击链分析

1. 攻击者从ProtonMail账户或已失陷邮箱发送带恶意HTML的邮件,内含隐藏的标签及CSS @import拆分序列。 2. 用户打开或预览邮件,Zimbra Classic UI渲染时触发JavaScript,执行Base64解码后的payload。 3. Payload窃取CSRF Token、浏览器自动填充密码、2FA恢复码及Zimbra版本,并通过SOAP API创建应用专用密码(ZimbraWeb),启用IMAP。 4. 向C2服务器发起DNS查询外传数据,同时暴力枚举全局地址簿并打包最近90天邮件外泄。

🚩 失陷指标 (IOC)

  • C2域名:具体列表见Palo Alto Networks Unit 42报告(平均生存35.4天)
  • C2 IP地址:至少9个,未公开
  • 攻击者使用的ProtonMail账户(未公开)
  • YARA规则:Proofpoint发布的tag-splitting模式匹配规则

🛡️ 缓解建议

  • ✅ 升级Zimbra Collaboration至10.1.13及以上版本(10.0已EOL,需迁移至10.1),同时立即修补所有Classic Web Client的XSS漏洞(最新版10.1.20)。
  • ✅ 检查/opt/zimbra/log/audit.log中CreateAppSpecificPassword调用,删除名为ZimbraWeb的应用专用密码;重置所有可能受影响账户的密码、失效会话并重新生成2FA scratch codes。
  • ✅ 监控SOAP调用GetScratchCodesRequest(正常使用极少);对启用zimbraPrefImapEnabled但无业务需求的账户进行告警;过滤DNS日志中已知C2域名的长随机子域名查询。

涉及漏洞:[]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ 该漏洞如何在不打开附件的情况下触发?

邮件正文包含隐藏的<svg onload>标签,通过CSS @import指令和HTML注释进行标签拆分,Zimbra sanitizer无法识别,浏览器渲染时自动执行JavaScript。

❓ 如何检测环境中是否存在ZimReaper后门?

检查audit.log中的CreateAppSpecificPassword调用和GetScratchCodesRequest;筛选DNS日志中长随机子域名查询或已知C2域名;使用Proofpoint发布的YARA规则扫描邮件HTML。

❓ 补丁发布后,已失陷账户如何彻底清理?

补丁仅阻止新攻击,需手动重置密码、失效所有会话、重新生成2FA恢复码,并删除名为ZimbraWeb的应用专用密码,同时禁用非必要IMAP功能。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)