语言:
Microsoft Entra 租户可以与外部域联合,以便与另一个域建立信任,从而进行身份验证和授权。组织使用联合功能,将 Active Directory 用户的身份验证委派到本地 Active Directory Federation Services (AD FS)。(请注意:外部域不是 Active Directory“域”。) 然而,如果恶意攻击者在 Microsoft Entra ID 中获得了更高的特权,他们可以添加自己的联合域或编辑现有的联合域来添加包含自己设置的辅助配置,从而滥用这种联合机制来创建后门程序。此攻击将导致以下操作:
此风险暴露指标根据其创建或转换的某些后门域特征,可检测 AADInternals 黑客工具包,尤其是 ConvertTo-AADIntBackdoor
和 New-AADIntBackdoor
cmdlet 创建的联合域后门程序。
同时,请参考相关的风险暴露指标“联合签名证书不匹配”。
用于将身份验证证明从恶意联合域传输到目标 Microsoft Entra ID 的联合协议可以是 WS-Federation 或 SAML。使用 SAML 时,这种攻击类似于“Golden SAML”攻击,主要区别如下:
microsoft.directory/domains/allProperties/allTasks
和 microsoft.directory/domains/federation/update
权限可授予管理员修改联合域的能力。截至 2023 年 11 月,包括潜在的自定义角色在内,以下内置 Microsoft Entra 角色具有此权限:
APT29 黑客组织在 2020 年 12 月滥用这种方法对 SolarWinds 发起了臭名昭著的“Solorigate”攻击,Microsoft 和 Mandiant 对此均有记录。
此发现表明存在来自攻击者的潜在后门程序。启动配有取证分析的事件响应程序,以确定所指控的攻击,识别攻击的发起者和时间,并评估可能的入侵程度。
如要查看 Azure 门户中的联合域,请导航到“自定义域名”模块,并在“联合”列中查找带有复选标记的域名。潜在恶意域的名称与发现结果中标记的名称相符。但是,与 MS Graph API 不同,Azure 门户不会显示联合技术的细节。
使用来自 MS 图形 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 }
为取证分析而保存证据之后:
Remove-MgDomain
将其移除。Remove-MgDomainFederationConfiguration
移除联合配置。您可以按照 Microsoft 提供的“紧急轮换 AD FS 证书”修复指导进行操作。
如需确认操作,请确保该风险暴露指标报告的结果已清除。
此外,预测攻击者是否有可能已经设置其他持久性机制(例如后门程序)非常重要。向事件响应专家寻求帮助,以识别和消除这些额外的威胁。
请注意,联合是 Microsoft Entra ID 正常且合法的功能,而此类攻击滥用了该功能。为了防止未来的攻击,请对可以修改联合设置的管理员数量加以限制。这是一项主动措施,攻击者必须拥有高特权才能创建此类后门程序。查看与特定权限和角色列表相关的漏洞描述。
名称: 已知的联合域后门程序
代码名称: KNOWN-FEDERATED-DOMAIN-BACKDOOR
严重程度: Critical
More: Modify Trusted Domains [Mandiant], Security vulnerability in Azure AD & Office 365 identity federation, How to create a backdoor to Azure AD - part 1: Identity federation, Deep-dive to Azure Active Directory Identity Federation