Az - Seamless SSO
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From the docs: Η Seamless Single Sign-On (SSO) του Azure Active Directory (Azure AD Seamless SSO) συνδέει αυτόματα τους χρήστες όταν βρίσκονται σε εταιρικές συσκευές που είναι συνδεδεμένες στο εταιρικό σας δίκτυο. Όταν είναι ενεργοποιημένο, οι χρήστες δεν χρειάζεται να πληκτρολογούν τους κωδικούς πρόσβασης τους για να συνδεθούν στο Azure AD, και συνήθως, ούτε καν τα ονόματα χρήστη τους. Αυτή η δυνατότητα παρέχει στους χρήστες σας εύκολη πρόσβαση στις εφαρμογές σας που βασίζονται στο cloud χωρίς να χρειάζονται επιπλέον τοπικά στοιχεία.
Βασικά, η Seamless SSO του Azure AD συνδέει τους χρήστες όταν βρίσκονται σε υπολογιστή που είναι συνδεδεμένος σε τοπικό τομέα.
Υποστηρίζεται τόσο από PHS (Password Hash Sync) όσο και από PTA (Pass-through Authentication).
Η SSO για επιτραπέζιους υπολογιστές χρησιμοποιεί Kerberos για την αυθεντικοποίηση. Όταν ρυθμιστεί, το Azure AD Connect δημιουργεί έναν λογαριασμό υπολογιστή που ονομάζεται AZUREADSSOACC$
στο τοπικό AD. Ο κωδικός πρόσβασης του λογαριασμού AZUREADSSOACC$
αποστέλλεται ως απλό κείμενο στο Azure AD κατά τη διάρκεια της ρύθμισης.
Οι εισιτήριοι Kerberos είναι κρυπτογραφημένοι χρησιμοποιώντας το NTHash (MD4) του κωδικού πρόσβασης και το Azure AD χρησιμοποιεί τον αποσταλμένο κωδικό πρόσβασης για να αποκρυπτογραφήσει τους εισιτήριους.
Το Azure AD εκθέτει ένα σημείο πρόσβασης (https://autologon.microsoftazuread-sso.com) που δέχεται εισιτήρια Kerberos. Ο περιηγητής της μηχανής που είναι συνδεδεμένη στο τομέα προωθεί τα εισιτήρια σε αυτό το σημείο πρόσβασης για SSO.
Ο κωδικός πρόσβασης του χρήστη AZUREADSSOACC$
ποτέ δεν αλλάζει. Επομένως, ένας διαχειριστής τομέα θα μπορούσε να παραβιάσει τον hash αυτού του λογαριασμού, και στη συνέχεια να τον χρησιμοποιήσει για να δημιουργήσει ασημένια εισιτήρια για να συνδεθεί στο Azure με οποιονδήποτε τοπικό χρήστη που έχει συγχρονιστεί:
Με το hash μπορείτε τώρα να δημιουργήσετε ασημένια εισιτήρια:
Για να χρησιμοποιήσετε το silver ticket, θα πρέπει να εκτελέσετε τα εξής βήματα:
Εκκίνηση του Προγράμματος Περιήγησης: Πρέπει να εκκινήσετε το Mozilla Firefox.
Ρύθμιση του Προγράμματος Περιήγησης:
Μεταβείτε στο about:config
.
Ρυθμίστε την προτίμηση για network.negotiate-auth.trusted-uris στις καθορισμένες τιμές:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
Πρόσβαση στην Ιστοσελίδα Εφαρμογής:
Επισκεφθείτε μια διαδικτυακή εφαρμογή που είναι ενσωματωμένη με το AAD domain της οργάνωσης. Ένα κοινό παράδειγμα είναι το Office 365.
Διαδικασία Αυθεντικοποίησης:
Στην οθόνη σύνδεσης, πρέπει να εισαχθεί το όνομα χρήστη, αφήνοντας το πεδίο κωδικού πρόσβασης κενό.
Για να προχωρήσετε, πατήστε είτε TAB είτε ENTER.
Αυτό δεν παρακάμπτει το MFA αν είναι ενεργοποιημένο
Είναι επίσης δυνατό να εκτελέσετε αυτήν την επίθεση χωρίς επίθεση dcsync για να είστε πιο διακριτικοί, όπως εξηγείται σε αυτήν την ανάρτηση ιστολογίου. Για αυτό χρειάζεστε μόνο ένα από τα εξής:
Golden Ticket: Αν έχετε το κλειδί KRBTGT, μπορείτε να δημιουργήσετε το TGT που χρειάζεστε για τον επιτιθέμενο χρήστη.
NTLM hash ή AES key ενός συμβιβασμένου χρήστη: Το SeamlessPass θα επικοινωνήσει με τον ελεγκτή τομέα με αυτές τις πληροφορίες για να δημιουργήσει το TGT.
NTLM hash ή AES key του λογαριασμού AZUREADSSOACC$: Με αυτές τις πληροφορίες και τον Αναγνωριστικό Ασφαλείας (SID) του χρήστη που θέλετε να επιτεθείτε, είναι δυνατό να δημιουργήσετε ένα service ticket και να αυθεντικοποιηθείτε με το cloud (όπως εκτελέστηκε στην προηγούμενη μέθοδο).
Τέλος, με το TGT είναι δυνατό να χρησιμοποιήσετε το εργαλείο SeamlessPass με:
Περισσότερες πληροφορίες για να ρυθμίσετε το Firefox να λειτουργεί με seamless SSO μπορείτε να βρείτε σε αυτή την ανάρτηση blog.
Εάν οι διαχειριστές του Active Directory έχουν πρόσβαση στο Azure AD Connect, μπορούν να ορίσουν SID για οποιονδήποτε χρήστη cloud. Με αυτόν τον τρόπο, τα Kerberos tickets μπορούν να δημιουργηθούν και για χρήστες μόνο στο cloud. Η μόνη απαίτηση είναι ότι το SID είναι ένα κατάλληλο SID.
Η αλλαγή του SID των χρηστών διαχειριστών μόνο στο cloud είναι τώρα μπλοκαρισμένη από τη Microsoft. Για πληροφορίες δείτε https://aadinternals.com/post/on-prem_admin/
Οποιοσδήποτε μπορεί να διαχειριστεί λογαριασμούς υπολογιστών (AZUREADSSOACC$
) στο κοντέινερ ή OU όπου βρίσκεται αυτός ο λογαριασμός, μπορεί να ρυθμίσει μια περιορισμένη ανάθεση πόρων πάνω στον λογαριασμό και να έχει πρόσβαση σε αυτόν.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)