Okta Security

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Basic Information

Okta, Inc. αναγνωρίζεται στον τομέα της διαχείρισης ταυτοτήτων και πρόσβασης για τις λύσεις λογισμικού που βασίζονται στο cloud. Αυτές οι λύσεις έχουν σχεδιαστεί για να απλοποιούν και να ασφαλίζουν την αυθεντικοποίηση χρηστών σε διάφορες σύγχρονες εφαρμογές. Απευθύνονται όχι μόνο σε εταιρείες που επιδιώκουν να προστατεύσουν τα ευαίσθητα δεδομένα τους, αλλά και σε προγραμματιστές που ενδιαφέρονται να ενσωματώσουν ελέγχους ταυτότητας σε εφαρμογές, διαδικτυακές υπηρεσίες και συσκευές.

Η ναυαρχίδα προσφοράς της Okta είναι το Okta Identity Cloud. Αυτή η πλατφόρμα περιλαμβάνει μια σουίτα προϊόντων, συμπεριλαμβανομένων αλλά όχι περιορισμένων σε:

  • Single Sign-On (SSO): Απλοποιεί την πρόσβαση χρηστών επιτρέποντας ένα σύνολο διαπιστευτηρίων σύνδεσης σε πολλές εφαρμογές.
  • Multi-Factor Authentication (MFA): Ενισχύει την ασφάλεια απαιτώντας πολλαπλές μορφές επαλήθευσης.
  • Lifecycle Management: Αυτοματοποιεί τη διαδικασία δημιουργίας, ενημέρωσης και απενεργοποίησης λογαριασμών χρηστών.
  • Universal Directory: Επιτρέπει την κεντρική διαχείριση χρηστών, ομάδων και συσκευών.
  • API Access Management: Ασφαλίζει και διαχειρίζεται την πρόσβαση σε APIs.

Αυτές οι υπηρεσίες στοχεύουν συλλογικά στην ενίσχυση της προστασίας δεδομένων και στην απλοποίηση της πρόσβασης χρηστών, βελτιώνοντας τόσο την ασφάλεια όσο και την ευχρηστία. Η ευελιξία των λύσεων της Okta τις καθιστά δημοφιλή επιλογή σε διάφορες βιομηχανίες, ωφέλιμες για μεγάλες επιχειρήσεις, μικρές εταιρείες και μεμονωμένους προγραμματιστές. Από την τελευταία ενημέρωση τον Σεπτέμβριο του 2021, η Okta αναγνωρίζεται ως μια εξέχουσα οντότητα στον τομέα της Διαχείρισης Ταυτοτήτων και Πρόσβασης (IAM).

Caution

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

Tip

Για να εκτελέσετε μια ανασκόπηση ασφάλειας ενός περιβάλλοντος Okta, θα πρέπει να ζητήσετε μόνο ανάγνωση δικαιωμάτων διαχειριστή.

Summary

Υπάρχουν χρήστες (οι οποίοι μπορούν να είναι αποθηκευμένοι στην Okta, συνδεδεμένοι από ρυθμισμένους Πάροχους Ταυτοτήτων ή αυθεντικοποιημένοι μέσω Active Directory ή LDAP).
Αυτοί οι χρήστες μπορούν να είναι μέσα σε ομάδες.
Υπάρχουν επίσης αυθεντικοποιητές: διαφορετικές επιλογές για αυθεντικοποίηση όπως κωδικός πρόσβασης και διάφορες 2FA όπως WebAuthn, email, τηλέφωνο, okta verify (μπορεί να είναι ενεργοποιημένα ή απενεργοποιημένα)…

Στη συνέχεια, υπάρχουν εφαρμογές συγχρονισμένες με την Okta. Κάθε εφαρμογή θα έχει κάποια χαρτογράφηση με την Okta για να μοιράζεται πληροφορίες (όπως διευθύνσεις email, ονόματα…). Επιπλέον, κάθε εφαρμογή πρέπει να είναι μέσα σε μια Πολιτική Αυθεντικοποίησης, η οποία υποδεικνύει τους απαραίτητους αυθεντικοποιητές για έναν χρήστη να πρόσβαση στην εφαρμογή.

Caution

Ο πιο ισχυρός ρόλος είναι ο Super Administrator.

Εάν ένας επιτιθέμενος συμβιβάσει την Okta με πρόσβαση διαχειριστή, όλες οι εφαρμογές που εμπιστεύονται την Okta θα είναι πολύ πιθανό να συμβιβαστούν.

Attacks

Locating Okta Portal

