绕过MFA与密码:揭秘滥用AzureCLI的ConsentFix新型攻击

admin 2025-12-22 04:32:38 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: ConsentFix是一种新型钓鱼攻击技术,结合OAuth授权钓鱼与ClickFix式提示,可绕过MFA和密码验证。攻击者通过被入侵网站诱骗用户复制包含OAuth授权码的localhostURL并粘贴到钓鱼页面,从而获取Microsoft账户访问权限。该攻击利用AzureCLI作为第一方应用的隐式信任,采用高级检测规避技术,使传统安全工具难以检测。建议监控AzureCLI应用登录事件,特别关注非管理员用户和资源为WindowsAzureActiveDirectory的登录行为,并检查AADGraphActivityLogs以发现异常活动。 综合评分: 91 文章分类: 威胁情报,漏洞分析,应急响应,网络安全,云安全


cover_image

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

Dubito

云原生安全指北

2025年12月15日 08:35 日本

注:本文翻译自Push Security的文章《ConsentFix: Browser-native ClickFix hijacks OAuth grants》[1],可点击文末“阅读原文”按钮查看英文原文。

全文如下:

我们最近截获了一场钓鱼攻击活动,它使用了一种我们称之为“ConsentFix”的新型攻击技术——这种技术将OAuth 授权钓鱼与ClickFix 式的用户提示相结合,最终导致账户失陷。以下是您需要了解的信息。

一、ConsentFix 介绍——一种新型钓鱼攻击

Push 浏览器代理最近检测到并阻止了一种针对数家 Push 客户的新型攻击技术。

这是一种新型的、基于浏览器的攻击技术,仅通过简单的复制和粘贴即可接管用户账户。如果您已经在浏览器中登录了应用,您甚至无需提供凭证,也无需通过 MFA 检查——这意味着它也能有效规避类似通行密钥这类抗钓鱼认证。

这与我们通常遇到的 AiTM 钓鱼工具包截然不同,我们认为它值得拥有一个新名字。

这就是:ConsentFix。这种攻击与 ClickFix/FileFix、AiTM 钓鱼以及 OAuth 授权钓鱼有许多相似之处。您可以将其视为一种浏览器原生的 ClickFix 攻击,它通过诱骗受害者将包含 OAuth 关键信息的 URL 复制并粘贴到钓鱼页面中,从而窃取目标应用上的 OAuth 令牌。

我们检测到的这场攻击活动,似乎是专门通过滥用Azure CLI OAuth 应用来针对 Microsoft 账户的。本质上,攻击者通过生成一个 OAuth 授权码(该授权码在 localhost URL 中可见),诱骗受害者登录 Azure CLI,然后让受害者将该 URL(包含授权码)粘贴到攻击者控制的页面。这随后会在受害者的 Microsoft 账户与攻击者的 Azure CLI 实例之间建立 OAuth 连接。

授权码流程[2] 是 OAuth 2.0 的一种协议,用于让 Web 应用获取用户访问受保护的资源的许可。当使用授权码流程连接应用时,需要将此授权码与应用持有的 OAuth 密钥结合,以换取令牌(即有价值的部分)。然而,有些应用无法保护密钥——例如,在您移动设备或桌面设备上运行的应用。在这种情况下,仅凭授权码本身,无需密钥,就足以生成 OAuth 令牌——这正是此处被利用的漏洞。

Microsoft 应用中的授权码流程。

二、ConsentFix 如何运作

在我们看到的所有案例中,受害者都是通过谷歌搜索访问了恶意或被入侵的网页。与此攻击活动相关的大多数网站,都是信誉度高的、合法的,但已被入侵的网站,很容易通过搜索引擎找到。

攻击者在这些被入侵的网站上注入了一个伪造的 Cloudflare Turnstile,要求受害者提供一个电子邮件地址才能继续。

伪造的 Cloudflare Turnstile 页面,要求提供有效的电子邮件地址。

这充当了一种条件加载[3]机制。只有在提供了有效的电子邮件地址和对应域名的前提下,攻击流程才会继续。这种设计旨在防止安全机器人、分析师以及价值不高的账户对页面进行分析,从而在预定目标被钓鱼前暴露攻击活动。

