Az - Pass the Certificate

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

Autres façons de soutenir HackTricks :

Passez le Certificat (Azure)

Dans les machines jointes à Azure, il est possible de s'authentifier d'une machine à une autre en utilisant des certificats qui doivent être émis par Azure AD CA pour l'utilisateur requis (en tant que sujet) lorsque les deux machines prennent en charge le mécanisme d'authentification NegoEx.

En termes super simplifiés :

  • La machine (client) initiant la connexion a besoin d'un certificat d'Azure AD pour un utilisateur.

  • Le client crée un en-tête de jeton Web JSON (JWT) contenant PRT et d'autres détails, le signe en utilisant la clé dérivée (en utilisant la clé de session et le contexte de sécurité) et l'envoie à Azure AD.

  • Azure AD vérifie la signature JWT en utilisant la clé de session client et le contexte de sécurité, vérifie la validité de PRT et répond avec le certificat.

Dans ce scénario et après avoir obtenu toutes les informations nécessaires pour une attaque Pass the PRT :

  • Nom d'utilisateur

  • ID du locataire

  • PRT

  • Contexte de sécurité

  • Clé dérivée

Il est possible de demander un certificat P2P pour l'utilisateur avec l'outil PrtToCert:

RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]

Les certificats auront la même durée que le PRT. Pour utiliser le certificat, vous pouvez utiliser l'outil python AzureADJoinedMachinePTC qui va authentifier sur la machine distante, exécuter PSEXEC et ouvrir un CMD sur la machine victime. Cela nous permettra d'utiliser à nouveau Mimikatz pour obtenir le PRT d'un autre utilisateur.

Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP

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