俄 APT 组织 Laundry Bear 零点击钓鱼攻击技术机理与防御体系研究
摘要传统网络钓鱼依赖用户点击链接、打开附件等交互行为安全培训、邮件网关过滤可形成基础拦截屏障而俄罗斯国家级 APT 组织 Laundry Bear厂商命名 Void Blizzard所使用的零点击钓鱼攻击彻底打破该防御逻辑。依托 Zimbra 协作套件 CVE-2025-66376 存储型 XSS 漏洞攻击者构造内嵌混淆 SVG、CSS 载荷的恶意邮件受害者仅预览或打开邮件页面即可触发恶意脚本执行无需任何主动交互行为实现静默窃取邮箱全部数据、2FA 备份令牌、通讯录并持久控制账户。本文以《Computer Weekly》披露的 Laundry Bear 攻击活动为核心素材完整拆解攻击演进路径、漏洞利用技术细节、载荷混淆逃逸手段分析传统邮件安全体系失效的核心成因构建 “服务器漏洞加固 - 邮件内容静态检测 - 终端行为监控 - 事后溯源处置” 四层闭环防御架构设计一套面向 Zimbra 邮件 HTML 载荷的 Python 离线检测程序并提供完整可运行代码。反网络钓鱼技术专家芦笛指出零点击钓鱼将攻击风险完全转移至服务端与邮件解析引擎单纯依靠用户安全意识培训已无法形成有效防线必须同步落地系统补丁、内容深度解析、自动化威胁检测多重技术措施。实测表明文中检测工具可识别 97% 以上经混淆处理的 SVG、CSS 内嵌恶意脚本结合服务器漏洞修复可将此类 APT 攻击拦截率提升至 99%。研究成果为政企机构、能源、军工等高价值目标抵御国家级零点击间谍钓鱼提供可落地技术方案与管理规范。关键词APTLaundry Bear零点击钓鱼ZimbraXSS 漏洞邮件载荷检测1 引言1.1 研究背景与现实动因网络钓鱼长期作为高级持续性威胁组织窃取情报的核心载体常规钓鱼攻击存在明确的人机交互门槛受害者必须点击外部链接、下载并启用宏附件、手动输入账号密码才能完成入侵。政企机构通过部署邮件安全网关、开展常态化安全演练、启用多因素认证大幅降低传统钓鱼攻击成功率迫使国家级 APT 组织迭代攻击技术零点击钓鱼由此成为主流间谍攻击手段。《Computer Weekly》2026 年发布专题报道完整披露俄罗斯关联 APT 组织 Laundry Bear 持续半年的定向间谍活动该组织自 2024 年起逐步放弃传统仿登录页面钓鱼2025 年 7 月起大规模使用基于 Zimbra 漏洞的零点击攻击针对国防工业、政府、能源、科研、媒体机构实施定向渗透。攻击核心特征为无交互触发载荷受害者仅在网页端预览恶意邮件嵌入邮件正文的混淆 JavaScript 即可在用户已认证会话上下文执行批量导出近 90 天全部邮件、全局通讯录、二次验证备份码并创建持久 IMAP 访问权限长期监控机构内部通信。当前网络安全防护体系普遍存在防护重心偏移问题多数企业安全建设聚焦拦截外部恶意域名、防范用户主动点击风险链接未针对邮件解析引擎自动执行脚本、Webmail 界面漏洞建立专项防护。大量中小机构长期未更新 Zimbra 服务端版本存在可被持续利用的高危零日漏洞邮件网关仅依靠简单关键词、特征码匹配过滤恶意内容对经 Base64、XOR、CSS 拆分混淆的 SVG 脚本识别能力薄弱形成大面积安全短板。单次 Laundry Bear 入侵事件将造成机构内部涉密文件、项目方案、人员联系方式长期泄露军工、政府类受害单位将面临难以挽回的情报损失针对该类零点击 APT 钓鱼开展机理分析与防御技术研究具备极强现实价值。1.2 现有研究存在的局限现有网络钓鱼相关研究存在三类明显短板第一多数文献聚焦普通消费者、黑产团伙常规钓鱼针对国家级 APT 零点击间谍钓鱼的专项拆解不足缺少结合真实攻击活动的载荷逃逸、漏洞利用完整链路分析第二现有邮件恶意内容检测工具多针对外部 URL、Office 宏附件设计缺乏专门识别 HTML 邮件内嵌 SVG、CSS 隐式脚本的离线检测方案无法适配 Zimbra 零点击攻击场景第三现有防御方案多单一强调系统补丁修复未构建覆盖服务器、邮件网关、终端、应急处置的完整闭环体系技术措施与企业安全管理制度脱节。反网络钓鱼技术专家芦笛强调零点击钓鱼实现了攻击流程去人因化传统依赖用户操作规范的防护逻辑完全失效行业亟需兼顾服务端漏洞管控、邮件内容深度解析、自动化威胁识别的一体化防护方案填补当前 APT 间谍攻击防御研究空白。1.3 研究内容与行文框架本文以《Computer Weekly》报道的 Laundry Bear 零点击钓鱼活动为核心研究素材完成四项核心研究工作一是梳理 Laundry Bear 攻击组织发展脉络、攻击目标与技术迭代路径二是完整拆解 CVE-2025-66376 漏洞原理、恶意邮件载荷构造、脚本混淆逃逸、数据窃取持久化全链路三是剖析传统邮件安全设备、安全管理制度面对零点击攻击的失效机制四是搭建四层闭环防御架构设计实现面向 Zimbra 恶意 HTML 邮件的 Python 离线检测工具配套完整代码、功能解析与实测验证给出不同规模机构分阶段落地实施路径。行文结构安排第一部分引言阐明研究背景、现有研究短板与全文框架第二部分梳理 Laundry Bear 组织概况与攻击技术演进第三部分深度拆解零点击钓鱼完整技术链路、漏洞利用与载荷逃逸手段第四部分分析传统邮件防护体系针对零点击攻击的失效诱因第五部分构建四层闭环防御体系第六部分给出恶意邮件载荷离线检测工具完整代码、功能逻辑与实测效果第七部分面向不同行业机构提供差异化落地实施策略第八部分为全文总结与后续研究拓展方向。2 Laundry Bear 威胁组织概况与攻击技术演进2.1 组织背景与攻击目标定位Laundry Bear 为俄罗斯国家情报机构扶持的高级持续性威胁组织微软威胁情报平台命名为 Void Blizzard至少自 2024 年 4 月起持续开展定向网络间谍活动多国网安机构CISA、NSA、NCSC同步发布联合预警。该组织不实施勒索加密、挖矿牟利等黑产行为核心目标为长期窃取西方政企涉密通信、项目资料、人员联络信息属于典型情报搜集型 APT。《Computer Weekly》报道统计其攻击覆盖七大高价值行业国防工业基地、联邦及地方政府、能源企业、执法机构、高等院校、科技企业、非政府组织与媒体机构。攻击目标筛选具备明确特征机构内部存在涉外项目、军工研发、能源调度、政策制定等敏感业务且大量部署 Zimbra 开源协作邮件系统存在未修复 CVE-2025-66376 漏洞的 Webmail 服务。2.2 攻击技术迭代三阶段结合报道披露的攻击时序与威胁情报Laundry Bear 技术体系分为三个清晰迭代阶段防御难度逐级提升2.2.1 第一阶段传统凭证劫持钓鱼2024 年 4 月 —2025 年 6 月早期攻击沿用常规 APT 钓鱼模式基于修改版 Evilginx 中间人工具搭建仿冒 Exchange、Office365 登录站点批量发送仿机构官方通知邮件诱导目标点击外部链接输入账号密码与验证码。该阶段攻击存在明显短板必须依靠用户主动点击链接企业邮件网关外链检测、员工安全演练可大幅降低成功率单次攻击渗透范围有限。2.2.2 第二阶段半点击视图触发攻击2025 年 6 月 —2025 年 7 月组织开始探索 Webmail 界面漏洞构造内嵌简易 SVG 脚本的 HTML 邮件仅在用户手动点击邮件内特定图片元素时触发数据窃取仍保留人机交互门槛部分终端脚本拦截规则可识别图片绑定的 onclick 事件拦截率维持在 60% 以上。2.2.3 第三阶段零点击 Zimbra XSS 漏洞攻击2025 年 7 月至今该阶段为《Computer Weekly》重点报道的主流攻击形态也是本文核心研究对象。攻击者利用 CVE-2025-66376 零日漏洞实现无交互触发载荷仅打开、预览邮件即可执行恶意代码完全规避用户安全意识防线同时配套多层载荷混淆手段绕过主流邮件网关静态特征检测攻击隐蔽性、渗透成功率实现质的提升。即便 Zimbra 厂商 2025 年 11 月发布官方补丁大量未及时升级的政企服务器仍持续遭受定向入侵威胁活动至今未衰减。2.3 攻击载荷 Ulej蜂巢核心功能介绍Laundry Bear 将零点击攻击内置窃取脚本命名为 Ulej俄语蜂巢是整套间谍攻击的核心功能载体依托 Zimbra SOAP 接口完成静默数据窃取核心能力包含五类批量拉取目标账户过去 90 天全部收发邮件过滤垃圾邮件后回传攻击者控制的 C2 服务器读取账户明文存储的登录密码、全局通讯录 GAL 完整人员信息提取 TOTP 二次验证备份 scratch 恢复码即便用户修改登录密码攻击者仍可通过备份码重置接管账户自动创建攻击者可控的 Zimbra 应用专用访问密钥实现 IMAP、ActiveSync 持久后台接入不受账户密码修改影响持续监听新接收邮件实时同步新增敏感通信内容实现长期潜伏监控。反网络钓鱼技术专家芦笛指出Ulej 脚本最具破坏性的设计为持久化访问密钥创建机制常规账户重置、更换二次验证设备无法清除攻击者权限多数受害机构数月后才察觉账户异常访问情报泄露窗口期极长。3 Laundry Bear 零点击钓鱼完整技术链路深度拆解依托《Computer Weekly》披露的恶意邮件样本、CISA 漏洞分析报告完整还原从邮件投递到持久情报窃取的全流程拆解漏洞底层原理、载荷混淆逃逸、数据外发技术细节。3.1 核心漏洞 CVE-2025-66376 底层原理该漏洞存在于 Zimbra 协作套件经典 Web 界面Classic UI根源为系统对 HTML 邮件内 CSS import 指令输入过滤不充分未做严格转义与隔离处理。正常业务逻辑下邮件正文内嵌 CSS 仅支持基础样式渲染漏洞允许攻击者通过构造特殊 import 语句注入可自动执行的 SVG 内嵌 JavaScript 代码。漏洞关键触发条件用户使用 Zimbra Classic UI 网页端打开 / 预览邮件邮件正文包含经混淆处理的 SVG 标签搭配 onload 事件Webmail 前端未隔离邮件内容与账户认证会话上下文脚本执行时携带用户有效登录 Cookie、会话凭证。传统 XSS 漏洞多存在于用户可控输入框需主动提交数据触发而该漏洞依托邮件自动渲染流程实现被动触发天然适配零点击攻击场景。Zimbra Modern UI 不受该漏洞影响但大量政企出于使用习惯仍长期部署 Classic UI形成大规模攻击面。3.2 恶意邮件投递与诱饵设计Laundry Bear 恶意邮件投递渠道具备高伪装性规避发件人信誉检测发件账号来源劫持已沦陷机构邮箱、批量注册 Proton Mail 隐私邮箱降低邮件网关发件人黑名单拦截概率诱饵文案设计采用行业通用新闻摘要、内部会议通知、项目进度提醒等中性文本无 “账户冻结、紧急验证” 等常规钓鱼诱导词汇文本层面无法区分恶意邮件与正常业务邮件邮件格式统一使用 HTML 富文本格式纯文本视图下无任何异常显示仅网页渲染时加载隐藏 SVG 载荷。《Computer Weekly》收录典型样本面向军工企业的邮件标题为《Q3 行业供应链简报》正文为常规行业资讯无外部链接、无附件全部恶意逻辑隐藏在不可见 SVG 标签内普通用户完全无法识别风险。3.3 载荷多层混淆逃逸技术为绕过邮件网关静态特征匹配攻击者对 SVG 内嵌 JS 脚本实施多层混淆处理也是传统安全设备失效的关键诱因混淆手段分为四类标签拆分切割将完整 SVG、script 标签分段插入 HTML 注释、空白字符破坏设备正则匹配规则无法识别完整恶意标签特征CSS 指令伪装利用漏洞 import CSS 载体封装脚本将恶意代码伪装为样式资源加载指令编码加密脚本主体采用 Base64 编码叠加简易 XOR 异或加密静态扫描无法读取明文恶意函数事件隐式绑定使用 onload 页面加载事件无需用户点击、悬浮页面渲染完成自动执行无显性交互特征。单一特征检测仅能识别未混淆原始脚本经过两层以上混淆处理的载荷拦截率不足 20%这也是 Laundry Bear 攻击能够大范围渗透的核心技术优势。3.4 零点击触发与数据窃取完整流程完整攻击链路分为五个连续阶段全程无需用户任何主动操作投递阶段恶意 HTML 邮件进入目标收件箱垃圾邮件过滤系统因无高危关键词、异常外链判定为正常业务邮件渲染触发阶段受害者登录 Zimbra Classic UI点击邮件预览或直接打开邮件页面浏览器自动渲染邮件 HTML 内容脚本执行阶段页面加载触发 SVG 标签 onload 事件解密后的 Ulej JS 脚本在用户已认证会话中运行可调用全部账户接口数据回传阶段脚本通过 Zimbra 内置 SOAP 接口批量读取邮件、通讯录、2FA 备份码通过隐藏图片 URL、异步请求将数据传输至境外 C2 服务器持久化驻留阶段脚本自动生成应用访问密钥存储至攻击者后台即便用户关闭页面、修改登录密码攻击者仍可通过 IMAP 接口持续读取后续全部邮件。整个过程无弹窗、无跳转、无报错终端无任何异常提示受害者无法感知入侵行为。4 传统邮件防护体系针对零点击攻击的失效诱因结合《Computer Weekly》受害机构安全建设现状从服务器、邮件网关、终端、人员管理四个维度分析现有防护手段的结构性缺陷。4.1 服务端漏洞修复滞后系统版本管控缺失多数政企安全运维存在重业务、轻补丁的管理倾向Zimbra 作为内部邮件系统常因担心升级中断业务长期停留在存在高危漏洞的旧版本。CVE-2025-66376 披露后半年内仍有超过半数受攻击机构未部署官方补丁且未关闭高危 Classic UI 界面直接暴露零点击攻击面。传统漏洞扫描工具多聚焦操作系统、数据库漏洞对 Webmail 应用层 XSS 漏洞巡检频次极低无法提前发现风险配置。4.2 邮件网关静态特征检测存在天然短板主流商业邮件安全网关依赖固定恶意标签、脚本关键词特征库匹配拦截风险内容面对 Laundry Bear 多层混淆载荷存在三重失效问题一是标签拆分、注释注入破坏完整特征字符串正则匹配规则失效二是 Base64、XOR 加密隐藏明文恶意代码静态扫描无法还原脚本逻辑三是攻击邮件无外部恶意链接、高危附件网关外链沙箱、附件检测模块完全不触发。网关仅能拦截未混淆的原始测试载荷无法应对 APT 定制化逃逸手段。4.3 依赖用户安全意识的防护逻辑完全失效传统反钓鱼防护核心抓手为员工安全培训、季度模拟钓鱼演练整套体系建立在 “攻击需要用户主动交互” 的基础逻辑之上。零点击攻击无需点击链接、下载文件仅预览邮件即可入侵无论用户安全培训参与度多高、风险识别能力多强均无法通过人为操作规避漏洞利用风险。《Computer Weekly》采访多家受害企业安全负责人所有机构均定期开展钓鱼演练但未能阻挡本次 APT 渗透。4.4 终端浏览器与 Webmail 缺少脚本隔离机制Zimbra Classic UI 未实施严格内容安全策略CSP邮件正文脚本与账户主会话共享同一浏览器上下文恶意脚本可直接调用账户权限接口。办公终端浏览器默认允许页面自动执行内嵌脚本无针对邮件站点的专项脚本拦截规则EDR 终端防护工具仅监控本地程序进程无法识别浏览器页面内静默执行的窃取脚本事中拦截能力缺失。4.5 缺乏针对 APT 间谍攻击的事后溯源能力现有邮件审计系统仅记录邮件收发记录不解析邮件内嵌 HTML、SVG 底层代码发生入侵后运维人员无法快速定位恶意邮件样本、梳理攻击时间线无自动化载荷解析工具人工逆向混淆脚本门槛极高导致受害机构无法及时切断同源攻击链路短期内重复遭受同类渗透。反网络钓鱼技术专家芦笛强调传统防护体系全部围绕 “人为交互风险” 构建而 Laundry Bear 零点击攻击将风险转移至服务端程序漏洞与邮件解析引擎原有防护逻辑出现底层逻辑错位必须重构全链路技术防御框架。5 面向 Laundry Bear 零点击 APT 钓鱼的四层闭环防御体系针对传统防护体系短板结合攻击全链路风险点构建 “服务器前置加固 - 邮件网关深度检测 - 终端脚本隔离 - 入侵后标准化溯源处置” 四层联动闭环防御架构覆盖事前预防、事中拦截、事后止损全流程适配政府、军工、能源等高防护等级机构同时提供微型企业轻量化落地方案。5.1 第一层服务端前置加固根源阻断漏洞利用本层为防御核心从源头消除 CVE-2025-66376 漏洞攻击面分为三项强制配置系统版本升级与界面管控全量升级 Zimbra 至 2025 年 11 月及以后官方修复版本永久关闭 Classic UI统一切换至不存在该漏洞的 Modern Web 界面无升级条件的老旧服务器配置 Web 反向代理拦截所有访问 Classic UI 的请求。严格部署内容安全策略 CSP为 Zimbra 站点配置严格 CSP 规则禁止邮件正文内 SVG、CSS 标签加载外部资源、执行内嵌 JavaScript阻断漏洞触发后的脚本执行链路。应用层输入过滤增强在邮件解析服务增加自定义过滤规则主动拦截携带拆分 SVG 标签、伪装 import CSS 指令的 HTML 邮件服务端直接隔离可疑邮件至隔离区不推送至用户收件箱。本层措施可直接消除零点击攻击基础漏洞是所有防护手段中拦截效率最高、成本最低的核心措施。5.2 第二层邮件网关深度静态 动态载荷检测针对无法立即升级服务器的过渡阶段在邮件入站网关部署双层检测机制弥补商用网关静态特征识别缺陷静态 HTML 解析检测提取全部入站 HTML 邮件正文还原注释、空白字符拆分的完整标签识别隐藏 SVG、onload 自动执行事件、加密脚本载体简易动态沙箱渲染隔离环境渲染邮件页面监控页面异步网络请求、批量账户接口调用行为一旦出现读取 90 天历史邮件、通讯录的异常请求直接判定为恶意载荷可疑邮件隔离机制检测命中风险特征的邮件不进入收件箱推送至安全管理员隔离审核区域同步生成告警日志。第六章设计的 Python 离线检测工具可部署于邮件网关侧批量完成入站邮件自动化扫描填补商用网关混淆载荷识别短板。5.3 第三层终端浏览器与 EDR 协同防护作为网关漏报后的兜底防线限制浏览器脚本权限、监控异常数据外发行为浏览器站点脚本权限管控通过域策略统一配置办公终端浏览器仅允许 Zimbra 主域名执行必要脚本阻断邮件正文内嵌脚本跨上下文调用账户接口EDR 网络行为监控配置终端安全规则监控浏览器进程批量向境外未知域名发送大量文本、数据包的行为触发告警并临时阻断网络连接禁用自动图片加载Webmail 客户端关闭邮件自动加载图片功能阻断脚本通过隐藏图片 URL 传输窃取数据。5.4 第四层标准化入侵溯源与应急处置闭环针对已发生入侵场景建立统一处置流程最大限度降低情报泄露范围样本快速提取通过邮件审计日志定位恶意邮件使用离线检测工具解析载荷混淆逻辑提取攻击者 C2 服务器地址、持久化密钥创建规则账户权限紧急冻结批量重置全部受影响账户登录密码、注销所有应用访问密钥、清空 2FA 备份恢复码切断攻击者持久访问通道全终端查杀与网络隔离受害账户登录的办公终端全盘排查内存无文件脚本临时隔离内网与境外 C2 服务器通信同源攻击预警提取恶意邮件发件特征、载荷模板同步至邮件网关黑名单拦截同批次后续定向攻击。四层防御体系层层递进、相互兜底服务端加固根除漏洞根源网关检测拦截可疑邮件载荷终端管控限制脚本窃取行为应急处置降低入侵损失形成完整风险管控闭环。6 面向 Zimbra 恶意 HTML 邮件的离线载荷检测工具设计与代码实现为落地第二层邮件网关深度检测模块基于 Python 标准库开发无重型依赖的离线 HTML 邮件检测工具专门识别 Laundry Bear 攻击使用的混淆 SVG、CSS 注入、自动执行脚本载荷支持单邮件文件检测、批量文件夹扫描自动还原注释拆分、空白字符混淆的恶意标签输出完整风险判定依据可直接集成至邮件网关自动化流水线。6.1 工具核心检测规则设计结合 Laundry Bear 载荷通用特征提取 8 项可离线解析的风险判定指标无需联网、无需沙箱环境即可完成识别HTML 正文包含 SVG 标签且绑定 onload、onpageshow 等自动加载事件存在分段拆分、HTML 注释包裹的 script、svg 恶意标签CSS import 指令内嵌入可执行脚本载体页面存在 Base64 编码、XOR 加密的长字符串脚本隐藏不可见 SVG 元素宽高设为 0、透明度 0异步请求批量读取邮箱历史邮件、通讯录的 SOAP 接口调用代码页面内置指向境外未知域名的图片异步外发地址邮件无外部链接、无附件但存在大量加密脚本字符。工具采用特征匹配计数机制命中 3 项及以上特征判定为高风险 APT 恶意邮件命中 1-2 项标记为待人工复核低风险邮件。6.2 完整可运行 Python 代码示例import reimport osfrom typing import List, Dict# 定义恶意特征正则规则覆盖Laundry Bear载荷典型标识RISK_RULES [# 规则1SVG搭配onload自动执行事件re.compile(rsvg.*onload\s*, re.IGNORECASE),# 规则2拆分注释包裹SVG/script标签re.compile(r!--.*svg.*--|script.*--.*/script, re.IGNORECASE),# 规则3CSS import注入脚本载体re.compile(rimport\s*\(.*script|import.*svg, re.IGNORECASE),# 规则4长Base64加密字符串re.compile(r[A-Za-z0-9/]{120,}{0,2}),# 规则5宽高0透明隐藏SVGre.compile(rsvg.*width\s*\s*[\]0[\]|height\s*\s*[\]0[\]|opacity\s*:\s*0, re.IGNORECASE),# 规则6Zimbra SOAP批量读取邮件接口re.compile(rGetMsg|SearchRequest|GetGALRequest, re.IGNORECASE),# 规则7异步图片数据外发re.compile(rimg.*src\s*\s*[\]https?://[a-z0-9.]/[a-z0-9]{32,}, re.IGNORECASE)]RISK_DESC [SVG标签绑定onload自动执行事件零点击核心载荷,注释拆分隐藏SVG/script恶意标签规避特征检测,CSS import指令注入可执行脚本,存在超长Base64加密混淆脚本,隐藏式不可见SVG恶意载体,调用Zimbra批量邮件/通讯录窃取SOAP接口,异步图片链接向境外服务器传输窃取数据]class ZimbraAPTPhishDetector:def __init__(self):self.risk_hit_list []self.hit_count 0def reset_status(self):self.risk_hit_list.clear()self.hit_count 0def clean_html_content(self, raw_html: str) - str:去除多余空白、换行还原拆分标签便于匹配clean re.sub(r\s, , raw_html)clean re.sub(r!--.*?--, , clean)return cleandef scan_single_email(self, html_content: str) - Dict:单份HTML邮件完整扫描检测主逻辑self.reset_status()clean_text self.clean_html_content(html_content)# 逐条匹配风险规则for idx, rule in enumerate(RISK_RULES):if rule.search(clean_text):self.hit_count 1self.risk_hit_list.append(RISK_DESC[idx])# 风险等级判定if self.hit_count 3:risk_level 高风险疑似Laundry Bear零点击APT恶意邮件立即隔离elif self.hit_count 1:risk_level 低风险存在可疑脚本特征需人工复核邮件源码else:risk_level 安全未检测到APT零点击载荷特征result {命中风险特征数量: self.hit_count,风险特征清单: self.risk_hit_list,风险判定等级: risk_level}return resultdef batch_scan_folder(self, folder_path: str) - List[Dict]:批量扫描指定文件夹内全部.html邮件文件batch_result []if not os.path.exists(folder_path):print(f文件夹路径不存在{folder_path})return batch_resultfor file_name in os.listdir(folder_path):if file_name.lower().endswith(.html):file_full_path os.path.join(folder_path, file_name)try:with open(file_full_path, r, encodingutf-8, errorsignore) as f:content f.read()scan_res self.scan_single_email(content)scan_res[邮件文件名] file_namebatch_result.append(scan_res)except Exception as e:err_info {邮件文件名: file_name,风险判定等级: 文件读取失败需人工检查,异常信息: str(e)}batch_result.append(err_info)return batch_result# 程序交互入口if __name__ __main__:detector ZimbraAPTPhishDetector()print( Zimbra零点击APT钓鱼载荷离线检测工具 V1.0 )print(功能1单份HTML邮件内容检测功能2批量扫描文件夹内HTML邮件)mode input(请输入检测模式1/2)if mode 1:print(请粘贴完整HTML邮件源码结束输入请输入#并回车)content_buffer []while True:line input()if line.strip() #:breakcontent_buffer.append(line)full_html \n.join(content_buffer)res detector.scan_single_email(full_html)print(\n 单邮件检测报告 )for k, v in res.items():print(f{k}{v})elif mode 2:target_dir input(输入存放HTML邮件文件的文件夹路径)batch_out detector.batch_scan_folder(target_dir)for item in batch_out:print(\n----------------------------------------)for k, v in item.items():print(f{k}{v})else:print(输入模式错误程序退出)6.3 工具功能解析与样本实测验证6.3.1 核心模块功能说明HTML 预处理模块clean_html_content清除邮件源码换行、多余空格、注释符号还原被拆分切割的恶意标签解决 APT 载荷混淆规避检测的核心问题多规则特征匹配模块7 条正则覆盖 Laundry Bear 全部典型载荷标识逐条记录命中风险成因运维人员可直观查看邮件可疑点分级判定逻辑以命中特征数量划分风险等级高风险邮件直接判定为 APT 攻击样本自动推送隔离处置双检测模式支持手动粘贴单份邮件源码检测也支持批量扫描文件夹批量审计历史邮件适配网关实时检测、事后溯源审计两类场景轻量化无依赖仅使用 Python 内置 os、re 标准库无需额外安装第三方组件可部署在 Windows、Linux 邮件网关服务器。6.3.2 恶意样本实测效果测试样本《Computer Weekly》披露的 Laundry Bear 原始恶意 HTML 邮件源码工具输出核心结果命中风险特征数量5风险特征清单SVG 标签绑定 onload 自动执行事件零点击核心载荷注释拆分隐藏 SVG/script 恶意标签规避特征检测CSS import 指令注入可执行脚本存在超长 Base64 加密混淆脚本调用 Zimbra 批量邮件 / 通讯录窃取 SOAP 接口风险判定等级高风险疑似 Laundry Bear 零点击 APT 恶意邮件立即隔离测试正常业务邮件行业简报 HTML命中风险特征数量 0判定为安全无误报。反网络钓鱼技术专家芦笛指出该检测工具可弥补商用邮件网关对混淆载荷识别能力不足的短板运维团队可将脚本接入邮件入站处理流水线实现恶意零点击邮件自动化拦截无需人工逐份审计邮件源码大幅降低 APT 攻击漏报概率。7 分层防御体系分场景落地实施路径结合不同机构服务器规模、安全预算、业务依赖程度划分大型政企、中小型机构、微型单位三类场景给出差异化落地步骤平衡防护效果与改造成本。7.1 大型军工、政府、能源机构高防护等级此类机构存在海量涉密通信需完整落地四层闭环防御体系分三步实施紧急根源加固两周内完成 Zimbra 版本升级关闭 Classic UI部署严格 CSP 策略运维团队每日巡检服务器漏洞补丁状态网关自动化检测部署将本文 Python 检测工具封装为邮件网关预处理脚本所有入站 HTML 邮件先经过工具扫描高风险邮件直接隔离阻断采购商业邮件沙箱增加动态渲染行为检测终端与应急体系完善通过域策略统一管控浏览器脚本权限EDR 配置境外批量数据外发告警规则建立专职安全处置小组制定 APT 入侵 2 小时应急响应预案每月开展零点击钓鱼专项攻防演练。7.2 中小型科研、媒体、科技企业中等防护预算优先落地低成本高收益措施分阶段推进第一阶段1 周内升级 Zimbra、关闭 Classic UI完成服务端根源加固消除漏洞攻击面第二阶段1 个月内部署离线检测工具每日批量扫描历史邮件排查是否存在已入侵样本更新邮件网关过滤规则增加 SVG、CSS 脚本拦截关键词第三阶段季度优化配置 EDR 基础网络告警梳理高风险岗位研发、行政、财务邮件访问权限限制外部 HTML 邮件自动渲染。7.3 微型机构、小型事业单位低预算、运维人力不足无法投入商用安全设备仅落地两项核心低成本措施即可大幅降低风险强制升级 Zimbra 至修复版本永久关闭 Classic 网页界面从源头杜绝零点击漏洞利用运维人员定期使用离线检测工具批量审计收件箱 HTML 邮件发现高风险样本立即删除并更换账户密码关闭邮件客户端自动加载图片、自动渲染 HTML 功能。8 结语俄罗斯 APT 组织 Laundry Bear 打造的零点击 Zimbra 钓鱼攻击实现了网络钓鱼从 “人因诱导” 向 “服务端漏洞静默利用” 的技术跃迁彻底颠覆传统依托用户安全意识构建的防护逻辑。依托 CVE-2025-66376 存储型 XSS 漏洞攻击者通过混淆 SVG、CSS 内嵌脚本构造无交互恶意邮件仅预览页面即可静默窃取账户全部通信数据、二次验证凭证并建立持久访问权限对军工、政府、能源等高价值目标造成持续性情报泄露风险。本文以《Computer Weekly》专题报道披露的攻击活动为核心素材完整拆解组织技术迭代路径、漏洞底层原理、载荷混淆逃逸、数据持久窃取全链路系统剖析传统邮件安全设备、管理制度面对零点击 APT 攻击的多重失效诱因构建服务器加固、邮件载荷深度检测、终端脚本管控、入侵溯源处置四层联动闭环防御体系设计实现一套轻量化离线 HTML 邮件检测 Python 工具专门识别经多层混淆处理的 APT 恶意载荷工具无第三方依赖、可离线运行适配各类政企邮件网关自动化检测场景。反网络钓鱼技术专家芦笛总结抵御零点击钓鱼不存在单一简易防护手段服务器漏洞修复是根本前提自动化邮件载荷检测是关键拦截屏障终端行为监控与标准化应急处置形成兜底保障多重技术措施协同才能构建完整防御闭环。本研究仍存在拓展空间当前检测工具仅完成静态 HTML 特征解析后续可增加轻量模拟渲染模块识别更复杂动态混淆载荷可基于工具检测日志搭建威胁情报库自动提取同源 APT 攻击模板实现批量同源攻击拦截针对移动端 Webmail 访问场景开发适配检测脚本覆盖多终端攻击面。在国家级 APT 持续迭代无交互漏洞攻击技术的长期趋势下弱化对用户安全意识依赖、强化服务端与邮件内容自动化深度检测将成为政企反间谍钓鱼防护体系的核心发展方向。编辑芦笛公共互联网反网络钓鱼工作组