设备码钓鱼:批准一个你从未发起的登录
2025 年 2 月,Microsoft 威胁情报中心记录了其追踪代号为 Storm-2372 的攻击者发起的一场活跃攻击行动,该行动从欧洲、北美、非洲和中东的组织窃取登录会话。这项技术——设备码钓鱼——的特别之处在于它避开了什么:没有需要辨识的伪造登录页面,没有可窃取的密码,也没有可检测的恶意软件。受害者自始至终没有输入任何秘密。攻击者提供的代码被输入到微软真正的登录页面,受害者在自己的设备上批准提示,攻击者便带着一个可用的会话扬长而去。
一个被反用的合法功能
设备码流程(device code flow)是 OAuth 2.0 的真实功能,并非伪造。它为没有可用键盘或浏览器的硬件而设:打印机、电视、会议室屏幕、机顶盒。设备显示一个短代码,用户在手机或笔记本电脑上打开登录门户,输入代码,登录并批准,设备便获得自己的令牌。Storm-2372 把这个顺序倒了过来。据微软所述,该组织自 2024 年 8 月起实施这场行动:在 Microsoft Teams 中以高管或官员的身份发起聊天,再以共享文件为借口把对话转到 Signal 或 WhatsApp;通过电子邮件发送的会议邀请也带有同样的诱饵,伪装成普通的 Teams 消息。 BleepingComputer 对同一行动的报道称,受害者被要求“验证”一台设备以接收重要文件:他们点击链接进入微软真正的登录页面,输入收到的代码,并连同惯常的多重验证步骤一起批准了登录。微软记录的目标包括政府机构、IT 服务商、国防、电信、医疗、高等教育和能源企业。为什么它能完全绕过 MFA
关键在于操作的顺序。攻击者先自行发起一个合法的设备码请求,然后才把受害者牵扯进来。当受害者输入代码并批准时,登录页面上的每一项检查都真实通过:页面是真的,代码是有效的,与之交互的人确实完成了一次真实的登录,包括应有的多重验证。微软签发的令牌——包括长效的刷新令牌(refresh token)——交给了发起请求的一方,也就是攻击者。在目录看来,只是一次普通成功的用户登录。邮件过滤器和网络代理没有任何可标记的东西,因为牵涉的基础设施完全合法。 微软的报告记录了被攻陷租户中接下来发生的事:攻击者用 Graph API 查询在邮箱中搜索 credentials、passwords、admin 之类的关键词,外传往来邮件,并利用受信任的内部账户向同事发送钓鱼邮件——一次批准便可能在组织内层层扩散。在原文发布一天后的更新中,微软还记录了向 Microsoft Authentication Broker 客户端发起请求的转变,攻击者借此注册自己控制的设备并申请主刷新令牌(primary refresh token)。Proofpoint 持续追踪这项技术在 2026 年间经钓鱼工具包扩散的过程,并注意到进一步的改进:代码在受害者点击链接的那一刻按需生成,从而绕过预生成代码十五分钟的过期时限。常见的建议——输入任何内容前仔细查看登录页面——在这里无济于事。Proofpoint 在对后续攻击的分析中指出,检查 URL 之所以失效,是因为门户确实是微软自己的;被滥用的是受害者的批准,而不是地址栏。
值得普及的危险信号
这些迹象在各次攻击中高度一致,而且不需要任何技术能力就能察觉。- 一个你没有发起的登录:设备码之所以存在,是因为有人请求了它
- 催促你在代码过期或会议开始前赶紧操作
- 一封邮件、聊天或消息,要求你用从未申请过的代码去“批准”或“验证”什么
- 接触渠道跨平台跳转,比如 Teams 聊天转移到 Signal 或 WhatsApp
- 一份文件或会议邀请,只有在“验证”代码后才能打开