如果提供的域名不在目标列表中,受害者会被重定向回原始网站,攻击流程不会进入下一阶段。此外,一旦根据 IP 地址完成了检查,即使提供不同的电子邮件地址,钓鱼页面也不会再次激活。

如果使用个人电子邮件地址,则会提示提供工作邮箱地址。

在输入了符合条件的电子邮件地址后,下一页加载,提示受害者按照页面上的说明完成一系列操作以继续。

提示受害者完成进一步的验证检查。

为了完成攻击,受害者必须执行以下操作:

  • • 点击 “Sign In” 按钮。这将打开一个新的标签页,加载一个合法的 Microsoft URL,该链接关联了访问此页面时使用的用户账户或邮箱。
  • • 如果用户已在浏览器中登录了 Microsoft,只需从下拉菜单中选择其账户即可。否则,用户需要通过合法的 Microsoft 登录 URL 进行登录(此阶段并未发生钓鱼行为)。
  • • 一旦登录合法的 Microsoft 或从下拉菜单选中账户,用户会被重定向到 localhost,此时会生成一个 URL,其中包含与用户 Microsoft 账户关联的授权码。
  • • 为完成此次钓鱼攻击,受害者需复制该 URL 并将其粘贴回原始页面。

恶意页面上的响应,显示了响应 URL 和重定向信息。其中的 client_id 专用于 Azure CLI 应用。

用户加载合法的 Microsoft 页面,随后被重定向到一个包含其 Microsoft 账户关联授权码的 localhost URL。受害者将此 URL 粘贴到原始钓鱼页面以完成攻击。

受害者将 localhost URL 粘贴到页面中并点击 “Next”,从而完成钓鱼攻击。

一旦上述步骤完成,受害者即通过 Azure CLI 授予了攻击者对其 Microsoft 账户的访问权限。

此时,攻击者已有效控制了受害者的 Microsoft 账户,且无需窃取密码或通过 MFA(多因素认证)检查。事实上,如果用户已登录其 Microsoft 账户(即存在活动会话),则完全无需执行登录操作。

三、ClickFix 的下一次演进?

在我们上一场关于 ClickFix 的网络研讨会(webinar)[4]中,我们曾预言该攻击的下一次演进将完全发生在浏览器上下文中。这是因为,任何触及终端(一个传统上防护更严密的攻击面)的攻击都更有可能被检测到。由于许多 ClickFix 攻击被用于分发信息窃取恶意软件,这些攻击本质上仍然是试图回到浏览器中,以窃取存储在那里的凭据和会话。

让我们仔细观察一下这个页面——如果你关注过 Push 的研究,可能会产生一种似曾相识的感觉。

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

云原生安全指北已关注

分享视频

,时长00:36

0/0

00:00/00:36

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:36

00:36

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

观看更多

转载

,

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

云原生安全指北已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

我们以前见过这种嵌入式视频播放器(尽管那次看起来更美观),我们在博客中曾将其描述为我们见过的最先进的 ClickFix 攻击[5]。

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

云原生安全指北已关注

分享视频

,时长00:25

0/0

00:00/00:25

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:25

00:25

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

观看更多

转载

,

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

云原生安全指北已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

与我们调查过的 ClickFix 攻击的另一个相似之处在于,它们都利用谷歌搜索作为投放渠道。在 Push 拦截的 ClickFix 攻击中,有五分之四是通过谷歌搜索传播的。攻击者利用 恶意广告[6]以及被入侵的或定制的氛围编程(注:即AI生成代码)网站,在用户上网浏览时进行拦截。

因此,这极有可能是 ClickFix 的一种浏览器原生(browser-native)演进形式。它与典型的 ClickFix 攻击共享许多元素,且可能出自同一伙攻击者之手。

四、基于 Azure CLI 的 OAuth 诡计

巧妙利用 Azure CLI 和 OAuth 许可滥用,是对以往技术的一种高明迭代。

我们之前见过 授权钓鱼[7]和 设备码钓鱼[8]攻击,攻击者诱骗受害者通过 OAuth 将恶意外部应用连接到其租户。但由于更严格的默认配置[9],这在 Azure 等核心企业云环境中变得越来越困难。然而,由于 Azure CLI 是 Microsoft 的第一方应用(first-party app),它在 Entra ID 中被隐式信任,因此不受这些限制的影响。

