Az - PTA - Pass-through Authentication

Supporta HackTricks

Informazioni di base

Dai documenti: Azure Active Directory (Azure AD) Pass-through Authentication consente ai tuoi utenti di accedere sia alle applicazioni on-premises che a quelle basate su cloud utilizzando le stesse password. Questa funzionalità offre ai tuoi utenti una migliore esperienza - una password in meno da ricordare, e riduce i costi del helpdesk 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 sincronizzate ma le password non lo sono come in PHS.

L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud è effettuata da un agente di autenticazione che gira su un server on-prem (non è necessario che sia sul DC on-prem).

Flusso di autenticazione

  1. Per accedere l'utente viene reindirizzato a Azure AD, dove invia il nome utente e la password

  2. Le credenziali sono crittografate e messe in una coda in Azure AD

  3. 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.

  4. L'agente convalida le credenziali contro l'AD on-prem 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 chiaro). Può anche convalidare qualsiasi credenziale su AzureAD (attacco simile a Skeleton key).

On-Prem -> cloud

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 introdotte (quindi tutte le password saranno valide per l'autenticazione):

Install-AADIntPTASpy

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

È anche possibile vedere le password in chiaro inviate all'agente PTA utilizzando il seguente cmdlet sulla macchina dove è stato installato il precedente backdoor:

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 sul cloud, è possibile registrare un nuovo agente PTA impostandolo su una macchina controllata dall'attaccante. Una volta che l'agente è configurato, possiamo ripetere i passi precedenti per autenticare 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:

Az - Seamless SSO

Riferimenti

Supporta HackTricks

Last updated