可疑的 AD 同步角色分配

HIGH

描述

您可以使用 Microsoft Entra Connect(之前称为 Azure AD Connect)或 Microsoft Entra Cloud Sync(之前称为 Azure AD Connect Cloud Sync)将 Microsoft Entra ID 与 Active Directory 同步。Microsoft 提供了两个专门为这些同步工具使用的服务帐户而设计的内置角色。

攻击者可以通过将这些角色分配给受其控制的安全主体(如用户、服务主体或组)来加以利用,从而实现特权提升或长期驻留。这些角色特别具有吸引力,原因如下:

  • 他们仍然拥有特权。尽管在 2024 年 8 月的安全加固更新过程中,Microsoft 删除了这些角色的多个敏感 Entra ID 权限,但 Tenable Research 发现,他们仍然保留通过特定 API 进行访问的隐式权限。因此,这些角色会继续提供强大的访问权限。
  • 他们的运作方式具有隐蔽性。由于管理员很少手动分配这些角色,因此这些角色在 Azure 和 Entra 门户中都已被隐藏。他们不会出现在 Entra 角色列表中,也不会出现在给定主体的“已分配的角色”部分下,这使他们非常适合隐蔽使用。
  • 一个角色未记录在案。Microsoft 尚未记录“本地目录同步帐户”角色,这进一步增加了滥用行为未被检测到的风险。

此风险暴露指标使用以下逻辑来检测分配给这些角色的可疑安全主体:

  • 对于“目录同步帐户”角色:检测依赖多种启发式算法来识别与 Microsoft Entra Connect 或 Microsoft Entra Cloud Sync 使用的典型服务帐户不符的分配对象。
  • 对于“本地目录同步帐户”角色:任何分配都会被标记为可疑,无论条件如何,因为此角色没有已知的合法用途。

解决方案

首先,评估所识别的可疑安全主体的合法性​:

  • 租户同步状态:如果 Entra 租户不是混合模式(即未与 Active Directory 同步),则不应分配这两个角色中的任何一个。在这些情况下,报告的分配可能表明存在非法配置或从先前混合状态遗留下来的设置。
  • 安全主体类型:在合法的情况下,服务主体或组都不应拥有这两个角色中的任何一个。
  • 此安全主体是什么时间创建的?该日期是否确实对应于使用“Microsoft Entra Connect”或“Microsoft Entra Cloud Sync”设置目录同步的日期?
  • 在审计日志中:此安全主体是否定期执行目录同步任务,例如用户更新、创建、删除、密码更改等?
  • 在登录日志中:此安全主体是否定期从可能属于您组织的 IP 地址进行身份验证?
  • 如果您使用 Microsoft Entra Connect,其用户主体名称是否确实包含预期的本地 Microsoft Entra Connect 服务器的名称?(例如,如果服务器名为“AADCONNECT”,则预期的 UPN 可以是:“Sync_AADCONNECT_ @...”)。是否具有预期的显示名称“本地目录同步服务帐户”?
  • 冗余或异常角色使用:如果已分配“本地目录同步帐户”角色,请考虑:为何使用此角色来取代标准的“目录同步帐户”角色或与其搭配使用?

如果您怀疑遭到入侵:

  • 进行取证调查​以确认所指控的攻击、识别攻击的时间和实施者,并评估潜在入侵的程度。
  • 查看审计日志​以识别潜在的恶意操作。

这些角色及其分配对象在 Azure 门户或 Entra 管理中心中都不显示。要确定分配情况,您必须使用其他方法,例如借助 Microsoft Graph PowerShell cmdlet 或直接查询 API:

Connect-MgGraph -Scopes "RoleManagement.Read.All"
Get-MgDirectoryRoleMember -DirectoryRoleId (Get-MgDirectoryRole -Filter "RoleTemplateId eq 'd29b2b05-8046-44ba-8758-1e26182fcf32'").Id | Format-List *
Get-MgDirectoryRoleMember -DirectoryRoleId (Get-MgDirectoryRole -Filter "RoleTemplateId eq 'a92aed5d-d78a-4d16-b381-09adb37eb3b0'").Id | Format-List *

或者,您可以使用现已弃用的 Azure AD PowerShell cmdlet

Connect-AzureAD
Get-AzureADDirectoryRole -Filter "RoleTemplateId eq 'd29b2b05-8046-44ba-8758-1e26182fcf32'" | Get-AzureADDirectoryRoleMember
Get-AzureADDirectoryRole -Filter "RoleTemplateId eq 'a92aed5d-d78a-4d16-b381-09adb37eb3b0'" | Get-AzureADDirectoryRoleMember

如果识别的安全主体没有合法理由具有这些角色中的一个,并且 Microsoft Entra Connect 或 Entra Cloud Sync 未使用该角色,则您应移除此角色分配。您可以使用以下任一 PowerShell cmdlet 来实现此目标:Remove-AzureADDirectoryRoleMemberRemove-MgDirectoryRoleMemberByRef Microsoft Graph PowerShell cmdlet。请参阅提供的修复脚本。

指标详细信息

名称: 可疑的 AD 同步角色分配

代码名称: SUSPICIOUS-DIRECTORY-SYNCHRONIZATION-ACCOUNTS-ROLE-ASSIGNMENT

严重性: High

类型: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 信息: