Az - Pass the Certificate

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Passa il Certificato (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, lo firma utilizzando la chiave derivata (utilizzando la chiave di sessione e il contesto di sicurezza) e lo invia ad Azure AD.

  • Azure AD verifica la firma JWT utilizzando la chiave di sessione del client e il contesto di sicurezza, verifica la validità di PRT e risponde con il certificato.

In questo scenario e dopo aver ottenuto 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:

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

I certificati avranno la stessa durata del PRT. Per utilizzare il certificato, puoi 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.

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

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated