Az - Pass the Certificate
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
In macchine unite ad Azure, è possibile autenticarsi da una macchina all'altra utilizzando certificati che devono essere emessi da Azure AD CA per l'utente richiesto (come soggetto) quando entrambe le macchine supportano il meccanismo di autenticazione NegoEx.
In termini super semplificati:
La macchina (client) che avvia la connessione ha bisogno di un certificato da Azure AD per un utente.
Il client crea un'intestazione JSON Web Token (JWT) contenente PRT e altri dettagli, la firma utilizzando la chiave derivata (usando la chiave di sessione e il contesto di sicurezza) e la invia ad Azure AD.
Azure AD verifica la firma JWT utilizzando la chiave di sessione del client e il contesto di sicurezza, controlla la validità del PRT e risponde con il certificato.
In questo scenario e dopo aver raccolto tutte le informazioni necessarie per un attacco Pass the PRT:
Nome utente
ID tenant
PRT
Contesto di sicurezza
Chiave derivata
È possibile richiedere un certificato P2P per l'utente con lo strumento PrtToCert:
I certificati dureranno quanto il PRT. Per utilizzare il certificato puoi usare lo strumento python AzureADJoinedMachinePTC che autentica alla macchina remota, esegue PSEXEC e apre un CMD sulla macchina vittima. Questo ci permetterà di usare di nuovo Mimikatz per ottenere il PRT di un altro utente.
Per ulteriori dettagli su come funziona Pass the Certificate, controlla il post originale https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)