Az - PTA - Pass-through Authentication

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

Altri modi per supportare HackTricks:

Informazioni di base

Dalla documentazione: L'autenticazione pass-through di Azure Active Directory (Azure AD) consente ai tuoi utenti di effettuare l'accesso a sia alle applicazioni locali che basate su cloud utilizzando le stesse password. Questa funzionalità offre ai tuoi utenti un'esperienza migliore - una password in meno da ricordare e riduce i costi del servizio di assistenza IT perché è meno probabile che gli utenti dimentichino come effettuare l'accesso. Quando gli utenti effettuano l'accesso utilizzando Azure AD, questa funzionalità convalida le password degli utenti direttamente contro il tuo Active Directory locale.

In PTA le identità sono sincronizzate ma le password non lo sono come in PHS.

L'autenticazione viene convalidata nell'AD locale e la comunicazione con il cloud avviene tramite un agente di autenticazione in esecuzione su un server locale (non è necessario che sia nel DC locale).

Flusso di autenticazione

  1. Per effettuare l'accesso l'utente viene reindirizzato ad Azure AD, dove invia nome utente e password

  2. Le credenziali vengono crittografate e impostate in una coda in Azure AD

  3. L'agente di autenticazione locale raccoglie le credenziali dalla coda e le decrittografa. Questo agente è chiamato "agente di autenticazione pass-through" o agente PTA.

  4. L'agente convalida le credenziali contro l'AD locale e invia la risposta indietro ad Azure AD che, se la risposta è positiva, completa l'accesso dell'utente.

Se un attaccante compromette il PTA può vedere tutte le credenziali dalla coda (in testo in chiaro). Può anche convalidare qualsiasi credenziale ad AzureAD (attacco simile a Skeleton key).

Da locale al cloud

Se hai accesso amministrativo al server Azure AD Connect con l'agente PTA in esecuzione, puoi utilizzare il modulo AADInternals per inserire un backdoor che convaliderà TUTTE le password introdotte (quindi tutte le password saranno valide per l'autenticazione):

Install-AADIntPTASpy

Se l'installazione fallisce, questo è probabilmente dovuto alla mancanza di Microsoft Visual C++ 2015 Redistributables.

È anche possibile visualizzare le password in chiaro inviate all'agente PTA utilizzando il seguente cmdlet sulla macchina dove è stata installata la backdoor precedente:

Get-AADIntPTASpyLog -DecodePasswords

Questo backdoor farà:

  • Creare una cartella nascosta C:\PTASpy

  • Copiare un PTASpy.dll in C:\PTASpy

  • Iniettare PTASpy.dll nel processo AzureADConnectAuthenticationAgentService

Quando il servizio AzureADConnectAuthenticationAgent viene riavviato, PTASpy viene "scaricato" e deve essere reinstallato.

Cloud -> On-Prem

Dopo aver ottenuto privilegi GA nel cloud, è possibile registrare un nuovo agente PTA impostandolo su una macchina controllata dall'attaccante. Una volta che l'agente è configurato, possiamo ripetere i passaggi precedenti per autenticarci utilizzando qualsiasi password e anche ottenere le password in chiaro.

Seamless SSO

È possibile utilizzare Seamless SSO con PTA, che è vulnerabile ad altri abusi. Controllalo in:

pageAz - Seamless SSO

References

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

Altri modi per supportare HackTricks:

Last updated