Az - Federation
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:Η Ομοσπονδία είναι μια συλλογή τομέων που έχουν καθορίσει ** εμπιστοσύνη**. Το επίπεδο εμπιστοσύνης μπορεί να διαφέρει, αλλά συνήθως περιλαμβάνει αυθεντικοποίηση και σχεδόν πάντα περιλαμβάνει εξουσιοδότηση. Μια τυπική ομοσπονδία μπορεί να περιλαμβάνει πολλές οργανώσεις που έχουν καθορίσει εμπιστοσύνη για κοινή πρόσβαση σε ένα σύνολο πόρων.
Μπορείτε να ομοσπονδιοποιήσετε το τοπικό περιβάλλον σας με το Azure AD και να χρησιμοποιήσετε αυτή την ομοσπονδία για αυθεντικοποίηση και εξουσιοδότηση. Αυτή η μέθοδος σύνδεσης διασφαλίζει ότι όλη η αυθεντικοποίηση χρηστών πραγματοποιείται τοπικά. Αυτή η μέθοδος επιτρέπει στους διαχειριστές να εφαρμόσουν πιο αυστηρούς ελέγχους πρόσβασης. Η ομοσπονδία με AD FS και PingFederate είναι διαθέσιμη.
Βασικά, στην Ομοσπονδία, όλη η αυθεντικοποίηση πραγματοποιείται στο τοπικό περιβάλλον και οι χρήστες απολαμβάνουν SSO σε όλα τα αξιόπιστα περιβάλλοντα. Επομένως, οι χρήστες μπορούν να πρόσβαση σε εφαρμογές του cloud χρησιμοποιώντας τα τοπικά διαπιστευτήρια τους.
Γλώσσα Σημειώσεων Ασφάλειας (SAML) χρησιμοποιείται για ανταλλαγή όλων των πληροφοριών αυθεντικοποίησης και εξουσιοδότησης μεταξύ των παρόχων.
Σε οποιαδήποτε ρύθμιση ομοσπονδίας υπάρχουν τρία μέρη:
Χρήστης ή Πελάτης
Πάροχος Ταυτότητας (IdP)
Πάροχος Υπηρεσιών (SP)
(Images from https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps)
Αρχικά, μια εφαρμογή (Πάροχος Υπηρεσιών ή SP, όπως το AWS console ή το vSphere web client) προσπελάζεται από έναν χρήστη. Αυτό το βήμα μπορεί να παρακαμφθεί, οδηγώντας τον πελάτη απευθείας στον IdP (Πάροχος Ταυτότητας) ανάλογα με την συγκεκριμένη υλοποίηση.
Στη συνέχεια, ο SP προσδιορίζει τον κατάλληλο IdP (π.χ., AD FS, Okta) για την αυθεντικοποίηση του χρήστη. Στη συνέχεια, δημιουργεί ένα SAML (Γλώσσα Σημειώσεων Ασφάλειας) AuthnRequest και ανακατευθύνει τον πελάτη στον επιλεγμένο IdP.
Ο IdP αναλαμβάνει, αυθεντικοποιώντας τον χρήστη. Μετά την αυθεντικοποίηση, μια SAMLResponse διαμορφώνεται από τον IdP και προωθείται στον SP μέσω του χρήστη.
Τέλος, ο SP αξιολογεί την SAMLResponse. Εάν επικυρωθεί επιτυχώς, υποδηλώνοντας μια σχέση εμπιστοσύνης με τον IdP, ο χρήστης αποκτά πρόσβαση. Αυτό σηματοδοτεί την ολοκλήρωση της διαδικασίας σύνδεσης, επιτρέποντας στον χρήστη να χρησιμοποιήσει την υπηρεσία.
Αν θέλετε να μάθετε περισσότερα για την αυθεντικοποίηση SAML και τις κοινές επιθέσεις, πηγαίνετε στο:
Το AD FS είναι ένα μοντέλο ταυτότητας βασισμένο σε αξιώσεις.
"..οι αξιώσεις είναι απλώς δηλώσεις (για παράδειγμα, όνομα, ταυτότητα, ομάδα), που γίνονται για τους χρήστες, οι οποίες χρησιμοποιούνται κυρίως για την εξουσιοδότηση πρόσβασης σε εφαρμογές βασισμένες σε αξιώσεις που βρίσκονται οπουδήποτε στο Διαδίκτυο."
Οι αξιώσεις για έναν χρήστη γράφονται μέσα στα SAML tokens και στη συνέχεια υπογράφονται για να παρέχουν εμπιστευτικότητα από τον IdP.
Ένας χρήστης αναγνωρίζεται από το ImmutableID. Είναι παγκοσμίως μοναδικό και αποθηκεύεται στο Azure AD.
Το ImmutableID αποθηκεύεται τοπικά ως ms-DS-ConsistencyGuid για τον χρήστη και/ή μπορεί να προκύψει από το GUID του χρήστη.
Περισσότερες πληροφορίες στο https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/the-role-of-claims
Επίθεση Golden SAML:
Στο ADFS, η SAML Response υπογράφεται από ένα πιστοποιητικό υπογραφής token.
Εάν το πιστοποιητικό παραβιαστεί, είναι δυνατόν να αυθεντικοποιηθεί στο Azure AD ως ΟΠΟΙΟΣΔΗΠΟΤΕ χρήστης συγχρονισμένος με το Azure AD!
Ακριβώς όπως η κακή χρήση του PTA, η αλλαγή κωδικού πρόσβασης για έναν χρήστη ή η MFA δεν θα έχει καμία επίδραση επειδή παραποιούμε την απάντηση αυθεντικοποίησης.
Το πιστοποιητικό μπορεί να εξαχθεί από τον διακομιστή AD FS με δικαιώματα DA και στη συνέχεια μπορεί να χρησιμοποιηθεί από οποιαδήποτε μηχανή συνδεδεμένη στο Διαδίκτυο.
Η διαδικασία όπου ένας Πάροχος Ταυτότητας (IdP) παράγει μια SAMLResponse για να εξουσιοδοτήσει την είσοδο του χρήστη είναι καθοριστική. Ανάλογα με την συγκεκριμένη υλοποίηση του IdP, η απάντηση μπορεί να είναι υπογεγραμμένη ή κρυπτογραφημένη χρησιμοποιώντας το ιδιωτικό κλειδί του IdP. Αυτή η διαδικασία επιτρέπει στον Πάροχο Υπηρεσιών (SP) να επιβεβαιώσει την αυθεντικότητα της SAMLResponse, διασφαλίζοντας ότι εκδόθηκε πράγματι από έναν αξιόπιστο IdP.
Μπορεί να γίνει μια παράλληλη αναφορά με την επίθεση golden ticket, όπου το κλειδί που αυθεντικοποιεί την ταυτότητα και τα δικαιώματα του χρήστη (KRBTGT για golden tickets, ιδιωτικό κλειδί υπογραφής token για golden SAML) μπορεί να παραποιηθεί για να παραποιήσει ένα αντικείμενο αυθεντικοποίησης (TGT ή SAMLResponse). Αυτό επιτρέπει την προσποίηση οποιουδήποτε χρήστη, παρέχοντας μη εξουσιοδοτημένη πρόσβαση στον SP.
Οι Golden SAML προσφέρουν ορισμένα πλεονεκτήματα:
Μπορούν να δημιουργηθούν απομακρυσμένα, χωρίς την ανάγκη να είναι μέρος του τομέα ή της ομοσπονδίας σε ερώτηση.
Παραμένουν αποτελεσματικές ακόμη και με Επαλήθευση Δύο Παραγόντων (2FA) ενεργοποιημένη.
Το ιδιωτικό κλειδί υπογραφής δεν ανανεώνεται αυτόματα.
Η αλλαγή του κωδικού πρόσβασης ενός χρήστη δεν ακυρώνει μια ήδη παραχθείσα SAML.
Οι Υπηρεσίες Ομοσπονδίας Active Directory (AD FS) είναι μια υπηρεσία της Microsoft που διευκολύνει την ασφαλή ανταλλαγή πληροφοριών ταυτότητας μεταξύ αξιόπιστων επιχειρηματικών εταίρων (ομοσπονδία). Επιτρέπει ουσιαστικά σε μια υπηρεσία τομέα να μοιράζεται ταυτότητες χρηστών με άλλους παρόχους υπηρεσιών εντός μιας ομοσπονδίας.
Με το AWS να εμπιστεύεται τον παραβιασμένο τομέα (σε μια ομοσπονδία), αυτή η ευπάθεια μπορεί να εκμεταλλευτεί για να αποκτηθούν οποιαδήποτε δικαιώματα στο περιβάλλον AWS. Η επίθεση απαιτεί το ιδιωτικό κλειδί που χρησιμοποιείται για την υπογραφή των αντικειμένων SAML, παρόμοια με την ανάγκη του KRBTGT σε μια επίθεση golden ticket. Η πρόσβαση στον λογαριασμό χρήστη AD FS είναι επαρκής για να αποκτηθεί αυτό το ιδιωτικό κλειδί.
Οι απαιτήσεις για την εκτέλεση μιας επίθεσης golden SAML περιλαμβάνουν:
Ιδιωτικό κλειδί υπογραφής token
Δημόσιο πιστοποιητικό IdP
Όνομα IdP
Όνομα ρόλου (ρόλος προς ανάληψη)
Domain\username
Όνομα συνεδρίας ρόλου στο AWS
Amazon account ID
Μόνο τα στοιχεία με έντονη γραφή είναι υποχρεωτικά. Τα άλλα μπορούν να συμπληρωθούν κατά βούληση.
Για να αποκτήσετε το ιδιωτικό κλειδί, είναι απαραίτητη η πρόσβαση στον λογαριασμό χρήστη AD FS. Από εκεί, το ιδιωτικό κλειδί μπορεί να εξαχθεί από το προσωπικό κατάστημα χρησιμοποιώντας εργαλεία όπως το mimikatz. Για να συγκεντρώσετε τις άλλες απαιτούμενες πληροφορίες, μπορείτε να χρησιμοποιήσετε το Microsoft.Adfs.Powershell snapin ως εξής, διασφαλίζοντας ότι είστε συνδεδεμένοι ως ο χρήστης ADFS:
Με όλες τις πληροφορίες, είναι δυνατόν να ξεχάσετε μια έγκυρη SAMLResponse ως ο χρήστης που θέλετε να μιμηθείτε χρησιμοποιώντας shimit:
Είναι επίσης δυνατό να δημιουργήσετε ImmutableID χρηστών μόνο στο cloud και να τους μιμηθείτε.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)