Az - Pass the Certificate
Reading time: 3 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Pass the Certificate (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 JSON Web Token (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 du client et le contexte de sécurité, vérifie la validité du PRT et répond avec le certificat.
Dans ce scénario et aprÚs avoir récupéré toutes les informations nécessaires pour une attaque Pass the PRT :
- Nom d'utilisateur
- ID de 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 dureront aussi longtemps que le PRT. Pour utiliser le certificat, vous pouvez utiliser l'outil python AzureADJoinedMachinePTC qui va authentifier 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
- Pour plus de détails sur le fonctionnement de Pass the Certificate, consultez le post original https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.