Az - Unauthenticated Enum & Initial Entry
Azure Tenant
Απαρίθμηση Ενοικιαστή
Υπάρχουν μερικά δημόσια APIs του Azure που απλώς γνωρίζοντας το domain του ενοικιαστή μια επιτιθέμενη μπορεί να ερευνήσει για περισσότερες πληροφορίες σχετικά με αυτόν. Μπορείτε να ερευνήσετε απευθείας το API ή να χρησιμοποιήσετε τη βιβλιοθήκη PowerShell AADInternals:
API | Πληροφορίες | Λειτουργία AADInternals |
---|---|---|
login.microsoftonline.com/<domain>/.well-known/openid-configuration | Πληροφορίες σύνδεσης, συμπεριλαμβανομένου του αναγνωριστικού ενοικιαστή |
|
autodiscover-s.outlook.com/autodiscover/autodiscover.svc | Όλα τα domains του ενοικιαστή |
|
login.microsoftonline.com/GetUserRealm.srf?login=<UserName> | Πληροφορίες σύνδεσης του ενοικιαστή, συμπεριλαμβανομένου του ονόματος και του domain του ενοικιαστή τύπου πιστοποίησης.
Αν το |
|
login.microsoftonline.com/common/GetCredentialType | Πληροφορίες σύνδεσης, συμπεριλαμβανομένων των πληροφοριών Desktop SSO |
|
Μπορείτε να αναζητήσετε όλες τις πληροφορίες ενός ενοικιαστή Azure με μόνο έναν εντολή της βιβλιοθήκης AADInternals:
Παράδειγμα εξόδου πληροφοριών του Azure tenant:
Είναι δυνατόν να παρατηρηθούν λεπτομέρειες σχετικά με το όνομα του ενοικιαστή, το αναγνωριστικό και το όνομα "brand". Επιπλέον, εμφανίζεται η κατάσταση του Desktop Single Sign-On (SSO), γνωστό και ως Seamless SSO. Όταν είναι ενεργοποιημένο, αυτό το χαρακτηριστικό διευκολύνει τον προσδιορισμό της παρουσίας (απαρίθμηση) ενός συγκεκριμένου χρήστη μέσα στον οργανισμό-στόχο.
Επιπλέον, η έξοδος παρουσιάζει τα ονόματα όλων των επαληθευμένων τομέων που σχετίζονται με τον ενοικιαστή-στόχο, μαζί με τους αντίστοιχους τύπους ταυτότητας τους. Στην περίπτωση των συνδεδεμένων τομέων, αποκαλύπτεται επίσης το Fully Qualified Domain Name (FQDN) του παρόχου ταυτότητας που χρησιμοποιείται, συνήθως ένας διακομιστής ADFS. Η στήλη "MX" καθορίζει εάν τα emails δρομολογούνται προς το Exchange Online, ενώ η στήλη "SPF" υποδεικνύει την καταχώριση του Exchange Online ως αποστολέα email. Σημειώνεται ότι η τρέχουσα λειτουργία αναγνώρισης δεν αναλύει τις δηλώσεις "include" εντός των εγγραφών SPF, πράγμα που μπορεί να οδηγήσει σε ψευδείς αρνητικές απαντήσεις.
Απαρίθμηση Χρηστών
Είναι δυνατόν να ελεγχθεί εάν υπάρχει ένα όνομα χρήστη μέσα σε έναν ενοικιαστή. Αυτό περιλαμβάνει επίσης τους χρήστες επισκέπτες, των οποίων το όνομα χρήστη έχει τη μορφή:
Το email είναι η διεύθυνση email του χρήστη όπου το "@" αντικαθίσταται με το υποκάτω παύλα "_".
Με το AADInternals, μπορείτε εύκολα να ελέγξετε εάν ο χρήστης υπάρχει ή όχι:
Έξοδος:
Αυτό το σενάριο επικεντρώνεται στην ανίχνευση και αρχική είσοδο σε έναν Azure περιβάλλοντα χωρίς πιστοποίηση. Αυτό μπορεί να περιλαμβάνει την εξαγωγή πληροφοριών για υπηρεσίες, χρήστες, και πολιτικές, καθώς και την εκτέλεση επιθέσεων όπως phishing.
Μπορείτε επίσης να χρησιμοποιήσετε ένα αρχείο κειμένου που περιέχει μια διεύθυνση email ανά γραμμή:
Υπάρχουν τρεις διαφορετικές μεθόδοι απαρίθμησης για να επιλέξετε:
Μέθοδος | Περιγραφή |
---|---|
Κανονική | Αναφέρεται στο API GetCredentialType που αναφέρθηκε παραπάνω. Η προεπιλεγμένη μέθοδος. |
Σύνδεση | Αυτή η μέθοδος προσπαθεί να συνδεθεί ως ο χρήστης. Σημείωση: οι ερωτήσεις θα καταγραφούν στο αρχείο καταγραφής συνδέσεων. |
Αυτόματη Σύνδεση | Αυτή η μέθοδος προσπαθεί να συνδεθεί ως ο χρήστης μέσω της αυτόματης σύνδεσης. Οι ερωτήσεις δεν καταγράφονται στο αρχείο καταγραφής συνδέσεων! Ως εκ τούτου, λειτουργεί επίσης καλά για επιθέσεις password spray και brute-force. |
Αφού ανακαλύψετε τα έγκυρα ονόματα χρηστών, μπορείτε να λάβετε πληροφορίες σχετικά με έναν χρήστη με:
Το script o365creeper σας επιτρέπει επίσης να ανακαλύψετε αν ένα email είναι έγκυρο.
Απαρίθμηση Χρηστών μέσω του Microsoft Teams
Μια άλλη καλή πηγή πληροφοριών είναι το Microsoft Teams.
Το API του Microsoft Teams επιτρέπει την αναζήτηση χρηστών. Συγκεκριμένα, τα σημεία πρόσβασης "externalsearchv3" και "searchUsers" μπορούν να χρησιμοποιηθούν για να ζητηθούν γενικές πληροφορίες σχετικά με λογαριασμούς χρηστών που έχουν εγγραφεί στο Teams.
Ανάλογα με την απάντηση του API, είναι δυνατόν να διακριθεί μεταξύ μη υπαρκτών χρηστών και υπαρκτών χρηστών που έχουν μια έγκυρη συνδρομή στο Teams.
Το σενάριο TeamsEnum μπορεί να χρησιμοποιηθεί για την επικύρωση ενός συγκεκριμένου συνόλου ονομάτων χρηστών έναντι του API του Teams.
Ανεξέλεγκτη Απαρίθμηση και Αρχική Είσοδο
Σε αυτό το σενάριο, θα εξετάσουμε πώς μπορούμε να αξιοποιήσουμε την ανεξέλεγκτη απαρίθμηση χρηστών για να αποκτήσουμε πρόσβαση σε ένα λογαριασμό χρήστη στο Azure. Αυτή η ευπάθεια μπορεί να επιτρέψει σε έναν επιτιθέμενο να ανακαλύψει έγκυρους λογαριασμούς χρηστών χωρίς την ανάγκη ελέγχου ταυτότητας.
Βήματα Εκτέλεσης:
Ανεξέλεγκτη Απαρίθμηση Χρηστών: Χρησιμοποιώντας εργαλεία όπως το
enum4linux
, εκτελέστε ανεξέλεγκτη απαρίθμηση χρηστών για να εντοπίσετε έγκυρους λογαριασμοών χρηστών στο Azure.Αρχική Είσοδο με Ανεπαρκή Πιστοποίηση: Χρησιμοποιώντας τις πληροφορίες που συγκεντρώσατε από την απαρίθμηση χρηστών, προσπαθήστε να συνδεθείτε σε έναν έγκυρο λογαριασμό χρήστη χωρίς την απαραίτητη πιστοποίηση.
Ακολουθώντας αυτά τα βήματα, μπορείτε να αξιοποιήσετε την ανεξέλεγκτη απαρίθμηση χρηστών για να προσπαθήσετε να αποκτήσετε πρόσβαση σε ένα λογαριασμό χρήστη στο Azure.
Επιπλέον, είναι δυνατόν να απαριθμηθούν πληροφορίες διαθεσιμότητας σχετικά με υπάρχοντες χρήστες όπως τα παρακάτω:
Διαθέσιμος
Μακριά
Μην Ενοχλείτε
Απασχολημένος
Εκτός σύνδεσης
Εάν έχει ρυθμιστεί ένα μήνυμα εκτός γραφείου, είναι επίσης δυνατόν να ανακτηθεί το μήνυμα χρησιμοποιώντας το TeamsEnum. Εάν έχει καθοριστεί ένα αρχείο εξόδου, τα μηνύματα εκτός γραφείου αποθηκεύονται αυτόματα στο JSON αρχείο:
Ανεξέλεγκτη Απαρίθμηση και Αρχική Είσοδο
Σε αυτό το σενάριο, θα εξετάσουμε πώς μπορούμε να εκμεταλλευτούμε την ανεξέλεγκτη απαρίθμηση χρηστών για να αποκτήσουμε πρόσβαση σε ένα λογαριασμό χρήστη στο Azure. Αυτή η ευπάθεια μπορεί να οδηγήσει σε αρχική είσοδο σε ένα λογαριασμό χρήστη χωρίς την ανάγκη για διαπίστευση.
Βήμα 1: Ανεξέλεγκτη Απαρίθμηση Χρηστών
Αρχικά, θα χρησιμοποιήσουμε ένα εργαλείο ανεξέλεγκτης απαρίθμησης χρηστών για να εντοπίσουμε έγκυρους λογαριασμούς χρηστών στο Azure.
Βήμα 2: Αρχική Είσοδο με Ανεξέλεγκτη Απαρίθμηση
Αφού εντοπίσουμε έναν έγκυρο λογαριασμό χρήστη, θα χρησιμοποιήσουμε τις πληροφορίες που συλλέξαμε από το βήμα 1 για να προσπελάσουμε το λογαριασμό αυτόν χωρίς την ανάγκη για διαπίστευση.
Υπηρεσίες Azure
Αφού γνωρίζουμε τα domains που χρησιμοποιεί ο Azure tenant είναι καιρός να προσπαθήσουμε να βρούμε τις εκτεθειμένες υπηρεσίες Azure.
Μπορείτε να χρησιμοποιήσετε μια μέθοδο από το MicroBust για αυτόν τον σκοπό. Αυτή η λειτουργία θα αναζητήσει το βασικό domain name (και μερικές παραλλαγές) σε διάφορα domains υπηρεσιών Azure:
Ανοιχτή Αποθήκευση
Μπορείτε να ανακαλύψετε ανοιχτές αποθήκευσης με ένα εργαλείο όπως το InvokeEnumerateAzureBlobs.ps1 το οποίο θα χρησιμοποιήσει το αρχείο Microburst/Misc/permitations.txt
για να δημιουργήσει περιπτώσεις (πολύ απλές) προκειμένου να βρεί ανοιχτούς λογαριασμούς αποθήκευσης.
SAS URLs
Ένα shared access signature (SAS) URL είναι ένα URL που παρέχει πρόσβαση σε συγκεκριμένο τμήμα ενός λογαριασμού αποθήκευσης (μπορεί να είναι ένας πλήρης container, ένα αρχείο...) με κάποιες συγκεκριμένες άδειες (ανάγνωση, εγγραφή...) πάνω στους πόρους. Αν βρείτε ένα διαρρεύσει, θα μπορούσατε να έχετε πρόσβαση σε ευαίσθητες πληροφορίες, μοιάζουν με αυτό (αυτό είναι για πρόσβαση σε ένα container, αν απλά χορηγούσε πρόσβαση σε ένα αρχείο, το μονοπάτι του URL θα περιείχε επίσης αυτό το αρχείο):
https://<storage_account_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Χρησιμοποιήστε το Storage Explorer για πρόσβαση στα δεδομένα
Κατάχρηση Διαπιστεύσεων
Phishing
Κοινή Αλιεία (διαπιστεύσεις ή OAuth App -Επίθεση Παράνομης Χορήγησης Συγκατάθεσης-)
[Καταστροφή Κωδικού Πρόσβασης / Επίθεση Βίας Κωδικού]
Αναφορές
Last updated