OAuth客户端ID欺骗使攻击者可验证窃取的Microsoft Entra凭据

OAuth客户端ID欺骗使攻击者可验证窃取的Microsoft Entra凭据

导语:Proofpoint披露,威胁行为者正在利用一种名为OAuth客户端ID欺骗的新型规避技术,在Microsoft Entra ID环境中验证窃取的凭据而不触发成功登录事件。该技术利用Entra ID错误响应的差异性实现账户和密码有效性推断,已被两个独立攻击活动采用。

至少两个不同的威胁行为者正在云攻击活动中武器化一种名为"OAuth客户端ID欺骗"的新型规避技术,同时绕过遥测监测。

该活动使攻击者能够在Microsoft Entra ID环境中枚举用户账户并验证窃取的凭据,而无需生成任何会向防御者告警的成功登录事件。攻击者已开始利用这一漏洞,以获取未经授权的组织云服务访问权限。

Proofpoint在一份声明中表示:"云登录遥测中存在一个盲点:Entra ID会根据所提供的OAuth客户端ID是否有效,返回不同的错误响应。攻击者借此大规模推断有效的用户名和正确密码,能够在不记录成功登录的情况下核对窃取的凭据列表。"

换言之,这些攻击利用的是OAuth客户端ID——这是应用程序在请求访问用户数据时被分配的全局唯一标识符(GUID),在身份验证请求中作为"client_id"传递。通过提供伪造的客户端ID,攻击者无需注册OAuth应用程序即可进行账户枚举,并可在不生成成功登录事件的情况下推断密码和账户的有效性。

Proofpoint研究员Rachel Rabin指出:"Entra登录日志是识别恶意身份验证活动(包括用户枚举、密码喷洒和初始访问尝试)的主要遥测来源。"威胁集群(如UNK_CustomCloak)已被观察到通过伪造User-Agent字符串,针对Microsoft Entra ID环境开展暴力破解活动,他们利用一个已停用的旧版第一方应用程序Windows Live Custom Domains绕过标准登录限制,并在超过4,000个租户中探测用户密码。

但最新的攻击标志着这种技术的演进——攻击者通过向Microsoft的OAuth 2.0令牌端点发送HTTP POST请求,并使用资源所有者密码凭据(ROPC)流程来伪造OAuth客户端ID。具体而言,这涉及提供一个语法上有效但并不对应真实应用程序的客户端ID。

在这种情况下,Entra登录日志中只会记录应用程序ID,而没有对应的应用程序名称。响应中包含的Azure Active Directory安全令牌服务(AADSTS)错误代码随后可被用于推断账户是否存在以及密码是否正确,且无需注册应用程序。

原文配图

Proofpoint解释道:"如果伪造的客户端ID不是有效的UUIDv4,Entra不会立即拒绝该请求。攻击者因此可以分析此错误响应,以识别有效的账户和密码,即便使用了格式不正确的客户端ID。"

"当使用伪造的客户端ID时,登录日志中不会记录相应的应用程序名称。这意味着,针对特定应用程序名称的激增进行检测的方法可能会完全错过此类活动,因为该字段为空。"

掌握了这些信息,攻击者就能够识别出可被用于隐蔽访问的账户,同时使防御者难以识别可疑活动。

Proofpoint表示,已识别出两个在2025年12月底独立采用该技术的大型攻击活动,这表明该方法正日益被纳入攻击者武器库中,而不再是一次性孤立事件:

这两个攻击活动都被观察到使用有效的UUID而非格式不正确的标识符,并呈现出与预编译的用户名词表相符的模式。其中,UNK_OutFlareAZ按字母顺序枚举用户,而UNK_pyreq2323则没有这样做。它们的另一个差异体现在客户端ID的伪造方式上。

据称,UNK_pyreq2323修改了已知应用程序ID的末尾数字,然后在最多12个用户之间重复使用伪造的ID。相比之下,UNK_OutFlareAZ则为每个请求生成一个唯一的客户端ID。

Proofpoint指出:"通过将身份验证尝试分散到众多虚构应用程序中,活动变得更难关联,从而可能规避针对每个应用程序的检测和速率限制。组织可以尝试通过应用限定于常被用于枚举的应用程序的条件访问策略,来缓解传统的枚举攻击。伪造的客户端ID不会触发限定于特定应用程序的CA策略。"


来源信息

来源:The Hacker News

原文链接:https://thehackernews.com/2026/07/oauth-client-id-spoofing-lets-attackers.html

作者:info@thehackernews.com (The Hacker News)