像 Azure CLI 这样的第一方应用在所有租户中默认受信任,允许在无需管理员批准的情况下请求权限,且无法被删除或阻断。它们还可以被授予特殊权限,例如租户范围的服务权限(无需管理员批准)、使用旧版或未记录的Graph作用域、用于 Microsoft 客户端操作的内部作用域,以及针对 Office/Entra 管理功能的权限。这使得 Azure CLI 成为攻击者的首要目标,其可利用性远高于连接第三方应用的情况。

五、高级检测规避技术

此次攻击采用了我们在野观察到的最先进的一些检测规避技术[10]。

除了利用 Google Search 投放诱饵,以及使用 Bot 防护阻止安全工具分析页面外,攻击者还设置了多层反分析技术作为阻碍。

我们已经提到过基于电子邮件地址和域名的选择性定向攻击。但此次攻击涉及的所有站点都采用了同步 IP 封禁机制——这意味着如果你访问了一个站点并被推送了相关的钓鱼页面,那么在与该攻击关联的任何其他站点上,该钓鱼页面都将不再显示。当你再次访问其中任何一个站点时,钓鱼内容不会触发,浏览体验与正常情况无异。

在后端,系统会根据你的 IP 和会话的唯一标识符进行多重检查。除非满足所有条件,否则特定的 JavaScript 包将不会被发送——从而阻止对页面进行全面检查以检测恶意元素。

如果条件未满足,页面可能根本不会加载 Cloudflare Turnstile 检查,或者直接将你重定向回网站以继续正常浏览。

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

云原生安全指北已关注

分享视频

,时长00:26

0/0

00:00/00:26

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:26

00:26

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

观看更多

转载

,

绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击

云原生安全指北已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

所有的这些措施使得依赖基于 URL 的检查和流量分析来提前检测和拦截这些攻击变得异常困难。

六、关键要点

ConsentFix 是 ClickFix 和授权钓鱼的一种危险演进,传统安全工具难以检测和阻止,原因如下:

  • • 攻击完全发生在浏览器上下文中,消除了 ClickFix 的一个关键检测机会(因为它不接触终端)。
  • • 通过 Google Search 水坑攻击投递诱饵,完全绕过了基于电子邮件的反钓鱼控制。
  • • 针对像 Azure CLI 这样的第一方应用,意味着许多适用于第三方应用集成的缓解控制措施不再适用——这使得这种攻击更难预防。
  • • 由于不需要登录,像通行密钥这样的抗钓鱼认证控制对这种攻击没有影响。
  • • 高级检测规避技术的使用使得这种攻击难以调查,意味着这些攻击正在逃避检测。

我们可以肯定,未来会看到更多 ConsentFix 的案例。我们将持续监测攻击者如何调整策略,例如将这些能力与常见的 as-a-Service(即服务)产品集成以使其更广泛传播,以及未来其范围是否会超越 Microsoft / Azure CLI 目标,进而针对其他企业云生态系统。

七、建议

在后端,利用此攻击将导致在 Microsoft Azure CLI 应用上观察到登录事件。该应用的任何合法使用很可能仅限于系统管理员和可能的开发人员。因此,来自这些群体之外的登录行为本质上更为可疑。

此外,合法 Azure CLI 使用与利用此攻击进行的登录,在某些方面可能存在差异。例如,参阅以下来自实验室环境的日志。应用为 “Microsoft Azure CLI” 且资源为 “Azure Resource Manager” 的登录事件,是使用 Powershell CLI 框架进行的 Azure CLI 合法使用。相反,资源为 “Windows Azure Active Directory” 的登录事件,则是通过钓鱼工具包所用的方法登录产生的。

Microsoft 日志示例。

虽然无法保证这能绝对区分合法与恶意样本,但这确实是另一个值得考量的数据点。如果您要搜索日志,建议使用以下相应的 GUIDs

  • • Application ID = 04b07795-8ddb-461a-bbee-02f9e1bf7b46
  • • Resource ID = 00000002-0000-0000-c000-000000000000

对于上述交互式登录,你无法依赖查找来自可疑 IP 地址或位置的登录记录。登录过程是直接从受害者的浏览器向 Microsoft 发起的,因此与这些事件关联的 IP 地址将是目标用户使用的合法 IP,而非威胁行为者的 IP。

