EvilTokens:一种不会窃取您密码的网络钓鱼攻击

2026-07-04 11:40:42 1 194

一款利用网络钓鱼工具包绕过微软合法身份验证流程的攻击手段,可以让攻击者在不窃取密码或创建虚假登录页面的情况下入侵账户。



关于充斥着语法错误和粗糙设计的钓鱼邮件的时代即将终结,人们已经撰写了大量文章,这主要归功于人工智能。与此同时,EvilTokens 则提供了一个略有不同的例子,展现了钓鱼技术已经发展到何种程度。

EvilTokens 是一款旨在通过滥用OAuth 2.0 设备授权流程来入侵 Microsoft 365 帐户的钓鱼即服务 (PhaaS) 工具包。由于使用该工具包的攻击依赖于设备代码钓鱼,因此无需制作逼真的登录页面副本来诱骗受害者交出密码。攻击者会诱使受害者在真实的 Microsoft 登录页面上完成合法的身份验证过程,包括双因素身份验证(2FA)。

该工具包至少从2026年2月起就通过Telegram频道进行宣传,并被发现用于攻击活动。正如Sekoia和其他机构所记录的那样,该工具包似乎已被网络犯罪分子迅速采用,并被用于多起账户劫持和商业电子邮件入侵(BEC)攻击,其中包括2026年3月针对多个国家340多家机构发起的攻击活动。微软自身也曾描述过一项利用人工智能技术的活动,该活动使用动态设备代码生成和定制诱饵来提高EvilTokens攻击的成功率。

EvilTokens 的内部运作机制
以下简要概述了利用 EvilTokens 发起的攻击是如何展开的:


  • 攻击本身之前会有“侦察”阶段,不法分子会先验证目标账户是否处于活动状态。微软发现,这种侦察活动通常会在实际网络钓鱼攻击前10到15天进行。
  • 受害者会收到一封电子邮件或消息,其伪装通常为发票、共享文档、日历邀请或 SharePoint 访问请求。诱饵页面会模仿可信品牌或服务,并配有“验证后查看”或“需要签名”等简单文字。
  • 当受害者点击链接后,页面会向微软请求设备验证码。该验证码仅在15分钟内有效,因此时间和时机至关重要。页面会向受害者显示验证码,并将其引导至微软的官方登录门户网站 microsoft.com/devicelogin。但问题在于,该验证码属于攻击者的会话,因此受害者会在不知情的情况下授权攻击者的设备,而不是自己的设备。
  • 检测到有效的登录后,微软会向攻击者打开的会话发放访问令牌和刷新令牌。一旦获得访问权限,犯罪分子就可以访问企业电子邮件、文件、Teams、SharePoint、OneDrive 和其他 Microsoft 365 资源,窃取数据或准备发起商业电子邮件诈骗 (BEC) 攻击。
正因如此,财务、人力资源、物流和销售账户才会引起攻击者的极大兴趣。

是什么让邪恶代币如此危险
OAuth 设备代码流程专为那些直接登录可能不太方便的设备而设计,例如智能电视或打印机。设备会显示一个短代码,用户在另一台设备(通常是智能手机)上的 Microsoft 页面上输入该代码,即可完成身份验证。之后,Microsoft 会向请求访问的设备颁发访问令牌。

这种隔离机制虽然有用,但也存在被滥用的空间。攻击者可以生成验证码,诱骗受害者输入——而微软看到的只是有效的身份验证流程。微软会在用户登录时通过屏幕文字警告他们不要输入来自不信任来源的验证码。然而,有时一个极具迷惑性的诱饵就足以让受害者忽略所有警告。

说到这里,EvilTokens 会消除人们多年来被教导要注意的许多危险信号,包括拼写错误的域名和虚假的登录页面。登录页面是真实的,从受害者的角度来看,整个身份验证过程看起来都像预期的那样运行。

这种攻击也让双因素认证(2FA)的安全保障机制变得更加复杂。虽然第二层认证的重要性前所未有,但如果受害者批准了错误的会话,它就无法发挥作用。在这些攻击中,攻击者无需任何技术手段就能绕过2FA,他们只是诱骗受害者替他们完成2FA验证。

如何降低风险
防范网络钓鱼的技巧显然不能仅仅停留在“检查链接”或“查找拼写错误”的层面。当然,这些习惯仍然有用,但它们无法抵御现代攻击,尤其是那些滥用真实身份验证流程的攻击。

以下是一些防范 EvilTokens 的实用技巧:


  • 任何未经授权的验证码请求都应引起怀疑。任何文件、发票、电子邮件或其他平台都不应在没有明确理由的情况下索要设备验证码。如果收到莫名其妙的验证码请求,请立即向贵公司的 IT 或安全团队报告。
  • 上下文比页面本身更重要。在批准任何登录请求之前,请检查是哪个应用请求访问权限、涉及哪个帐户,以及是否是您本人发起的该操作。即使是真实的微软页面,也不能保证请求的安全性。
  • 组织应在不必要的情况下彻底限制设备代码流。微软建议应用条件访问策略,在不必要的地方阻止设备代码流,并将其范围限定于特定用户、设备、位置或操作系统。
  • 注意异常的设备代码验证、不熟悉的设备、有风险的登录、可疑的令牌使用以及新的收件箱规则——任何这些都可能预示着麻烦。
  • 安全意识培训需要与时俱进,应对攻击者最新的伎俩。员工应该明白,现代网络钓鱼并不总是要求他们在虚假页面上输入密码。有时,攻击者可能会诱使他们在真实的页面上输入真实的验证码——但却是在错误的设备上。
  • 收到意外设备代码请求的员工应通知公司 IT 或安全团队,他们可能需要查看登录日志、撤销会话、使刷新令牌失效、删除恶意收件箱规则并暂时禁用被盗用的帐户。
  • EvilTokens提醒我们,攻击者并不总是需要破门而入或偷走钥匙。有时,他们只需要说服某人开门即可。

关于作者

Xiaoyune28篇文章490篇回复

评论1次

要评论?请先  登录  或  注册
  • 1楼
    前天 11:41

    这东西说实话挺恶心的,不是技术多高深,是利用人性那套玩得溜。

    核心就一句话:攻击者把验证码塞给你,让你去微软页面上"帮他们"登录,而不是让你在自己的设备上登录自己。整个过程你看到的都是真的——真实的域名、真实的登录流程、真实的2FA,唯一假的是这个验证码对应的设备是你的攻击者那头的。

    从检测角度说,有几个点可以关注:

    一个是设备代码流的触发时机。正常用户自己发起设备登录,前后会有关联的操作链——比如用户刚查过怎么在TV上登录Office,或者在智能设备上操作过。如果一个人突然收到设备验证码,之前没有任何"我需要在另一台设备登录"的场景铺垫,这就很可疑了。

    另一个是会话行为。拿到token之后攻击者通常会批量导出邮件、查通讯录、配置转发规则,时间窗口比较集中。如果你们的SIEM能关联"设备代码授权→紧接着大量API调用",基本能抓到。

    再就是看有没有异常的设备注册记录,特别是那种授权完立刻就有Graph API调用的。

    技术上能做的:微软那边可以配置条件访问策略,把设备代码流的适用范围缩到最小,攻击面自然就小了。风险最大的几类账户(财务、销售)能单独加一层保护就加一层。