Συνήθως η πύλη μιας εταιρείας θα βρίσκεται στο companyname.okta.com. Αν όχι, δοκιμάστε απλές παραλλαγές του companyname. Αν δεν μπορείτε να το βρείτε, είναι επίσης πιθανό ότι ο οργανισμός έχει μια CNAME εγγραφή όπως okta.companyname.com που δείχνει στην πύλη Okta.

Login in Okta via Kerberos

Εάν companyname.kerberos.okta.com είναι ενεργό, το Kerberos χρησιμοποιείται για την πρόσβαση στην Okta, παρακάμπτοντας συνήθως το MFA για τους χρήστες Windows. Για να βρείτε τους χρήστες Okta που έχουν αυθεντικοποιηθεί μέσω Kerberos στο AD, εκτελέστε getST.py με κατάλληλες παραμέτρους. Αφού αποκτήσετε ένα εισιτήριο χρήστη AD, εισάγετέ το σε έναν ελεγχόμενο υπολογιστή χρησιμοποιώντας εργαλεία όπως Rubeus ή Mimikatz, διασφαλίζοντας ότι clientname.kerberos.okta.com είναι στη ζώνη “Intranet” των Επιλογών Internet. Η πρόσβαση σε μια συγκεκριμένη διεύθυνση URL θα πρέπει να επιστρέψει μια JSON “OK” απάντηση, υποδεικνύοντας την αποδοχή του εισιτηρίου Kerberos και παρέχοντας πρόσβαση στον πίνακα ελέγχου της Okta.

Η συμβιβασμός του λογαριασμού υπηρεσίας Okta με το SPN αντιπροσώπευσης επιτρέπει μια επίθεση Silver Ticket. Ωστόσο, η χρήση του AES από την Okta για την κρυπτογράφηση εισιτηρίων απαιτεί την κατοχή του κλειδιού AES ή του κωδικού πρόσβασης σε απλή μορφή. Χρησιμοποιήστε ticketer.py για να δημιουργήσετε ένα εισιτήριο για τον θύμα χρήστη και παραδώστε το μέσω του προγράμματος περιήγησης για να αυθεντικοποιηθείτε με την Okta.

Check the attack in https://trustedsec.com/blog/okta-for-red-teamers.

Hijacking Okta AD Agent

Αυτή η τεχνική περιλαμβάνει την πρόσβαση στον Okta AD Agent σε έναν διακομιστή, ο οποίος συγχρονίζει χρήστες και χειρίζεται την αυθεντικοποίηση. Εξετάζοντας και αποκρυπτογραφώντας τις ρυθμίσεις στο OktaAgentService.exe.config, ιδίως το AgentToken χρησιμοποιώντας DPAPI, ένας επιτιθέμενος μπορεί δυνητικά να παρακολουθήσει και να χειριστεί δεδομένα αυθεντικοποίησης. Αυτό επιτρέπει όχι μόνο παρακολούθηση και καταγραφή διαπιστευτηρίων χρηστών σε απλή μορφή κατά τη διαδικασία αυθεντικοποίησης της Okta, αλλά και αντίκτυπο σε προσπάθειες αυθεντικοποίησης, επιτρέποντας έτσι μη εξουσιοδοτημένη πρόσβαση ή παρέχοντας καθολική αυθεντικοποίηση μέσω της Okta (παρόμοια με ένα ‘κλειδί σκελετού’).

Check the attack in https://trustedsec.com/blog/okta-for-red-teamers.

Hijacking AD As an Admin

Αυτή η τεχνική περιλαμβάνει την κατάληψη ενός Okta AD Agent αποκτώντας πρώτα έναν OAuth Code, στη συνέχεια ζητώντας ένα API token. Το token σχετίζεται με έναν τομέα AD, και ένας σύνδεσμος ονομάζεται για να δημιουργήσει έναν ψεύτικο AD agent. Η αρχικοποίηση επιτρέπει στον πράκτορα να επεξεργάζεται τις προσπάθειες αυθεντικοποίησης, καταγράφοντας διαπιστευτήρια μέσω του API της Okta. Διαθέσιμα εργαλεία αυτοματοποίησης διευκολύνουν αυτή τη διαδικασία, προσφέροντας μια ομαλή μέθοδο για την παρακολούθηση και την επεξεργασία δεδομένων αυθεντικοποίησης εντός του περιβάλλοντος Okta.

Check the attack in https://trustedsec.com/blog/okta-for-red-teamers.

Okta Fake SAML Provider

Check the attack in https://trustedsec.com/blog/okta-for-red-teamers.

