用途:本技能面向已获授权的安全测试场景,讲解 Entra ID(原 Azure AD)租户的攻击与枚举思路。Entra ID 是 Microsoft 365、Azure 及大量 SaaS 集成的身份控制面,其攻击面(OAuth 令牌、应用同意、服务主体、条件访问缺口)与传统本地 AD 不同,且往往监控更弱。
主要能力与用法: 侦察:无凭据阶段用 Invoke-AADIntReconAsOutsider -DomainName target.com 确认租户、联邦配置;凭据阶段用 roadrecon auth、roadrecon gather、roadrecon gui 枚举用户、组、应用、服务主体与条件访问,或用 azurehound 采集 BloodHound 数据。 密码喷洒:MSOLSpray、o365spray(--validate、--enum、--spray、--safe 30)、TREVORspray;建议每用户每 30 至 60 分钟一次以规避锁定。 令牌窃取与重放:PRT 可用 ROADtoken、RequestAADRefreshToken 或 AADInternals 的 Get-AADIntUserPRTToken 获取;刷新令牌可通过 oauth2/v2.0/token 端点交换访问令牌,或用 roadrecon auth --refresh-token 认证。 应用与服务主体滥用:枚举高权限应用权限(如 Mail.Read、RoleManagement.ReadWrite.Directory),检查用户同意策略与 Get-MgOauth2PermissionGrant,利用 AppRoleAssignment.ReadWrite.All 进行角色分配提权。 条件访问绕过:关注旧式认证协议、设备合规缺口、命名位置信任、平台与应用排除、CAE 与非 CAE 资源差异。 跨租户与混合身份:B2B 来宾横向、跨租户信任与同步、Azure AD Connect 同步账户 DCSync、PTA 代理凭据截获、ADFS 金 SAML、托管标识与工作负载身份联合。
限制:仅可在获授权租户上测试。本技能不覆盖本地 AD、通用云基础设施、AD CS 证书滥用等,应转用相应技能。原文引用的 AzureAD、MSOnline 模块已弃用,旧 Get-AzureAD*/Get-Msol* 命令将无法认证,应改用 Microsoft Graph PowerShell。文中未提供具体价格或部署要求;ATT&CK 编号引用前需对照当前版本复核。