Az - PTA - Pass-through Authentication
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)
From the docs: L'autenticazione Pass-through di Azure Active Directory (Azure AD) consente ai tuoi utenti di accedere sia alle applicazioni on-premises che a quelle basate sul 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 supporto IT perché i tuoi utenti sono meno propensi a dimenticare come accedere. Quando gli utenti accedono utilizzando Azure AD, questa funzionalità convalida le password degli utenti direttamente contro il tuo Active Directory on-premises.
In PTA le identità sono synchronize ma le password non lo sono come in PHS.
L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud avviene tramite un agente di autenticazione in esecuzione su un server on-prem (non deve essere necessariamente sul DC on-prem).
Per accedere, l'utente viene reindirizzato a Azure AD, dove invia il nome utente e la password
Le credenziali sono crittografate e impostate in una coda in Azure AD
L'agente di autenticazione on-prem raccoglie le credenziali dalla coda e le decrittografa. Questo agente è chiamato "agente di autenticazione pass-through" o agente PTA.
L'agente convalida le credenziali contro l'AD on-prem e invia la risposta indietro a 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 chiaro). Può anche convalidare qualsiasi credenziale su AzureAD (attacco simile a Skeleton key).
Se hai accesso admin al server Azure AD Connect con l'agente PTA in esecuzione, puoi utilizzare il modulo AADInternals per inserire una backdoor che convaliderà TUTTE le password inserite (quindi tutte le password saranno valide per l'autenticazione):
Se l'installazione fallisce, ciò è probabilmente dovuto alla mancanza dei Microsoft Visual C++ 2015 Redistributables.
È anche possibile vedere le password in chiaro inviate all'agente PTA utilizzando il seguente cmdlet sulla macchina dove è stata installata la precedente backdoor:
This backdoor will:
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.
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 autenticarsi utilizzando qualsiasi password e anche, ottenere le password in chiaro.
È possibile utilizzare Seamless SSO con PTA, che è vulnerabile ad altri abusi. Controllalo in:
Az - Seamless SSOLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)