Η τεχνική περιλαμβάνει την ανάπτυξη ενός ψεύτικου παρόχου SAML. Ενσωματώνοντας έναν εξωτερικό Πάροχο Ταυτοτήτων (IdP) στο πλαίσιο της Okta χρησιμοποιώντας έναν προνομιούχο λογαριασμό, οι επιτιθέμενοι μπορούν να ελέγξουν τον IdP, εγκρίνοντας οποιοδήποτε αίτημα αυθεντικοποίησης κατά βούληση. Η διαδικασία περιλαμβάνει τη ρύθμιση ενός SAML 2.0 IdP στην Okta, τη χειραγώγηση της διεύθυνσης URL Single Sign-On του IdP για ανακατεύθυνση μέσω του τοπικού αρχείου hosts, τη δημιουργία ενός αυτο-υπογεγραμμένου πιστοποιητικού και τη ρύθμιση των ρυθμίσεων της Okta ώστε να ταιριάζουν με το όνομα χρήστη ή το email. Η επιτυχής εκτέλεση αυτών των βημάτων επιτρέπει την αυθεντικοποίηση ως οποιοσδήποτε χρήστης της Okta, παρακάμπτοντας την ανάγκη για διαπιστευτήρια ατομικών χρηστών, αυξάνοντας σημαντικά τον έλεγχο πρόσβασης με έναν δυνητικά απαρατήρητο τρόπο.

Phishing Okta Portal with Evilgnix

Στο αυτό το blog post εξηγείται πώς να προετοιμάσετε μια καμπάνια phishing κατά μιας πύλης Okta.

Colleague Impersonation Attack

Τα χαρακτηριστικά που μπορεί να έχει και να τροποποιήσει κάθε χρήστης (όπως email ή όνομα) μπορούν να ρυθμιστούν στην Okta. Εάν μια εφαρμογή εμπιστεύεται ως ID ένα χαρακτηριστικό που μπορεί να τροποποιήσει ο χρήστης, θα είναι σε θέση να παριστάνει άλλους χρήστες σε αυτήν την πλατφόρμα.

Επομένως, εάν η εφαρμογή εμπιστεύεται το πεδίο userName, πιθανότατα δεν θα μπορείτε να το αλλάξετε (διότι συνήθως δεν μπορείτε να αλλάξετε αυτό το πεδίο), αλλά αν εμπιστεύεται για παράδειγμα το primaryEmail μπορεί να είστε σε θέση να το αλλάξετε σε μια διεύθυνση email συναδέλφου και να το παριστάνετε (θα χρειαστεί να έχετε πρόσβαση στο email και να αποδεχθείτε την αλλαγή).

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

Έχω επίσης δει άλλες εφαρμογές που ήταν ευάλωτες αλλά δεν είχαν αυτό το πεδίο στις ρυθμίσεις της Okta (στο τέλος διαφορετικές εφαρμογές ρυθμίζονται διαφορετικά).

Ο καλύτερος τρόπος για να διαπιστώσετε αν μπορείτε να παριστάνετε οποιονδήποτε σε κάθε εφαρμογή θα ήταν να το δοκιμάσετε!

Evading behavioural detection policies

Οι πολιτικές ανίχνευσης συμπεριφοράς στην Okta μπορεί να είναι άγνωστες μέχρι να συναντηθούν, αλλά η παράκαμψη τους μπορεί να επιτευχθεί στοχεύοντας απευθείας τις εφαρμογές Okta, αποφεύγοντας τον κύριο πίνακα ελέγχου της Okta. Με ένα token πρόσβασης Okta, επαναπαίξτε το token στη διεύθυνση URL συγκεκριμένης εφαρμογής Okta αντί για την κύρια σελίδα σύνδεσης.

Οι βασικές συστάσεις περιλαμβάνουν:

  • Αποφύγετε τη χρήση δημοφιλών ανωνυμοποιητικών proxy και υπηρεσιών VPN κατά την επαναπαραγωγή καταγεγραμμένων tokens πρόσβασης.
  • Διασφαλίστε συνεπείς συμβολοσειρές user-agent μεταξύ του πελάτη και των επαναπαραγμένων tokens πρόσβασης.
  • Αποφύγετε την επαναπαραγωγή tokens από διαφορετικούς χρήστες από την ίδια διεύθυνση IP.
  • Να είστε προσεκτικοί όταν επαναπαράγετε tokens κατά του πίνακα ελέγχου της Okta.
  • Εάν γνωρίζετε τις διευθύνσεις IP της εταιρείας-θύματος, περιορίστε την κίνηση σε αυτές τις IP ή την περιοχή τους, αποκλείοντας όλη την άλλη κίνηση.

Okta Hardening

Η Okta έχει πολλές δυνατές ρυθμίσεις, σε αυτή τη σελίδα θα βρείτε πώς να τις ελέγξετε ώστε να είναι όσο το δυνατόν πιο ασφαλείς:

Okta Hardening

References

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks