周三下午,行政邮箱里躺着一封再熟悉不过的邮件:“财务部同事通过 SharePoint 分享了 Q3 报销模板,点击查看”。没有可疑域名,没有糟糕的排版,连登录页面都是真正的 Microsoft 官方页。唯一不同的是,你照着邮件里给的“设备代码”完成了认证,然后——整个云账户就变成了一张借出去的钥匙卡。

这就是 Kali365 钓鱼工具包正在做的事。它不是伪造一个假登录页骗你输密码,而是直接把你领到微软自家的设备登录门户,让你亲手把 OAuth 访问令牌交到攻击者手里。因为跳转的是 login.microsoftonline.com,传统的反钓鱼训练几乎瞬间失效。

打开网易新闻 查看精彩图片

安全分析平台 ANY.RUN 的遥测显示,该工具包每周至少触发 80 个公开沙箱会话,实际活跃度可能远高于此。目标集中在美国多个行业,矛头直指深度依赖 Microsoft 365 的团队——邮件、SharePoint、OneDrive、Teams,甚至挂钩的第三方 SaaS,一沦陷就是一套全家桶。

攻击是如何被装进“正常流程”里的

  1. 诱饵只做一件事:让你产生日常动作。钓鱼消息通常伪装成 SharePoint 文档共享、审批通知或 IT 提醒,附带一个 9 位设备代码,并“贴心”地引导你打开microsoft.com/devicelogin
  2. 登录环节全是“正品”。点击链接后你看到的是真正的微软身份验证页面,URL 无误,证书正常,多因素认证也照常触发。唯一的不同是,输入的设备码来自攻击者注册的应用。
  3. 你授权的不是一次登录,是一个长期会话。一旦认证通过,攻击者立刻获得 OAuth 访问令牌和刷新令牌。访问令牌可即时读取邮箱、文件、联系人;刷新令牌则允许申请新令牌,即使你事后修改了密码,刷新令牌在未被手动吊销之前依然可用。
为什么改密码也没用

传统凭证窃取靠的是拿到用户名和明文密码,所以强制改密能快速止损。Kali365 绕开了这一步——它不偷密码,而是借用了微软为“输入受限设备”设计的设备授权流程。智能电视、IoT 终端、命令行应用就是靠这种流程完成认证的。攻击者只是注册了一个看似无害的应用,然后诱导你授权,整个过程在 Azure AD 的日志里看起来和正常设备登录一模一样。

这直接导致一种尴尬局面:安全团队就算查出异常,看到的也是“用户自行授权了某个应用”,而不是明显的账户被盗。刷新令牌的有效期最长可达 90 天,且如果在有效期内不断刷新,几乎能实现持续驻留。除非管理员在 Azure 门户中手动撤销该应用或该用户的刷新令牌,否则攻击者可以持续翻看邮件、下载云盘文件,甚至在 SharePoint 站点里植入恶意链接。

ANY.RUN 看到的攻击画像

根据 ANY.RUN 公开沙箱的会话记录,Kali365 的攻击表现出三个明显的特征:

  • 瞄准全行业 Microsoft 365 用户。不局限于金融或政府,但凡日常协作依靠 Microsoft 云服务的企业都可能被列入名单。研究团队注意到,制造业、法律事务所以及区域性零售商的受测沙箱同样居高不下。
  • 偏好 .de 顶级域名作为钓鱼页面入口。虽然 .de 本身不是恶意指标,但大量出现在 Kali365 分发的链接中。安全人员可以将“来自陌生 .de 域的 Microsoft 365 相关消息”作为一个低门槛的告警条件。
  • 持续、批量的投放节奏。每周 80 多个公开沙箱会话意味着,仅被提交给 ANY.RUN 分析的样本就已达每日十余起,实际投放量推测更高。这种节奏很像从暗网租用钓鱼服务(Phish-as-a-Service)的模式:不同下游攻击者共用同一套工具包,轮流投放。
️ 连钓鱼按钮都不用点,能怎么防?

既然攻击发生在合法的微软页面上,终端用户几乎无法靠肉眼分辨。防御需要把重心从“识别假页面”转移到“限制设备码授权流程”上:

  • 在 Azure AD 中收紧设备码策略。默认情况下,设备码流程是开启的。如果业务不需要,应该直接关闭;必须使用时,通过条件访问策略限制可参与设备码登录的用户组或设备平台。
  • 监视非标准的 OAuth 授权请求。安全团队可以建立基线,当某个用户突然开始使用设备码流程、且关联到的客户端应用并非企业允许的官方应用时,立即触发调查。
  • 将授权日志与邮件网关联动。很多钓鱼邮件打着“IT 支持”的幌子告知设备代码。将这封邮件的送信时间与 Microsoft 设备授权日志进行比对,能在数分钟内定位风险用户。
  • 培训话术升级。不再只强调“别点可疑链接”,而是明确告诉同事:如果有人通过邮件或短信给你一个代码让你去 microsoft.com/devicelogin 输入,先停下,与企业管理员确认。那种“看起来一切正常”的操作才是最危险的。

Kali365 不是漏洞型的攻击工具,而是巧妙利用了一个被所有人习惯性信任的官方流程。当攻击者开始用你的合法身份令牌溜达进云盘时,丢失的可能不只是几封邮件,而是整个协作生态的隐性债务。一次设备代码授权,远比一次密码泄露更难清洗干净。