研究人员已经找到了一种方法来操纵 Microsoft Entra ID 身份环境中的凭据验证过程,他们说攻击者可以使用这种方法来绕过混合身份基础设施中的身份验证。
该攻击需要攻击者在托管直通身份验证 (PTA) 代理的服务器上拥有管理员访问权限,该代理允许用户使用本地 Microsoft Entra ID(以前称为 Azure Active Directory)凭据登录云服务。然后,他们可以使用该访问权限以Entra ID用户的身份登录不同的本地域,而无需单独进行身份验证,Cymulate的研究人员在本周的一份报告中表示 。
将 PTA 转变为双重代理
“这个漏洞有效地将PTA代理变成了双重代理,允许攻击者在不知道实际密码的情况下以任何同步AD用户的身份登录,”Cymulate安全研究员Ilan Kalendarov写道。“如果分配了此类权限,则无论其原始同步的 AD 域如何,这可能会向全局管理员用户授予访问权限”,并允许横向移动到不同的本地域。
Microsoft没有立即回应Dark Reading的置评请求。但根据 Cymulate 的说法,Microsoft 计划在其端修复代码以解决这个问题。然而,这家总部位于以色列的安全供应商表示,该公司还将这种攻击技术描述为仅构成中等严重程度的威胁。
本月早些时候,在 Black Hat USA 2024 上,Semperis 的一名安全研究员披露了 Entra ID 的另一个问题,该问题允许攻击者访问组织的整个云环境。攻击者越来越关注 Entra ID、Okta 和 Ping 等云身份服务,因为一旦他们能够入侵这些提供商之一,他们就可以完全访问 SaaS 应用程序中的企业数据。
Cymulate 的概念验证攻击利用了该公司所说的 Entra ID 中的漏洞,该漏洞是在将多个本地域同步到单个 Azure 租户时。在对Dark Reading的评论中,Kalendarov表示,这是组织在简化不同部门之间的用户访问时经常使用的做法,例如,在简化拥有多个子公司的公司的IT管理时。他说,将多个本地域同步到单个 Azure 租户可实现不同业务部门之间的无缝协作。
处理不当的请求
Cymulate 发现,在此配置中,PTA 代理有时可能会错误地处理不同本地域的身份验证请求。该公司的调查显示,当用户尝试登录 Entra ID 时,密码验证请求会被放入服务队列中,并由任何可用的 PTA 从任何同步的本地域中检索。
Cymulate 发现,有时,PTA 代理会从不同的本地域检索用户名和密码,并尝试根据自己的 Windows Server AD 进行验证。 “这会导致身份验证失败,因为服务器无法识别特定用户,”Kalendarov 说。“这取决于哪个 PTA 代理首先收到请求。然而,在我们的测试和研究中,这是一个相当普遍的情况。
Cymulate 的 POC 利用了这个特定问题。为了证明攻击者如何滥用它,研究人员首先将一个不受管理的动态链接库注入到 PTA 代理中。加载后,托管 DLL 会截获负责在开头和结尾检查用户凭据的 ValidateCredential 函数。通过拦截此函数,攻击者可以操纵其结果,始终强制其返回 True,Cymulate 发现。“这意味着,即使我们提供来自不同域的用户的凭据,钩子也会返回 True,”Cymulate 说。“因此,我们将能够以任何同步的本地 AD 中的任何用户身份登录。”
Kalendarov 说,只有当攻击者首先在 PTA 服务器上获得本地管理员访问权限时,攻击才会起作用。“从理论上讲,在有些攻击中,您首先进入PTA服务器并复制证书,然后创建自己的复制服务器。攻击也会在该服务器上起作用。
Kalendarov 表示,Microsoft 可能认为这种威胁是适度的,因为攻击者需要首先获得本地管理员访问权限。此外,Microsoft 建议组织将服务器视为 Tier-0 组件,这意味着他们应实施最高级别的安全控制,例如严格的访问管理、增强的监视和网络隔离。但现实情况是,大多数公司并不将其视为Tier-0组件,他说。Microsoft 还建议组织为所有同步用户实施双因素身份验证。
Cymulate 本身建议 Microsoft 实施域感知路由,以确保将身份验证请求定向到适当的 PTA 代理。“此外,在同一租户内的不同本地域之间建立严格的逻辑分离可能是有益的,”该公司指出。