然而,对于非交互式登录以及其他已执行操作的审计日志,你或许能发现与原始交互式登录不同的异常 IP 地址。例如,以下是在入侵发生后立即观察到的一些非交互式登录,它们分别来自美国和印度尼西亚的不同 IP 地址。

观察到来自美国和印度尼西亚 IP 地址的非交互式登录。

有趣的是,它们访问的资源也有所不同:其中一个像交互式登录一样访问了 Windows Azure Active Directory 资源 ID,而另外两个则访问了 Microsoft Intune Checkin 资源 ID。

注意: 攻击者正故意利用旧版作用域来规避检测。你应该确保启用了 AADGraphActivityLogs[11] 并对其进行监控,以便能够搜索如 AD 枚举等异常活动。

7.1 IoC

在应对现代钓鱼攻击时,短效 IoCs(入侵指标)的价值有限,因为攻击者能够快速生成并轮换[12]攻击链中使用的站点,且经常动态地向站点访问者提供不同的 URL。

话虽如此,此次用于投递最终钓鱼载荷的域名包括:

  • • hxxps://trustpointassurance.com/
  • • hxxps://fastwaycheck.com/
  • • hxxps://previewcentral.com

此外,我们建议在 Azure 日志中搜寻来自以下 IP 的连接:

  • • 12.75.216.90
  • • 182.3.36.223
  • • 12.75.116.137

八、Push 如何拦截此次攻击

尽管这是一种全新的技术,Push 还是成功拦截了此次攻击,并在客户与其交互之前将其阻断。

显示 Push 检测并阻断页面的检测时间线。

Push 并不检测那些重定向技巧,也不依赖过时的域名威胁情报源。我们之所以能检测到这些攻击(它们往往能绕过所有其他层级的钓鱼防护),是因为 Push 能看到你用户所见的内容。无论攻击者使用何种投递渠道或伪装手段[10],当用户在浏览器中加载恶意页面时,Push 都会实时阻断攻击。

这还不是我们的全部能力:Push 基于浏览器的安全平台针对导致数据泄露的主要诱因,提供了全面的检测与响应能力。Push 能够拦截基于浏览器的攻击,如 AiTM 钓鱼、撞库、恶意浏览器扩展、ClickFix 以及会话劫持。你无需等到出事才行动——你还可以使用 Push 主动发现并修复员工所用应用中的漏洞,例如 Ghost logins(幽灵登录)、SSO 覆盖缺口、MFA 缺失、弱密码等,从而加固你的身份攻击面。

欲了解关于 Push 的更多信息,请查看我们最新的产品概览[13],或预约我们的团队进行现场演示(live demo)[14]。

引用链接

[1] 《ConsentFix: Browser-native ClickFix hijacks OAuth grants》: https://pushsecurity.com/blog/consentfix/ [2] 授权码流程: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow [3] 条件加载: https://phishing-techniques.pushsecurity.com/techniques/conditional-loading/ [4] ClickFix 的网络研讨会(webinar): https://pushsecurity.com/webinar/clickfix [5] 我们见过的最先进的 ClickFix 攻击: https://pushsecurity.com/blog/the-most-advanced-clickfix-yet/ [6] 恶意广告: https://phishing-techniques.pushsecurity.com/techniques/malvertising/ [7] 授权钓鱼: https://phishing-techniques.pushsecurity.com/techniques/consent-phishing/ [8] 设备码钓鱼: https://phishing-techniques.pushsecurity.com/techniques/device-code-phishing/ [9] 更严格的默认配置: https://learn.microsoft.com/en-us/microsoft-365/admin/misc/user-consent?view=o365-worldwide [10] 检测规避技术: https://phishing-techniques.pushsecurity.com/ [11] AADGraphActivityLogs: https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/aadgraphactivitylogs [12] 快速生成并轮换: https://phishing-techniques.pushsecurity.com/techniques/domain-rotation-redirection/ [13] 查看我们最新的产品概览: https://pushsecurity.com/resources/product-brochure [14] 预约我们的团队进行现场演示(live demo): https://pushsecurity.com/demo

交流群


查看原文:《绕过MFA与密码:揭秘滥用Azure CLI的ConsentFix新型攻击》

评论:0   参与:  3