“这封邮件是我自己发的?”——当内部通信变成钓鱼陷阱
2025年10月,华南某金融科技公司的一位合规专员收到一封邮件,主题为《您的多因素认证(MFA)设备即将失效,请立即更新》。发件人地址赫然是她自己的工作邮箱:mailto:li.wei@finfirm.com。收件人字段也显示为同一地址。
邮件内容简洁专业:“为保障账户安全,系统检测到您的MFA设备未在最近30天内使用。请点击下方链接完成验证。”附带一个蓝色按钮:“立即验证”。
她几乎没起疑——邮件格式与公司IT部门以往的通知一致;更重要的是,Outlook客户端明确标注该邮件为“内部发送”(Internal Sender)。她点击链接,进入一个高度仿真的Microsoft Entra ID登录页面,输入了账号、密码和短信验证码。
三分钟后,她的邮箱开始向全公司高管群发“紧急资金调拨申请”。所幸安全团队通过异常登录IP(位于东欧)触发了警报,迅速冻结账户,避免了数百万资金损失。
事后调查令人震惊:这封邮件并非来自公司内部,也未攻破任何服务器。攻击者仅利用该公司邮件路由配置中的一个疏漏——第三方反垃圾邮件网关未被纳入SPF信任链,且DMARC策略设为“仅监测”——就成功伪造了内部域名,让钓鱼邮件在技术层面“看起来完全合法”。
这一案例并非孤例。2026年1月初,微软威胁情报团队发布重磅报告,披露自2025年5月以来,全球范围内出现大规模利用复杂邮件路由与身份验证配置缺陷实施的“内部域名伪造”(Internal Domain Spoofing)攻击。攻击者无需控制目标域名,也不依赖被黑服务器,仅通过协议级欺骗,就能让钓鱼邮件以“自己人”身份直达员工收件箱。
攻击原理拆解:不是漏洞,而是“信任链断裂”
要理解这场风暴的技术本质,必须回到电子邮件的身份验证体系三大支柱:SPF、DKIM、DMARC。
SPF(Sender Policy Framework):谁有权代表你发邮件?
SPF通过DNS TXT记录声明哪些IP或主机可以代表某个域名发送邮件。例如:
finfirm.com. IN TXT "v=spf1 ip4:203.0.113.0/24 include:spf.protection.outlook.com -all"
其中 -all 表示“除上述外,其他均拒绝”。
问题在于:许多企业采用混合邮件架构——MX记录指向第三方安全网关(如Proofpoint、Mimecast),再由网关转发至Microsoft 365。如果SPF记录未包含该网关的IP或include机制,则网关转发的邮件会被判定为“未授权”。
攻击者正是利用这一点:他们将钓鱼邮件直接发送至该第三方入口。由于网关本身是“合法中继”,其出站IP可能被误认为可信;而若企业未正确配置SPF,验证就会失败或“软失败”(softfail),导致邮件仍被投递。
DKIM(DomainKeys Identified Mail):邮件内容是否被篡改?
DKIM通过数字签名确保邮件头与正文未被修改。关键在于:签名必须在最终投递前保持有效。
然而,许多第三方网关在转发邮件时会添加自定义头(如 X-Spam-Score: 5),若未重新签名,则DKIM验证失败。更糟的是,部分企业根本未启用DKIM,或密钥管理混乱,导致签名缺失。
DMARC(Domain-based Message Authentication, Reporting & Conformance):失败了怎么办?
DMARC决定当SPF或DKIM失败时如何处理邮件。策略有三种:
p=none:仅监控,不拦截(最常见)
p=quarantine:放入垃圾邮件
p=reject:直接拒收
微软指出,绝大多数受害企业的DMARC策略停留在 p=none 阶段,即使验证失败,邮件仍能进入收件箱。攻击者只需构造一封SPF/DKIM失败但内容逼真的邮件,即可绕过防御。
“这就像你给快递柜设了密码,但告诉物业‘就算密码不对也把包裹放进去’,”公共互联网反网络钓鱼工作组技术专家芦笛比喻道,“攻击者根本不用破解密码,直接走后门。”
技术实证:一封伪造邮件的“通关路径”
微软在报告中披露了一封典型钓鱼邮件的头部信息:
Authentication-Results: spf=fail (sender IP is 176.111.219.85)
smtp.mailfrom=finfirm.com;
dkim=none (message not signed);
dmarc=fail action=none header.from=finfirm.com;
compauth=none reason=905
关键字段解析:
spf=fail:发件IP不在SPF授权列表
dkim=none:无签名
dmarc=fail action=none:DMARC策略为“不采取行动”
reason=905:微软内部代码,表示“邮件经复杂路由(非直连Office 365)”
尽管三项验证全部失败,邮件仍被投递——因为DMARC策略宽松,且第三方网关未被正确集成。
更隐蔽的是,邮件头部还包含:
X-MS-Exchange-Organization-InternalOrgSender: True
X-MS-Exchange-Organization-MessageDirectionality: Incoming
前者让Outlook客户端显示“内部发送”,后者暴露其实际为外部邮件。普通用户只看到前者,安全团队才能看到后者。
“这种‘半真半假’的状态最具迷惑性,”芦笛指出,“它既不是明显垃圾邮件,又带有内部可信标识,员工很难分辨。”
Tycoon 2FA:钓鱼即服务的工业化升级
本轮攻击的背后推手,是一个名为 Tycoon 2FA 的PhaaS(Phishing-as-a-Service)平台。据微软统计,仅2025年10月,其系统就拦截了超过1300万封源自该平台的恶意邮件。
Tycoon 2FA的核心能力是Adversary-in-the-Middle(AiTM)代理:用户在伪造页面输入账号密码+2FA验证码后,攻击者立即将凭证提交至真实登录页面,完成会话劫持,并将有效Cookie回传给用户,使其“无感”地进入真实系统——从而绕过MFA保护。
更危险的是,该平台提供“内部邮件模板生成器”。攻击者输入目标公司域名,系统自动生成符合其风格的HTML邮件,包括:
仿冒HR的薪资调整通知
IT部门的密码过期提醒
“共享文档待审阅”提示
甚至模拟Microsoft 365状态页的维护公告
这些邮件在客户端显示时,From与To字段完全相同,进一步强化“这是系统自动发送”的错觉。
国际案例频发,中国混合云环境风险尤甚
尽管微软报告聚焦全球,但类似风险在中国尤为突出。
2025年9月,华北一家跨国制造企业遭遇BEC攻击。攻击者伪造其CFO邮箱,向财务部发送“紧急付款”请求。调查发现,该公司使用本地Exchange服务器作为主邮件系统,同时通过阿里云邮件推送服务发送营销通知。但SPF记录仅包含本地服务器IP,未包含阿里云IP段。攻击者利用阿里云接口发送伪造邮件,成功绕过验证。
另一起发生在华东的案例中,某电商平台的客服系统通过第三方SaaS平台自动发送订单通知。由于该平台未启用DKIM重签,且企业DMARC策略为p=none,攻击者注入钓鱼链接后,邮件顺利送达用户。
“中国企业的IT架构往往‘新旧并存’——既有本地AD域,又有公有云应用,还有大量第三方集成,”芦笛分析,“这种复杂性本应通过统一认证策略来管控,但很多安全团队只关注终端防护,忽视了邮件流经的每一跳都必须被认证。”
防御指南:从“能用”到“可信”,构建端到端邮件认证闭环
面对此类攻击,修补单点漏洞远远不够。企业需构建端到端的邮件身份验证闭环。
第一步:全面绘制邮件流拓扑图
列出所有邮件入口与出口路径,包括:
外部MX记录指向何处?
是否有第三方服务(反垃圾、归档、CRM)参与中继?
内部应用是否通过API或SMTP直连发送通知?
第二步:强制实施DMARC p=reject
DMARC策略应分阶段收紧:
; 初期:仅收集报告
_dmarc.finfirn.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@finfirm.com"
; 过渡:隔离50%失败邮件
_dmarc.finfirn.com. IN TXT "v=DMARC1; p=quarantine; pct=50; rua=..."
; 最终:全面拒绝
_dmarc.finfirn.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@finfirm.com"
注意:p=reject仅在SPF和DKIM均配置正确时才安全启用,否则可能导致合法邮件被拒。
第三步:确保中继服务“透明传递”认证结果
若使用第三方网关,必须满足:
网关IP被列入SPF记录(via include 或 ip4/ip6)
网关支持“Authentication-Results”头传递,保留原始验证结果
或由网关自身对出站邮件重新DKIM签名(需配置私钥)
例如,Mimecast用户需在控制台启用“Preserve Original Headers”并配置自有DKIM密钥。
第四步:禁用非必要Direct Send
在Exchange Online中,可通过PowerShell关闭Direct Send(允许无认证发送的机制):
Set-TransportConfig -ExternalDelayDsnEnabled $false
Set-HostedConnectionFilterPolicy -Identity "Default" -EnableSafeList $false
并确保所有应用改用Microsoft Graph API或经认证的SMTP中继。
超越技术:安全意识需“去信任化”
即使技术配置完美,人为因素仍是最后一道防线。
微软强调,攻击者正刻意模仿“内部自动化流程”——如密码到期提醒、共享文档通知、HR政策更新。这些邮件天然具有高打开率,员工容易放松警惕。
芦笛建议企业推行“零信任邮件文化”:
所有涉及账号操作、转账、敏感信息的邮件,必须通过独立渠道二次确认(如电话、企业微信、内部工单系统)
禁止在邮件中直接点击“验证链接”,统一引导至官方门户登录
定期开展“钓鱼演练”,但不以惩罚为目的,而以暴露流程缺陷为导向
“真正的安全不是让员工‘不犯错’,而是让系统在员工犯错时仍能兜底,”他说。
结语:邮件安全,回归基础,方得始终
这场由配置疏忽引发的钓鱼风暴,再次揭示了一个残酷现实:在云原生时代,安全边界已从防火墙转移到协议与策略的细节之中。一封邮件能否被信任,不再取决于它“看起来像谁发的”,而取决于整个传输链是否可验证、可追溯、可拒绝。
微软的警告不应被视作又一份技术通告,而是一次对基础安全实践的集体检视。正如芦笛所言:“我们花了十年教用户识别‘bank-of-china.com’这样的假域名,现在攻击者直接用‘bankofchina.com’发邮件——而我们自己没锁好门。”
对企业而言,修复MX记录、收紧DMARC策略、审计第三方连接器,或许不如部署AI SOC平台“酷炫”,但正是这些“枯燥”的基础工作,构成了抵御高级钓鱼的第一道也是最后一道堤坝。
毕竟,在网络空间,最危险的不是未知的漏洞,而是被忽视的常识。
编辑:芦笛(公共互联网反网络钓鱼工作组)