Az - Pass the Certificate
Pass the Certificate (Azure)
Nelle macchine unite in 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 inizia 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 (utilizzando 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à di 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 il certificato P2P per l'utente con lo strumento PrtToCert:
I certificati avranno la stessa durata del PRT. Per utilizzare il certificato è possibile utilizzare lo strumento python AzureADJoinedMachinePTC che si autenticherà alla macchina remota, eseguirà PSEXEC e aprirà un CMD sulla macchina vittima. Ciò ci permetterà di utilizzare nuovamente Mimikatz per ottenere il PRT di un altro utente.
Riferimenti
Per ulteriori dettagli su come funziona Pass the Certificate, controlla il post originale https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated