Το Active Directory (AD) είναι μια υπηρεσία καταλόγου που αναπτύχθηκε από τη Microsoft για τη διαχείριση και αποθήκευση πληροφοριών δικτύου, προσφέροντας μια κεντρική τοποθεσία για τον έλεγχο πρόσβασης και την ασφάλεια των δικτύων.
Ακολουθούν μερικές βασικές πληροφορίες σχετικά με το Active Directory:
Table of Contents
Βασικές Λειτουργίες
- Αποθήκευση Δεδομένων Καταλόγου: Αποθηκεύει πληροφορίες για τους χρήστες, τους υπολογιστές και άλλους πόρους σε ένα δίκτυο, επιτρέποντας την εύκολη πρόσβαση και διαχείριση αυτών των δεδομένων.
- Κεντρική Διαχείριση: Παρέχει έναν κεντρικό τρόπο διαχείρισης δικαιωμάτων πρόσβασης και πολιτικών ασφαλείας για όλους τους χρήστες και τους υπολογιστές σε ένα δίκτυο.
- Έλεγχος Πρόσβασης και Ταυτότητας: Επιτρέπει την αυθεντικοποίηση και την εξουσιοδότηση των χρηστών για την πρόσβαση σε πόρους του δικτύου.
- Ομαδοποίηση Πόρων: Οργανώνει χρήστες, υπολογιστές και άλλους πόρους σε δομές όπως οι Οργανωτικές Μονάδες (Organizational Units, OUs) και οι Ομάδες Ασφαλείας, διευκολύνοντας τη διαχείριση και την εφαρμογή πολιτικών.
Συστατικά Στοιχεία
- Domain Controllers (DCs): Οι διακομιστές που φιλοξενούν τις υπηρεσίες του Active Directory και είναι υπεύθυνοι για την αυθεντικοποίηση και την εξουσιοδότηση των χρηστών.
- Domains: Βασικές δομές του AD που περιέχουν όλα τα αντικείμενα, όπως χρήστες, ομάδες και υπολογιστές. Κάθε domain έχει το δικό του μοναδικό όνομα.
- Trees and Forests: Ένα δέντρο (Tree) αποτελείται από ένα ή περισσότερα domains που είναι συνδεδεμένα με μια σχέση εμπιστοσύνης. Ένα δάσος (Forest) αποτελείται από ένα ή περισσότερα δέντρα που μοιράζονται ένα κοινό σχήμα και μια καθολική λίστα (Global Catalog).
- Organizational Units (OUs): Δομές μέσα σε ένα domain που χρησιμοποιούνται για την οργάνωση των αντικειμένων και τη διευκόλυνση της διαχείρισης.
- Global Catalog: Μια βάση δεδομένων που περιέχει αντίγραφα όλων των αντικειμένων σε ένα δάσος, επιτρέποντας την γρήγορη αναζήτηση και εύρεση πληροφοριών.
Χαρακτηριστικά και Πλεονεκτήματα
- Ευέλικτη Διαχείριση: Επιτρέπει την εφαρμογή πολιτικών ασφαλείας και την διαχείριση των χρηστών και των πόρων με εύκολο και οργανωμένο τρόπο.
- Αυξημένη Ασφάλεια: Παρέχει ισχυρούς μηχανισμούς αυθεντικοποίησης και εξουσιοδότησης, εξασφαλίζοντας ότι μόνο οι εξουσιοδοτημένοι χρήστες έχουν πρόσβαση σε ευαίσθητες πληροφορίες.
- Επεκτασιμότητα: Μπορεί να διαχειριστεί χιλιάδες χρήστες και πόρους σε ένα μεγάλο δίκτυο, καθιστώντας το κατάλληλο για μεγάλες επιχειρήσεις.
- Ολοκλήρωση με Άλλες Υπηρεσίες: Συνεργάζεται άψογα με άλλες υπηρεσίες της Microsoft, όπως το Exchange Server, το SharePoint και το Azure.
Το Active Directory είναι ένα ουσιαστικό εργαλείο για τη διαχείριση μεγάλων και πολύπλοκων δικτύων, παρέχοντας ασφάλεια, οργάνωση και αποδοτικότητα στις επιχειρήσεις.
Ρύθμιση συστήματος για SMB Relay Attack
Πριν ασχοληθούμε με τους μηχανισμούς της επίθεσης, ας στήσουμε την εικονική μας σκηνή. Το εργαστήριό μας αποτελείται από μια σύγχρονη εγκατάσταση με έναν Windows Server 2022 που λειτουργεί ως ο ακρογωνιαίος λίθος του τομέα Active Directory. Παράλληλα, έχουμε δύο εικονικές μηχανές – ας τις ονομάσουμε smouk1 και smouk2 – και οι δύο συνδεδεμένες στον τομέα, μιμούμενοι ένα τυπικό επιχειρησιακό περιβάλλον. Η πλατφόρμα επίθεσής μας είναι μια μηχανή Kali Linux, στρατηγικά τοποθετημένη στο ίδιο δίκτυο ώστε να αλληλεπιδρά άμεσα με αυτές τις οντότητες των Windows.
Παρουσίαση του εργαλείου Responder
Για όσους δεν είναι εξοικειωμένοι, το Responder είναι ένα ισχυρό εργαλείο δικτύου για την ανάλυση πρωτοκόλλων και την εγκληματολογία του δικτύου. Είναι ιδιαίτερα διαβόητο για την ικανότητά του να “ακούει” την κυκλοφορία του δικτύου και να ανταποκρίνεται σε αιτήματα υπηρεσιών όπως LLMNR, NBT-NS και MDNS, τα οποία χρησιμοποιούνται συχνά ως εφεδρεία όταν το DNS αποτυγχάνει. Με αυτόν τον τρόπο, μπορεί να δηλητηριάσει το αίτημα υπηρεσίας και να ανακατευθύνει την κυκλοφορία στο μηχάνημα του επιτιθέμενου, επιτρέποντάς μας ουσιαστικά να υποκλέψουμε ή να χειραγωγήσουμε αυτές τις επικοινωνίες.
Στο σενάριό μας, θα εκκινήσουμε το Responder με ένα συγκεκριμένο σύνολο επιλογών για να μεγιστοποιήσουμε την αποτελεσματικότητά του:
Δείτε τι σημαίνει το κάθε flag:
- -I eth0: Καθορίζει τη διασύνδεση δικτύου για ακρόαση, η οποία στην περίπτωσή μας είναι eth0. Αυτό θα πρέπει να προσαρμοστεί εάν η διασύνδεση δικτύου σας έχει διαφορετικό όνομα.
- -d: Ενεργοποιεί τις λειτουργίες διακομιστών SMB και HTTP, κρίσιμες για τους τύπους επιθέσεων στους οποίους εστιάζουμε.
- -P: Ενεργοποιεί τις λειτουργίες διακομιστή μεσολάβησης του Responder, επιτρέποντάς του να προωθεί την κυκλοφορία μετά από χειραγώγησή της, παρέχοντας μια απρόσκοπτη αλλά παραπλανητική ροή.
- -v: Εκτελεί το Responder σε λειτουργία verbose, δίνοντάς μας μια λεπτομερή έξοδο όλων των λειτουργιών που εκτελεί, η οποία είναι ανεκτίμητη για την κατανόηση της εξέλιξης της επίθεσης σε πραγματικό χρόνο.
Με τη ρύθμιση του Responder με αυτόν τον τρόπο, προετοιμάζουμε ουσιαστικά την υποκλοπή και τον χειρισμό των επικοινωνιών SMB, θέτοντας τις βάσεις για την εκτέλεση της επίθεσης SMB Relay Attack. Αυτή η στρατηγική χρήση του Responder όχι μόνο απεικονίζει τα τρωτά σημεία που υπάρχουν στις διαμορφώσεις του δικτύου, αλλά υπογραμμίζει επίσης τη σημασία της εξασφάλισης των πρωτοκόλλων δικτύου έναντι τέτοιων εισβολών, βεβαιωθείτε επίσης ότι οι επιλογές SMB και HTTP είναι απενεργοποιημένες.
Εκκίνηση της επίθεσης με το Impacket’s-ntlmrelayx
Με το Responder να θέτει αθόρυβα τις βάσεις με τη σύλληψη της κυκλοφορίας, το επόμενο βήμα είναι η εισαγωγή ενός πιο άμεσου εργαλείου επίθεσης – το-ntlmrelayx του Impacket. Αυτό το εργαλείο έχει σχεδιαστεί για να εκτελεί την πραγματική επίθεση SMB Relay Attack, αναμεταδίδοντας συνεδρίες ελέγχου ταυτότητας NTLM και επιχειρώντας μη εξουσιοδοτημένη πρόσβαση στους πόρους του δικτύου.
How ntlmrelayx fits into our strategy
Μόλις υποκλέψουμε τις αιτήσεις ελέγχου ταυτότητας με το Responder, το ntlmrelayx παίρνει τη σκυτάλη και χρησιμοποιεί αυτά τα διαπιστευτήρια για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση. Για να το ρυθμίσουμε αυτό στο εργαστηριακό μας περιβάλλον, χρησιμοποιούμε την ακόλουθη εντολή:
Ακολουθεί η ανάλυση των επιλογών της εντολής:
- -tf iptargets.txt: Αυτή η επιλογή λέει στο ntlmrelayx πού να βρει τη λίστα με τις διευθύνσεις IP-στόχου. Στην περίπτωσή μας, το iptargets.txt περιέχει τις IP του Windows Server 2022 και των δύο VM που συνδέονται με τομέα.
- -smb2support: Επιτρέπει στο εργαλείο να υποστηρίζει το SMB2, το οποίο είναι ζωτικής σημασίας δεδομένου ότι τα σύγχρονα περιβάλλοντα των Windows με τα οποία έχουμε να κάνουμε και τα οποία πιθανότατα χρησιμοποιούν το SMB2 ή το SMB3 από προεπιλογή.
-
-i: Αυτός ο κρίσιμος διακόπτης εκκινεί ένα διαδραστικό SMB shell κατά τον επιτυχή αναμετάδοση, επιτρέποντάς μας να εκτελούμε εντολές απευθείας στο σύστημα-στόχο.
Η χρήση του ntlmrelayx με αυτές τις παραμέτρους μας επιτρέπει όχι μόνο να πιστοποιούμαστε ως ο χρήστης που έχει υποκλαπεί, αλλά και να αλληλεπιδρούμε με το παραβιασμένο σύστημα σαν να ήμασταν νόμιμα συνδεδεμένοι. Αυτό μπορεί να είναι απίστευτα ισχυρό και επικίνδυνο, παρέχοντας άμεση πρόσβαση για την εκτέλεση εντολών, την ανάπτυξη ωφέλιμων φορτίων ή ακόμη και τη δημιουργία νέων λογαριασμών χρηστών για μόνιμη πρόσβαση.
Σε αυτό το βήμα η θεωρία συναντά την πράξη και βλέπουμε σε πραγματικό χρόνο τα αποτελέσματα του τρόπου με τον οποίο τα υποκλαπέντα διαπιστευτήρια μπορούν να αξιοποιηθούν για την παραβίαση της άμυνας του δικτύου. Είναι μια ισχυρή επίδειξη του γιατί τα μέτρα ασφαλείας δικτύου, όπως η υπογραφή SMB και η κατάλληλη τμηματοποίηση του δικτύου, είναι ζωτικής σημασίας για την προστασία από τέτοιες εξελιγμένες επιθέσεις.
Κατά την εκκίνηση του ntlmrelayx με τη στοχευμένη προσέγγισή μας, η οθόνη ζωντανεύει με την επιβεβαίωση των προπαρασκευαστικών μας βημάτων. Η έξοδος υποδεικνύει ότι έχουν φορτωθεί επιτυχώς διάφοροι πελάτες πρωτοκόλλου, συμπεριλαμβανομένων εκείνων για SMB, HTTP(S), LDAP(S) και άλλα. Αυτά είναι τα εργαλεία της δουλειάς για το ntlmrelayx, καθένα από τα οποία αντιπροσωπεύει μια διαφορετική μέθοδο επικοινωνίας που μπορεί να εκμεταλλευτεί το εργαλείο.
Η γραμμή “Running in relay mode to hosts in targetfile” είναι ιδιαίτερα σημαντική. Σημαίνει ότι η εγκατάσταση αναμετάδοσης είναι οπλισμένη και ενεργή, έτοιμη να υποκλέψει κάθε αίτημα ελέγχου ταυτότητας που αποστέλλεται στις IP που αναφέρονται στο αρχείο iptargets.txt.
Με τις υπηρεσίες HTTP και SMB να έχουν ρυθμιστεί και να ακούνε, και έναν διακομιστή RAW να περιμένει στη θύρα 6666, η ψηφιακή παγίδα μας είναι έτοιμη. Είμαστε ουσιαστικά σε αναμονή, περιμένοντας συνομιλίες δικτύου για να κρυφακούσουμε ή να υποκλέψουμε – αυτή είναι η παρακολούθηση του χάκερ. Η απλότητα της εξόδου διαψεύδει την πολυπλοκότητα και τον πιθανό αντίκτυπο αυτού που συμβαίνει κάτω από την κουκούλα: έχουμε δημιουργήσει ένα πολύπλευρο σύστημα παρακολούθησης που περιμένει την κατάλληλη στιγμή για να χτυπήσει.
Καθώς βλέπουμε το τελικό μήνυμα, “Οι διακομιστές ξεκίνησαν, περιμένουν συνδέσεις”, η προσμονή μεγαλώνει. Βρισκόμαστε τώρα στην κρίσιμη φάση της επίθεσης, όπου κάθε στιγμή μπορεί να οδηγήσει στην ανακάλυψη που χρειαζόμαστε για να αποκτήσουμε πρόσβαση στα στοχευμένα συστήματα. Αυτό είναι το σημείο όπου η υπομονή αποδίδει στον κόσμο των δοκιμών διείσδυσης δικτύου.
Εκτέλεση επίθεσης και αλληλεπίδραση με τον χρήστη
Καθώς ο χρήστης στο δίκτυο φτάνει σε έναν κοινόχρηστο πόρο, μια προτροπή σύνδεσης φυλάει, αρνούμενη την είσοδο στον ψηφιακό θησαυρό. Δεν γνωρίζουν ότι αυτή η συνήθης ενέργεια πυροδοτεί μια αλυσιδωτή διαδικασία στο πλαίσιο της επίθεσής μας. Το τερματικό στα αριστερά ζωντανεύει, καταγράφοντας κάθε βήμα της ενορχηστρωμένης μας ενέδρας – ο αναμεταδότης ανοίγει την παγίδα του, συλλαμβάνει το ερώτημα και δηλητηριάζει τις προσπάθειες επίλυσης του δικτύου.
Η συμφωνία των πρωτοκόλλων που παρατίθενται επιβεβαιώνει την ετοιμότητα των εργαλείων μας, από το IMAP έως το LDAP, έτοιμα να υποδυθούν και να εξαπατήσουν. Καθώς το Responder δημιουργεί τα ψεύτικα ίχνη, το ntlmrelayx περιμένει στις σκιές, έτοιμο για δράση. Ξαφνικά, η σύνδεση πραγματοποιείται – ο στόχος μας δίνει άθελά του το χέρι στον εχθρό και η ακολουθία της επίθεσης ξεκινά. Τα μηνύματα επιτυχίας και αποτυχίας αναβοσβήνουν σε πραγματικό χρόνο- αυτή είναι η άμπωτη και η ροή της μάχης στον κυβερνοχώρο.
Μπροστά σε μια προτροπή “Απαγορεύεται η πρόσβαση”, το πραγματικό δράμα εκτυλίσσεται εκτός οπτικού πεδίου, καταγεγραμμένο στα αρχεία καταγραφής της μηχανής μας Kali. Εδώ, κάθε προσπάθεια είναι ένα πιθανό κλειδί για το βασίλειο. Κάθε γραμμή “Authenticating against” είναι μια αφήγηση πολέμου πολιορκίας, καθώς το ntlmrelayx ανιχνεύει αμείλικτα για μια χαραμάδα στην πανοπλία του θύματός μας.
Τώρα ανοίγουμε μια νέα γραμμή επικοινωνίας στο μηχάνημα του επιτιθέμενου – μια διεπαφή γραμμής εντολών που χρησιμεύει ως πύλη προς τον πρόσφατα παραβιασμένο τομέα μας. Εκτελώντας το nc 127.0.0.1 11000, καλούμε το Netcat, το βοηθητικό πρόγραμμα δικτύου που ονομάστηκε ο ελβετικός σουγιάς της δικτύωσης, για να συνδεθεί σε μια τοπική θύρα που άνοιξε η επίθεση ntlmrelayx.
Αυτή η απλή, αλλά ισχυρή εντολή, nc (Netcat), ακολουθούμενη από τη διεύθυνση loopback 127.0.0.1 και τη θύρα 11000, είναι το μυστικό χτύπημα της κερκόπορτας που μόλις εγκαταστήσαμε. Η προτροπή που ακολουθεί, “Type help for list of commands”, είναι ο ψίθυρος ενός κρυμμένου κόσμου που βρίσκεται πλέον στα χέρια μας. Βρισκόμαστε μέσα-μέσα σε ένα κέλυφος που μας δίνει τη δυνατότητα να επιτάσσουμε το σύστημα-στόχο.
Το σύμβολο # στη γραμμή εντολών είναι το νέο σημείο μηδέν, από όπου μπορούμε να ξεκινήσουμε περαιτέρω αναγνώριση, να αυξήσουμε τα προνόμια ή να διαρρεύσουμε δεδομένα, ανάλογα με τις εντολές που θα επιλέξουμε να εκτελέσουμε στη συνέχεια. Αυτό είναι το αποκορύφωμα της επίθεσης SMB Relay Attack, όπου μπαίνουμε μέσα από τον καθρέφτη στην καρδιά του συστήματος-στόχου, έτοιμοι να εξερευνήσουμε τα μυστικά που κρύβει.
Συμπέρασμα και τεχνική ενημέρωση σχετικά με την επίθεση SMB Relay
Αφήνοντας στην άκρη το παιχνιδιάρικο πνεύμα της αφήγησης, οι επίδοξοι χάκερς, pentesters, red teamers, πρέπει να κατανοήσουν την ουσία αυτού που έχουμε καταφέρει. Ξεκινήσαμε με μια ελεγχόμενη εργαστηριακή εγκατάσταση, χρησιμοποιώντας έναν Windows Server 2022 και δύο VM εντός ενός τομέα Active Directory, μαζί με την πλατφόρμα επίθεσης, ένα μηχάνημα Kali Linux.
Χρησιμοποιώντας το εργαλείο Responder, ξεκινήσαμε την πρώτη φάση με την καταγραφή της κίνησης του δικτύου και την εκμετάλλευση της εμπιστοσύνης των πρωτοκόλλων εφεδρείας, όπως το LLMNR και το NBT-NS, οδηγώντας στη δηλητηρίαση αυτών των αιτημάτων υπηρεσίας. Αυτό το βήμα είναι ζωτικής σημασίας, καθώς επιτρέπει την υποκλοπή των προσπαθειών ελέγχου ταυτότητας NTLM.
Μετά από αυτή τη ρύθμιση, εισαγάγαμε το βοηθητικό πρόγραμμα ntlmrelayx από τη σουίτα Impacket για την εκτέλεση της επίθεσης αναμετάδοσης. Τα flags της γραμμής εντολών επιλέχθηκαν σχολαστικά: -tf για να στοχεύσετε μια προκαθορισμένη λίστα διευθύνσεων IP, -smb2support για να ενεργοποιήσετε τη συμβατότητα με την επικρατούσα έκδοση του πρωτοκόλλου SMB στα σύγχρονα συστήματα και -i για να ενεργοποιήσετε ένα διαδραστικό shell μετά την επιτυχή εκμετάλλευση.
Καθώς ο χρήστης στο δίκτυο-στόχο προσπαθούσε να αποκτήσει πρόσβαση σε έναν κοινόχρηστο πόρο, οι τεχνικές υποκλοπής μας μέσω του Responder χειραγωγούσαν την κυκλοφορία του δικτύου, ανακατευθύνοντας τη διαδικασία ελέγχου ταυτότητας στο μηχάνημα που ελέγχεται από τον επιτιθέμενο. Με το ntlmrelayx, αυτά τα υποκλαπέντα διαπιστευτήρια χρησιμοποιήθηκαν στη συνέχεια για τον έλεγχο ταυτότητας έναντι του στόχου, επιτρέποντάς μας να αποκτήσουμε μη εξουσιοδοτημένη πρόσβαση.
Η άσκηση αυτή καταδεικνύει την ευπάθεια των πρωτοκόλλων δικτύου και τη σημασία της διασφάλισής τους έναντι τέτοιων εισβολών. Αναδεικνύει επίσης την αναγκαιότητα λήψης αυστηρών μέτρων ασφαλείας, όπως η επιβολή της υπογραφής SMB και η εκπαίδευση των χρηστών του δικτύου για την αποτροπή των επιθέσεων υποκλοπής διαπιστευτηρίων και αναμετάδοσης. Καθώς προβληματίζεστε σχετικά με αυτή την επιχείρηση, να θυμάστε ότι η πραγματική δύναμη ενός επαγγελματία της κυβερνοασφάλειας δεν έγκειται μόνο στην κατανόηση του τρόπου εκτέλεσης αυτών των επιθέσεων, αλλά και στην εφαρμογή αυτής της γνώσης για την υπεράσπιση και την ασφάλεια των δικτύων έναντι πιθανών απειλών.