联合签名证书不匹配

HIGH

描述

Microsoft Entra 租户可以与外部域联合,以便与另一个域建立信任,从而进行身份验证和授权。组织使用联合功能,将 Active Directory 用户的身份验证委派到本地 Active Directory Federation Services (AD FS)。(请注意:外部域不是 Active Directory“域”。) 然而,如果恶意攻击者在 Microsoft Entra ID 中获得了更高的特权,他们可以滥用此联合机制,通过向合法的联合配置添加他们自己的恶意次要令牌签名证书及其自定义设置来创建后门程序​。此攻击将导致以下操作:

  • 冒充​:恶意的次要令牌签名证书可以生成令牌,允许攻击者以任何 Microsoft Entra 用户的身份来进行身份验证,且无需知道或重置密码。这包括“仅限云”用户(并非混合用户)和外部用户。这允许对 Microsoft Entra ID、Microsoft 365 (O365),以及其他依赖 Microsoft Entra ID 作为身份验证提供商 (SSO) 的应用程序进行攻击,即便您已强制使用 MFA(见下方)。
  • 特权提升​:攻击者可以冒充任何用户,尤其是特权 Microsoft Entra 用户。
  • 多因素身份验证绕过​:受信任的外部域可以利用联合身份验证处理强制执行 MFA 的角色。然后,恶意的次要令牌签名证书可以虚假声明伪造的身份验证使用了 MFA,而 Microsoft Entra ID 会信任这一声明且不会再次提示进行 MFA。即便在受到 MFA 保护的情况下,攻击者也可以通过这种方法冒充所有用户。
  • 持久性​:向现有的联合域添加恶意的次要令牌签名证书是一种隐蔽技术,允许入侵 Microsoft Entra 租户并占用高级特权的攻击者稍后重新获得访问权限。

此风险暴露指标会检测主要令牌签名证书和次要令牌签名证书(如果存在)之间的使用者或颁发者属性中任何不匹配的情况​,因为这可能表明次要令牌签名证书是不合法的,并且可能是恶意的。

另请参阅相关的风险暴露指标“已知的联合域后门程序”。

用于将身份验证证明从遭入侵的联合域传输到目标 Microsoft Entra ID 的联合协议可以是 WS-Federation 或 SAML。使用 SAML 时,这种攻击类似于“Golden SAML”攻击,主要区别如下:

  • 攻击者不是窃取现有联合配置的合法 SAML 签名密钥,而是注入他们的次要签名证书及其密钥。
  • 攻击者将伪造的令牌提供给联合服务(而不是特定服务),以对多个系统进行未经授权的访问。

microsoft.directory/domains/allProperties/allTasksmicrosoft.directory/domains/federation/update 权限可授予管理员修改联合域的能力。截至 2023 年 11 月,包括潜在的自定义角色在内,以下内置 Microsoft Entra 角色具有此权限:

APT29 黑客组织在 2020 年 12 月滥用这种方法对 SolarWinds 发起了臭名昭著的“Solorigate”攻击,MicrosoftMandiant 对此均有记录。此技术也在多篇文章中有所记载,包括:“Azure AD 和 Office 365 联合身份验证中的安全漏洞”、“如何创建 Azure AD 的后门程序 - 第 1 部分:联合身份验证”,以及“深入了解 Azure Active Directory 联合身份验证”。

解决方案

此发现表明存在来自攻击者的潜在后门程序​。

首先,检查次要令牌签名证书,并密切关注任何与主要证书不匹配的报告属性​。验证这些属性在您组织内的合法性。在包含该次要证书的报告域中,如果对联合配置进行了任何修改,则请向 Entra ID 管理员进行确认。

次要令牌签名证书通常用于在主要证书临近过期时进行轮换。只有在次要证书具有明显恶意,或者未被管理员识别,从而可能具有恶意时,这才会成为一个安全问题​。在这种情况下,应启动配有取证分析的事件响应程序​,以确定所指控的攻击,识别攻击的发起者和时间,并评估可能的入侵程度。

如要查看 Azure 门户中的联合域,请导航到“自定义域名”模块,并在“联合”列中查找带有复选标记的域名。潜在恶意域的名称与发现结果中标记的名称相符。但是,与 MS Graph API 不同,Azure 门户不会显示联合技术的细节。

使用来自 MS Graph API 的 PowerShell cmdlet:使用 Get-MgDomain 列出域以及使用 Get-MgDomainFederationConfiguration 列出联合配置,如下所示:

Connect-MgGraph -Scopes "Domain.Read.All"
Get-MgDomain -All | Where-Object { $_.AuthenticationType -eq "Federated" } | ForEach-Object { $_​ ; Get-MgDomainFederationConfiguration -DomainId $_.Id }

。为进行取证分析而保存证据​后,建议移除恶意的次要令牌签名证书。由于 Microsoft 没有提供直接的方法来从联合配置中移除此特定证书,因此最简单的方法是禁用域联合,或完全移除受影响的域以清除其联合配置,然后再重新启用。但请注意时机,因为在这一过程中,依赖此联合域的用户将无法进行身份验证。如果您是使用 Microsoft Entra Connect 配置的联合,请使用 Microsoft Entra Connect 来执行此操作。如果手动进行,请使用 Update-MgDomainFederationConfiguration,并采用与最初使用的相同方法将其重置。您可以按照 Microsoft 提供的“紧急轮换 AD FS 证书”修复指南进行操作。

如需确认操作,请确保该风险暴露指标报告的结果已清除。 此外,预测攻击者是否有可能已经设置其他持久性机制(例如后门程序)非常重要。向事件响应专家寻求帮助,以识别和消除这些额外的威胁。

请注意,联合是 Microsoft Entra ID 正常且合法的功能,而此类攻击滥用了该功能。为了防止未来的攻击,请对可以修改联合设置的管理员数量加以限制。这是一项主动措施,攻击者必须拥有高特权才能创建此类后门程序。查看与特定权限和角色列表相关的漏洞描述。

指标详细信息

名称: 联合签名证书不匹配

代码名称: FEDERATION-SIGNING-CERTIFICATES-MISMATCH

严重性: High

类型: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 信息: