Active Directory Methodology
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)
Active Directory χρησιμεύει ως θεμελιώδης τεχνολογία, επιτρέποντας στους διαχειριστές δικτύου να δημιουργούν και να διαχειρίζονται αποτελεσματικά τομείς, χρήστες και αντικείμενα εντός ενός δικτύου. Είναι σχεδιασμένο να κλιμακώνεται, διευκολύνοντας την οργάνωση ενός εκτενούς αριθμού χρηστών σε διαχειρίσιμες ομάδες και υποομάδες, ενώ ελέγχει τα δικαιώματα πρόσβασης σε διάφορα επίπεδα.
Η δομή του Active Directory αποτελείται από τρία κύρια επίπεδα: τομείς, δέντρα και δάση. Ένας τομέας περιλαμβάνει μια συλλογή αντικειμένων, όπως χρήστες ή συσκευές, που μοιράζονται μια κοινή βάση δεδομένων. Τα δέντρα είναι ομάδες αυτών των τομέων που συνδέονται μέσω μιας κοινής δομής, και ένα δάσος αντιπροσωπεύει τη συλλογή πολλών δέντρων, διασυνδεδεμένων μέσω σχέσεων εμπιστοσύνης, σχηματίζοντας το ανώτατο επίπεδο της οργανωτικής δομής. Συγκεκριμένα δικαιώματα πρόσβασης και δικαιώματα επικοινωνίας μπορούν να καθοριστούν σε καθένα από αυτά τα επίπεδα.
Βασικές έννοιες εντός του Active Directory περιλαμβάνουν:
Κατάλογος – Περιέχει όλες τις πληροφορίες που αφορούν τα αντικείμενα του Active Directory.
Αντικείμενο – Δηλώνει οντότητες εντός του καταλόγου, συμπεριλαμβανομένων χρηστών, ομάδων ή κοινών φακέλων.
Τομέας – Λειτουργεί ως δοχείο για τα αντικείμενα του καταλόγου, με τη δυνατότητα να συνυπάρχουν πολλοί τομείς εντός ενός δάσους, καθένας διατηρώντας τη δική του συλλογή αντικειμένων.
Δέντρο – Μια ομάδα τομέων που μοιράζονται έναν κοινό ριζικό τομέα.
Δάσος – Η κορυφή της οργανωτικής δομής στο Active Directory, που αποτελείται από αρκετά δέντρα με σχέσεις εμπιστοσύνης μεταξύ τους.
Υπηρεσίες Τομέα Active Directory (AD DS) περιλαμβάνουν μια σειρά υπηρεσιών κρίσιμων για την κεντρική διαχείριση και επικοινωνία εντός ενός δικτύου. Αυτές οι υπηρεσίες περιλαμβάνουν:
Υπηρεσίες Τομέα – Κεντρικοποιεί την αποθήκευση δεδομένων και διαχειρίζεται τις αλληλεπιδράσεις μεταξύ χρηστών και τομέων, συμπεριλαμβανομένων των λειτουργιών αυθεντικοποίησης και αναζήτησης.
Υπηρεσίες Πιστοποιητικών – Εποπτεύει τη δημιουργία, διανομή και διαχείριση ασφαλών ψηφιακών πιστοποιητικών.
Ελαφριές Υπηρεσίες Καταλόγου – Υποστηρίζει εφαρμογές που ενεργοποιούνται από τον κατάλογο μέσω του πρωτοκόλλου LDAP.
Υπηρεσίες Ομοσπονδίας Καταλόγου – Παρέχει δυνατότητες ενιαίας σύνδεσης για την αυθεντικοποίηση χρηστών σε πολλές διαδικτυακές εφαρμογές σε μία μόνο συνεδρία.
Διαχείριση Δικαιωμάτων – Βοηθά στην προστασία υλικού πνευματικών δικαιωμάτων ρυθμίζοντας τη μη εξουσιοδοτημένη διανομή και χρήση του.
Υπηρεσία DNS – Κρίσιμη για την επίλυση ονόματων τομέα.
Για μια πιο λεπτομερή εξήγηση, δείτε: TechTerms - Ορισμός Active Directory
Για να μάθετε πώς να επιτεθείτε σε ένα AD πρέπει να κατανοήσετε πολύ καλά τη διαδικασία αυθεντικοποίησης Kerberos. Διαβάστε αυτή τη σελίδα αν δεν ξέρετε πώς λειτουργεί.
Μπορείτε να επισκεφθείτε το https://wadcoms.github.io/ για μια γρήγορη επισκόπηση των εντολών που μπορείτε να εκτελέσετε για να καταγράψετε/εκμεταλλευτείτε ένα AD.
Αν έχετε πρόσβαση σε ένα περιβάλλον AD αλλά δεν έχετε καμία διαπιστευτήρια/συνεδρίες μπορείτε να:
Pentest το δίκτυο:
Σαρώστε το δίκτυο, βρείτε μηχανές και ανοιχτές θύρες και προσπαθήστε να εκμεταλλευτείτε ευπάθειες ή εξάγετε διαπιστευτήρια από αυτές (για παράδειγμα, οι εκτυπωτές θα μπορούσαν να είναι πολύ ενδιαφέροντες στόχοι.
Η καταγραφή DNS θα μπορούσε να δώσει πληροφορίες σχετικά με βασικούς διακομιστές στο τομέα όπως ιστότοποι, εκτυπωτές, κοινές χρήσεις, vpn, μέσα κ.λπ.
gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt
Ρίξτε μια ματιά στη Γενική Μεθοδολογία Pentesting για περισσότερες πληροφορίες σχετικά με το πώς να το κάνετε αυτό.
Ελέγξτε για null και Guest πρόσβαση σε υπηρεσίες smb (αυτό δεν θα λειτουργήσει σε σύγχρονες εκδόσεις Windows):
enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>
smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>
smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //
Ένας πιο λεπτομερής οδηγός σχετικά με το πώς να καταγράψετε έναν διακομιστή SMB μπορεί να βρεθεί εδώ:
Καταγράψτε Ldap
nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>
Ένας πιο λεπτομερής οδηγός σχετικά με το πώς να καταγράψετε LDAP μπορεί να βρεθεί εδώ (δώστε ιδιαίτερη προσοχή στην ανώνυμη πρόσβαση):
Δηλητηριάστε το δίκτυο
Συγκεντρώστε διαπιστευτήρια υποδυόμενοι υπηρεσίες με Responder
Πρόσβαση σε υπολογιστή καταχρώντας την επίθεση relay
Συγκεντρώστε διαπιστευτήρια εκθέτοντας ψεύτικες υπηρεσίες UPnP με evil-SSDP
Εξάγετε ονόματα χρηστών/ονόματα από εσωτερικά έγγραφα, μέσα κοινωνικής δικτύωσης, υπηρεσίες (κυρίως ιστότοπους) εντός των περιβαλλόντων τομέα και επίσης από δημόσια διαθέσιμα.
Αν βρείτε τα πλήρη ονόματα των εργαζομένων της εταιρείας, μπορείτε να δοκιμάσετε διάφορες συμβάσεις ονόματος χρήστη AD (διαβάστε αυτό). Οι πιο κοινές συμβάσεις είναι: NameSurname, Name.Surname, NamSur (3 γράμματα από κάθε ένα), Nam.Sur, NSurname, N.Surname, SurnameName, Surname.Name, SurnameN, Surname.N, 3 τυχαία γράμματα και 3 τυχαίοι αριθμοί (abc123).
Εργαλεία:
Ανώνυμη SMB/LDAP enum: Ελέγξτε τις σελίδες pentesting SMB και pentesting LDAP.
Kerbrute enum: Όταν ζητείται ένα μη έγκυρο όνομα χρήστη, ο διακομιστής θα απαντήσει χρησιμοποιώντας τον κωδικό σφάλματος Kerberos KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN, επιτρέποντάς μας να προσδιορίσουμε ότι το όνομα χρήστη ήταν μη έγκυρο. Έγκυρα ονόματα χρήστη θα προκαλέσουν είτε την TGT σε μια απάντηση AS-REP είτε το σφάλμα KRB5KDC_ERR_PREAUTH_REQUIRED, υποδεικνύοντας ότι ο χρήστης απαιτείται να εκτελέσει προαυθεντικοποίηση.
OWA (Outlook Web Access) Server
Αν βρείτε έναν από αυτούς τους διακομιστές στο δίκτυο, μπορείτε επίσης να εκτελέσετε enumeration χρηστών εναντίον του. Για παράδειγμα, θα μπορούσατε να χρησιμοποιήσετε το εργαλείο MailSniper:
Μπορείτε να βρείτε λίστες χρηστών σε αυτό το github repo **** και σε αυτό (statistically-likely-usernames).
Ωστόσο, θα πρέπει να έχετε το όνομα των ατόμων που εργάζονται στην εταιρεία από το βήμα αναγνώρισης που θα έπρεπε να έχετε εκτελέσει πριν από αυτό. Με το όνομα και το επώνυμο μπορείτε να χρησιμοποιήσετε το σενάριο namemash.py για να δημιουργήσετε πιθανές έγκυρες ονομασίες χρηστών.
Εντάξει, γνωρίζετε ότι έχετε ήδη ένα έγκυρο όνομα χρήστη αλλά όχι κωδικούς πρόσβασης... Τότε δοκιμάστε:
ASREPRoast: Αν ένας χρήστης δεν έχει το χαρακτηριστικό DONT_REQ_PREAUTH μπορείτε να ζητήσετε ένα μήνυμα AS_REP για αυτόν τον χρήστη που θα περιέχει κάποια δεδομένα κρυπτογραφημένα με μια παραλλαγή του κωδικού πρόσβασης του χρήστη.
Password Spraying: Ας δοκιμάσουμε τους πιο συνηθισμένους κωδικούς πρόσβασης με κάθε έναν από τους ανακαλυφθέντες χρήστες, ίσως κάποιος χρήστης να χρησιμοποιεί έναν κακό κωδικό (κρατήστε στο μυαλό σας την πολιτική κωδικών πρόσβασης!).
Σημειώστε ότι μπορείτε επίσης να spray OWA servers για να προσπαθήσετε να αποκτήσετε πρόσβαση στους διακομιστές αλληλογραφίας των χρηστών.
Μπορείτε να αποκτήσετε κάποιες προκλήσεις hashes για να σπάσετε poisoning κάποιων πρωτοκόλλων του δικτύου:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay AttacksΑν έχετε καταφέρει να καταγράψετε το active directory θα έχετε περισσότερα emails και καλύτερη κατανόηση του δικτύου. Μπορείτε να αναγκάσετε NTML relay attacks **** για να αποκτήσετε πρόσβαση στο περιβάλλον AD.
Αν μπορείτε να έχετε πρόσβαση σε άλλους υπολογιστές ή κοινόχρηστα με τον null ή guest user μπορείτε να τοποθετήσετε αρχεία (όπως ένα αρχείο SCF) που αν αποκτηθούν με κάποιο τρόπο θα ενεργοποιήσουν μια NTML αυθεντικοποίηση εναντίον σας ώστε να μπορείτε να κλέψετε την NTLM πρόκληση για να την σπάσετε:
Places to steal NTLM credsΓια αυτή τη φάση πρέπει να έχετε συμβιβαστεί τις πιστοποιήσεις ή μια συνεδρία ενός έγκυρου λογαριασμού τομέα. Αν έχετε κάποιες έγκυρες πιστοποιήσεις ή μια shell ως χρήστης τομέα, θα πρέπει να θυμάστε ότι οι επιλογές που δόθηκαν πριν είναι ακόμα επιλογές για να συμβιβάσετε άλλους χρήστες.
Πριν ξεκινήσετε την αυθεντικοποιημένη καταγραφή θα πρέπει να γνωρίζετε ποιο είναι το πρόβλημα διπλής αναπήδησης Kerberos.
Kerberos Double Hop ProblemΗ κατοχή ενός λογαριασμού είναι ένα μεγάλο βήμα για να αρχίσετε να συμβιβάζετε ολόκληρο το τομέα, γιατί θα μπορείτε να ξεκινήσετε την Καταγραφή Active Directory:
Αναφορικά με ASREPRoast μπορείτε τώρα να βρείτε κάθε πιθανό ευάλωτο χρήστη, και αναφορικά με Password Spraying μπορείτε να αποκτήσετε μια λίστα με όλα τα ονόματα χρηστών και να δοκιμάσετε τον κωδικό του συμβιβασμένου λογαριασμού, κενές κωδικούς και νέους υποσχόμενους κωδικούς.
Μπορείτε να χρησιμοποιήσετε το CMD για να εκτελέσετε μια βασική αναγνώριση
Μπορείτε επίσης να χρησιμοποιήσετε powershell για αναγνώριση που θα είναι πιο διακριτικό
Μπορείτε επίσης να χρησιμοποιήσετε το powerview για να εξαγάγετε πιο λεπτομερείς πληροφορίες
Ένα άλλο εκπληκτικό εργαλείο για αναγνώριση σε ένα active directory είναι το BloodHound. Δεν είναι πολύ διακριτικό (ανάλογα με τις μεθόδους συλλογής που χρησιμοποιείτε), αλλά αν δεν σας νοιάζει γι' αυτό, θα πρέπει σίγουρα να το δοκιμάσετε. Βρείτε πού μπορούν οι χρήστες να RDP, βρείτε διαδρομές σε άλλες ομάδες, κ.λπ.
Άλλα αυτοματοποιημένα εργαλεία καταγραφής AD είναι: AD Explorer, ADRecon, Group3r, PingCastle.
DNS records του AD καθώς μπορεί να περιέχουν ενδιαφέρουσες πληροφορίες.
Ένα εργαλείο με GUI που μπορείτε να χρησιμοποιήσετε για να καταγράψετε τον κατάλογο είναι το AdExplorer.exe από το SysInternal Suite.
Μπορείτε επίσης να αναζητήσετε στη βάση δεδομένων LDAP με ldapsearch για να αναζητήσετε πιστοποιήσεις στα πεδία userPassword & unixUserPassword, ή ακόμα και για Description. βλ. Κωδικός πρόσβασης στο σχόλιο χρήστη AD στο PayloadsAllTheThings για άλλες μεθόδους.
Αν χρησιμοποιείτε Linux, μπορείτε επίσης να καταγράψετε το τομέα χρησιμοποιώντας pywerview.
Μπορείτε επίσης να δοκιμάσετε αυτοματοποιημένα εργαλεία όπως:
Εξαγωγή όλων των χρηστών του τομέα
Είναι πολύ εύκολο να αποκτήσετε όλα τα ονόματα χρηστών του τομέα από τα Windows (net user /domain
, Get-DomainUser
ή wmic useraccount get name,sid
). Στο Linux, μπορείτε να χρησιμοποιήσετε: GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username
ή enum4linux -a -u "user" -p "password" <DC IP>
Ακόμα και αν αυτή η ενότητα καταγραφής φαίνεται μικρή, είναι το πιο σημαντικό μέρος όλων. Αποκτήστε πρόσβαση στους συνδέσμους (κυρίως αυτόν του cmd, powershell, powerview και BloodHound), μάθετε πώς να καταγράφετε ένα τομέα και εξασκηθείτε μέχρι να νιώσετε άνετα. Κατά τη διάρκεια μιας αξιολόγησης, αυτή θα είναι η κρίσιμη στιγμή για να βρείτε το δρόμο σας προς DA ή να αποφασίσετε ότι δεν μπορεί να γίνει τίποτα.
Το Kerberoasting περιλαμβάνει την απόκτηση TGS tickets που χρησιμοποιούνται από υπηρεσίες που συνδέονται με λογαριασμούς χρηστών και την αποκρυπτογράφησή τους—η οποία βασίζεται στους κωδικούς πρόσβασης των χρηστών—εκτός σύνδεσης.
Περισσότερα γι' αυτό:
KerberoastΜόλις αποκτήσετε κάποιες πιστοποιήσεις μπορείτε να ελέγξετε αν έχετε πρόσβαση σε οποιαδήποτε μηχανή. Για αυτό το σκοπό, μπορείτε να χρησιμοποιήσετε το CrackMapExec για να προσπαθήσετε να συνδεθείτε σε αρκετούς διακομιστές με διαφορετικά πρωτόκολλα, ανάλογα με τις σάρωσεις θυρών σας.
Αν έχετε συμβιβαστεί πιστοποιήσεις ή μια συνεδρία ως κανονικός χρήστης τομέα και έχετε πρόσβαση με αυτόν τον χρήστη σε οποιαδήποτε μηχανή στον τομέα θα πρέπει να προσπαθήσετε να βρείτε τον τρόπο σας για να κλιμακώσετε τα προνόμια τοπικά και να αναζητήσετε πιστοποιήσεις. Αυτό συμβαίνει γιατί μόνο με τοπικά προνόμια διαχειριστή θα μπορείτε να dumpάρετε hashes άλλων χρηστών στη μνήμη (LSASS) και τοπικά (SAM).
Υπάρχει μια ολοκληρωμένη σελίδα σε αυτό το βιβλίο σχετικά με την τοπική κλιμάκωση προνομίων στα Windows και μια λίστα ελέγχου. Επίσης, μην ξεχάσετε να χρησιμοποιήσετε WinPEAS.
Είναι πολύ απίθανο να βρείτε εισιτήρια στον τρέχοντα χρήστη που να σας δίνουν άδεια πρόσβασης σε απροσδόκητους πόρους, αλλά μπορείτε να ελέγξετε:
Αν έχετε καταφέρει να καταγράψετε το active directory θα έχετε περισσότερα emails και καλύτερη κατανόηση του δικτύου. Μπορεί να είστε σε θέση να αναγκάσετε NTML relay attacks.
Τώρα που έχετε κάποιες βασικές διαπιστεύσεις θα πρέπει να ελέγξετε αν μπορείτε να βρείτε οποιαδήποτε ενδιαφέροντα αρχεία που μοιράζονται μέσα στο AD. Μπορείτε να το κάνετε αυτό χειροκίνητα αλλά είναι μια πολύ βαρετή επαναλαμβανόμενη εργασία (και περισσότερο αν βρείτε εκατοντάδες έγγραφα που πρέπει να ελέγξετε).
Follow this link to learn about tools you could use.
Αν μπορείτε να έχετε πρόσβαση σε άλλους υπολογιστές ή κοινές διανομές μπορείτε να τοποθετήσετε αρχεία (όπως ένα αρχείο SCF) που αν με κάποιο τρόπο αποκτηθούν θα προκαλέσουν μια NTML αυθεντικοποίηση εναντίον σας ώστε να μπορείτε να κλέψετε την NTLM πρόκληση για να την σπάσετε:
Places to steal NTLM credsΑυτή η ευπάθεια επέτρεψε σε οποιονδήποτε αυθεντικοποιημένο χρήστη να συμβιβάσει τον ελεγκτή τομέα.
PrintNightmareΓια τις παρακάτω τεχνικές ένας κανονικός χρήστης τομέα δεν είναι αρκετός, χρειάζεστε κάποιες ειδικές προνόμια/διαπιστεύσεις για να εκτελέσετε αυτές τις επιθέσεις.
Ελπίζω να έχετε καταφέρει να συμβιβάσετε κάποιο τοπικό διαχειριστή χρησιμοποιώντας AsRepRoast, Password Spraying, Kerberoast, Responder συμπεριλαμβανομένων των relaying, EvilSSDP, escalating privileges locally. Τότε, είναι ώρα να εκφορτώσετε όλους τους κατακερματισμούς στη μνήμη και τοπικά. Read this page about different ways to obtain the hashes.
Μόλις έχετε τον κατακερματισμό ενός χρήστη, μπορείτε να τον χρησιμοποιήσετε για να παριστάνετε αυτόν. Πρέπει να χρησιμοποιήσετε κάποιο εργαλείο που θα εκτελέσει την NTLM αυθεντικοποίηση χρησιμοποιώντας αυτόν τον κατακερματισμό, ή μπορείτε να δημιουργήσετε μια νέα sessionlogon και να εισάγετε αυτόν τον κατακερματισμό μέσα στο LSASS, έτσι ώστε όταν οποιαδήποτε NTLM αυθεντικοποίηση εκτελείται, αυτός ο κατακερματισμός θα χρησιμοποιηθεί. Η τελευταία επιλογή είναι αυτό που κάνει το mimikatz. Read this page for more information.
Αυτή η επίθεση στοχεύει να χρησιμοποιήσει τον κατακερματισμό NTLM του χρήστη για να ζητήσει εισιτήρια Kerberos, ως εναλλακτική στην κοινή Pass The Hash μέσω του πρωτοκόλλου NTLM. Επομένως, αυτό θα μπορούσε να είναι ιδιαίτερα χρήσιμο σε δίκτυα όπου το πρωτόκολλο NTLM είναι απενεργοποιημένο και μόνο Kerberos επιτρέπεται ως πρωτόκολλο αυθεντικοποίησης.
Over Pass the Hash/Pass the KeyΣτη μέθοδο επίθεσης Pass The Ticket (PTT), οι επιτιθέμενοι κλέβουν ένα εισιτήριο αυθεντικοποίησης χρήστη αντί για τον κωδικό πρόσβασης ή τις τιμές κατακερματισμού τους. Αυτό το κλεμμένο εισιτήριο χρησιμοποιείται στη συνέχεια για να παριστάνει τον χρήστη, αποκτώντας μη εξουσιοδοτημένη πρόσβαση σε πόρους και υπηρεσίες εντός ενός δικτύου.
Pass the TicketΑν έχετε τον κατακερματισμό ή τον κωδικό πρόσβασης ενός τοπικού διαχειριστή θα πρέπει να προσπαθήσετε να συνδεθείτε τοπικά σε άλλους υπολογιστές με αυτόν.
Σημειώστε ότι αυτό είναι αρκετά θορυβώδες και το LAPS θα το μειώσει.
Εάν ένας χρήστης έχει δικαιώματα να πρόσβαση σε MSSQL instances, θα μπορούσε να το χρησιμοποιήσει για να εκτελέσει εντολές στον MSSQL host (αν τρέχει ως SA), να κλέψει το NetNTLM hash ή ακόμα και να εκτελέσει μια επίθεση relay. Επίσης, εάν ένα MSSQL instance είναι εμπιστευμένο (σύνδεσμος βάσης δεδομένων) από ένα διαφορετικό MSSQL instance. Εάν ο χρήστης έχει δικαιώματα πάνω στη εμπιστευμένη βάση δεδομένων, θα είναι σε θέση να χρησιμοποιήσει τη σχέση εμπιστοσύνης για να εκτελέσει ερωτήματα και στην άλλη instance. Αυτές οι εμπιστοσύνες μπορούν να αλυσωθούν και σε κάποιο σημείο ο χρήστης μπορεί να βρει μια κακώς ρυθμισμένη βάση δεδομένων όπου μπορεί να εκτελέσει εντολές. Οι σύνδεσμοι μεταξύ των βάσεων δεδομένων λειτουργούν ακόμη και σε διασυνδέσεις δασών.
MSSQL AD AbuseΕάν βρείτε οποιοδήποτε αντικείμενο Υπολογιστή με το χαρακτηριστικό ADS_UF_TRUSTED_FOR_DELEGATION και έχετε δικαιώματα τομέα στον υπολογιστή, θα μπορείτε να εξάγετε TGTs από τη μνήμη κάθε χρήστη που συνδέεται στον υπολογιστή. Έτσι, εάν ένας Domain Admin συνδεθεί στον υπολογιστή, θα μπορείτε να εξάγετε το TGT του και να τον προσποιηθείτε χρησιμοποιώντας Pass the Ticket. Χάρη στην περιορισμένη αντιπροσώπευση, θα μπορούσατε ακόμη και να συμβιβάσετε αυτόματα έναν Εκτυπωτή (ελπίζουμε να είναι ένας DC).
Unconstrained DelegationΕάν ένας χρήστης ή υπολογιστής επιτρέπεται για "Περιορισμένη Αντιπροσώπευση", θα είναι σε θέση να προσποιηθεί οποιονδήποτε χρήστη για να αποκτήσει πρόσβαση σε ορισμένες υπηρεσίες σε έναν υπολογιστή. Έτσι, εάν συμβιβάσετε το hash αυτού του χρήστη/υπολογιστή, θα μπορείτε να προσποιηθείτε οποιονδήποτε χρήστη (ακόμα και τους διαχειριστές τομέα) για να αποκτήσετε πρόσβαση σε ορισμένες υπηρεσίες.
Constrained DelegationΈχοντας WRITE δικαίωμα σε ένα αντικείμενο Active Directory ενός απομακρυσμένου υπολογιστή επιτρέπει την εκτέλεση κώδικα με υψηλά δικαιώματα:
Resource-based Constrained DelegationΟ συμβιβασμένος χρήστης θα μπορούσε να έχει κάποια ενδιαφέροντα δικαιώματα σε ορισμένα αντικείμενα τομέα που θα σας επιτρέψουν να κινηθείτε πλάγια/να κλιμακώσετε δικαιώματα.
Abusing Active Directory ACLs/ACEsΗ ανακάλυψη μιας υπηρεσίας Spool που ακούει εντός του τομέα μπορεί να καταχραστεί για να αποκτήσει νέες διαπιστεύσεις και να κλιμακώσει δικαιώματα.
Force NTLM Privileged AuthenticationΕάν άλλοι χρήστες πρόσβαση στην καταχρασμένη μηχανή, είναι δυνατόν να συγκεντρώσετε διαπιστεύσεις από τη μνήμη και ακόμη και να εισάγετε σήματα στις διαδικασίες τους για να τους προσποιηθείτε. Συνήθως οι χρήστες θα έχουν πρόσβαση στο σύστημα μέσω RDP, οπότε εδώ έχετε πώς να εκτελέσετε μερικές επιθέσεις σε τρίτες συνεδρίες RDP:
RDP Sessions AbuseΤο LAPS παρέχει ένα σύστημα για τη διαχείριση του τοπικού κωδικού πρόσβασης διαχειριστή σε υπολογιστές που ανήκουν σε τομέα, διασφαλίζοντας ότι είναι τυχαίος, μοναδικός και συχνά αλλαγμένος. Αυτοί οι κωδικοί πρόσβασης αποθηκεύονται στο Active Directory και η πρόσβαση ελέγχεται μέσω ACLs μόνο για εξουσιοδοτημένους χρήστες. Με επαρκή δικαιώματα για πρόσβαση σε αυτούς τους κωδικούς πρόσβασης, η μεταφορά σε άλλους υπολογιστές καθίσταται δυνατή.
LAPSΗ συγκέντρωση πιστοποιητικών από την καταχρασμένη μηχανή θα μπορούσε να είναι ένας τρόπος για να κλιμακώσετε δικαιώματα μέσα στο περιβάλλον:
AD CS Certificate TheftΕάν είναι ρυθμισμένα ευάλωτα πρότυπα, είναι δυνατόν να τα καταχραστείτε για να κλιμακώσετε δικαιώματα:
AD CS Domain EscalationΜόλις αποκτήσετε δικαιώματα Domain Admin ή ακόμα καλύτερα Enterprise Admin, μπορείτε να εξάγετε τη βάση δεδομένων τομέα: ntds.dit.
Περισσότερες πληροφορίες σχετικά με την επίθεση DCSync μπορείτε να βρείτε εδώ.
Περισσότερες πληροφορίες σχετικά με το πώς να κλέψετε το NTDS.dit μπορείτε να βρείτε εδώ
Ορισμένες από τις τεχνικές που συζητήθηκαν προηγουμένως μπορούν να χρησιμοποιηθούν για επιμονή. Για παράδειγμα, θα μπορούσατε να:
Κάνετε τους χρήστες ευάλωτους σε Kerberoast
Κάνετε τους χρήστες ευάλωτους σε ASREPRoast
Χορηγήσετε DCSync δικαιώματα σε έναν χρήστη
Η επίθεση Silver Ticket δημιουργεί ένα νόμιμο εισιτήριο Ticket Granting Service (TGS) για μια συγκεκριμένη υπηρεσία χρησιμοποιώντας το NTLM hash (για παράδειγμα, το hash του λογαριασμού PC). Αυτή η μέθοδος χρησιμοποιείται για πρόσβαση στα δικαιώματα υπηρεσίας.
Silver TicketΜια επίθεση Golden Ticket περιλαμβάνει έναν επιτιθέμενο που αποκτά πρόσβαση στο NTLM hash του λογαριασμού krbtgt σε ένα περιβάλλον Active Directory (AD). Αυτός ο λογαριασμός είναι ειδικός επειδή χρησιμοποιείται για να υπογράψει όλα τα Ticket Granting Tickets (TGTs), τα οποία είναι απαραίτητα για την αυθεντικοποίηση εντός του δικτύου AD.
Μόλις ο επιτιθέμενος αποκτήσει αυτό το hash, μπορεί να δημιουργήσει TGTs για οποιονδήποτε λογαριασμό επιλέξει (επίθεση Silver ticket).
Golden TicketΑυτά είναι όπως τα golden tickets που έχουν κατασκευαστεί με τρόπο που παρακάμπτει τους κοινούς μηχανισμούς ανίχνευσης golden tickets.
Diamond TicketΈχοντας πιστοποιητικά ενός λογαριασμού ή έχοντας τη δυνατότητα να τα ζητήσετε είναι ένας πολύ καλός τρόπος για να μπορέσετε να επιμείνετε στον λογαριασμό των χρηστών (ακόμα και αν αλλάξει τον κωδικό πρόσβασης):
AD CS Account PersistenceΗ χρήση πιστοποιητικών είναι επίσης δυνατή για να επιμείνετε με υψηλά δικαιώματα μέσα στον τομέα:
AD CS Domain PersistenceΤο αντικείμενο AdminSDHolder στο Active Directory διασφαλίζει την ασφάλεια των προνομιακών ομάδων (όπως οι Domain Admins και Enterprise Admins) εφαρμόζοντας μια τυπική Λίστα Ελέγχου Πρόσβασης (ACL) σε αυτές τις ομάδες για να αποτρέψει μη εξουσιοδοτημένες αλλαγές. Ωστόσο, αυτή η δυνατότητα μπορεί να εκμεταλλευτεί· εάν ένας επιτιθέμενος τροποποιήσει την ACL του AdminSDHolder για να δώσει πλήρη πρόσβαση σε έναν κανονικό χρήστη, αυτός ο χρήστης αποκτά εκτενή έλεγχο σε όλες τις προνομιακές ομάδες. Αυτό το μέτρο ασφαλείας, που προορίζεται για προστασία, μπορεί έτσι να έχει αντίκτυπο, επιτρέποντας αδικαιολόγητη πρόσβαση εκτός αν παρακολουθείται προσεκτικά.
Περισσότερες πληροφορίες σχετικά με την Ομάδα AdminDSHolder εδώ.
Μέσα σε κάθε Domain Controller (DC), υπάρχει ένας λογαριασμός τοπικού διαχειριστή. Αποκτώντας δικαιώματα διαχειριστή σε μια τέτοια μηχανή, το hash του τοπικού διαχειριστή μπορεί να εξαχθεί χρησιμοποιώντας mimikatz. Ακολουθώντας αυτό, είναι απαραίτητη μια τροποποίηση μητρώου για να επιτραπεί η χρήση αυτού του κωδικού πρόσβασης, επιτρέποντας την απομακρυσμένη πρόσβαση στον τοπικό λογαριασμό διαχειριστή.
DSRM CredentialsΜπορείτε να δώσετε κάποια ειδικά δικαιώματα σε έναν χρήστη πάνω σε ορισμένα συγκεκριμένα αντικείμενα τομέα που θα επιτρέψουν στον χρήστη να κλιμακώσει δικαιώματα στο μέλλον.
Abusing Active Directory ACLs/ACEsΟι περιγραφείς ασφαλείας χρησιμοποιούνται για να αποθηκεύουν τα δικαιώματα που έχει ένα αντικείμενο πάνω σε ένα αντικείμενο. Εάν μπορείτε απλώς να κάνετε μια μικρή αλλαγή στον περιγραφέα ασφαλείας ενός αντικειμένου, μπορείτε να αποκτήσετε πολύ ενδιαφέροντα δικαιώματα πάνω σε αυτό το αντικείμενο χωρίς να χρειάζεται να είστε μέλος μιας προνομιακής ομάδας.
Security DescriptorsΑλλάξτε το LSASS στη μνήμη για να καθορίσετε έναν καθολικό κωδικό πρόσβασης, παρέχοντας πρόσβαση σε όλους τους λογαριασμούς τομέα.
Skeleton KeyΜάθετε τι είναι ένα SSP (Security Support Provider) εδώ. Μπορείτε να δημιουργήσετε το δικό σας SSP για να συλλάβετε σε καθαρό κείμενο τις διαπιστεύσεις που χρησιμοποιούνται για την πρόσβαση στη μηχανή.\
Custom SSPΚαταχωρεί έναν νέο Domain Controller στο AD και τον χρησιμοποιεί για να σπρώξει χαρακτηριστικά (SIDHistory, SPNs...) σε καθορισμένα αντικείμενα χωρίς να αφήνει κανένα καταγραφή σχετικά με τις τροποποιήσεις. Χρειάζεστε δικαιώματα DA και να είστε μέσα στο root domain. Σημειώστε ότι αν χρησιμοποιήσετε λανθασμένα δεδομένα, θα εμφανιστούν πολύ άσχημες καταγραφές.
DCShadowΠροηγουμένως έχουμε συζητήσει πώς να κλιμακώσετε δικαιώματα εάν έχετε αρκετά δικαιώματα για να διαβάσετε τους κωδικούς πρόσβασης LAPS. Ωστόσο, αυτοί οι κωδικοί πρόσβασης μπορούν επίσης να χρησιμοποιηθούν για διατήρηση επιμονής. Ελέγξτε:
LAPSΗ Microsoft βλέπει το Δάσος ως το όριο ασφαλείας. Αυτό σημαίνει ότι η κατάχρηση ενός μόνο τομέα θα μπορούσε ενδεχομένως να οδηγήσει σε ολόκληρο το Δάσος να είναι συμβιβασμένο.
Μια εμπιστοσύνη τομέα είναι ένας μηχανισμός ασφαλείας που επιτρέπει σε έναν χρήστη από έναν τομέα να έχει πρόσβαση σε πόρους σε έναν άλλο τομέα. Δημιουργεί ουσιαστικά μια σύνδεση μεταξύ των συστημάτων αυθεντικοποίησης των δύο τομέων, επιτρέποντας την ομαλή ροή των επαληθεύσεων αυθεντικοποίησης. Όταν οι τομείς ρυθμίζουν μια εμπιστοσύνη, ανταλλάσσουν και διατηρούν συγκεκριμένα κλειδιά μέσα στους Domain Controllers (DCs) τους, τα οποία είναι κρίσιμα για την ακεραιότητα της εμπιστοσύνης.
Σε ένα τυπικό σενάριο, εάν ένας χρήστης σκοπεύει να έχει πρόσβαση σε μια υπηρεσία σε έναν εμπιστευμένο τομέα, πρέπει πρώτα να ζητήσει ένα ειδικό εισιτήριο γνωστό ως inter-realm TGT από τον DC του δικού του τομέα. Αυτό το TGT είναι κρυπτογραφημένο με ένα κοινό κλειδί που έχουν συμφωνήσει και οι δύο τομείς. Ο χρήστης στη συνέχεια παρουσιάζει αυτό το TGT στον DC του εμπιστευμένου τομέα για να αποκτήσει ένα εισιτήριο υπηρεσίας (TGS). Μετά την επιτυχή επαλήθευση του inter-realm TGT από τον DC του εμπιστευμένου τομέα, εκδίδει ένα TGS, παρέχοντας στον χρήστη πρόσβαση στην υπηρεσία.
Βήματα:
Ένας υπολογιστής-πελάτης στον Τομέα 1 ξεκινά τη διαδικασία χρησιμοποιώντας το NTLM hash του για να ζητήσει ένα Ticket Granting Ticket (TGT) από τον Domain Controller (DC1) του.
Ο DC1 εκδίδει ένα νέο TGT εάν ο πελάτης αυθεντικοποιηθεί επιτυχώς.
Ο πελάτης στη συνέχεια ζητά ένα inter-realm TGT από τον DC1, το οποίο είναι απαραίτητο για να αποκτήσει πρόσβαση σε πόρους στον Τομέα 2.
Το inter-realm TGT είναι κρυπτογραφημένο με ένα κλειδί εμπιστοσύνης που μοιράζονται οι DC1 και DC2 ως μέρος της διπλής εμπιστοσύνης τομέα.
Ο πελάτης παίρνει το inter-realm TGT στον Domain Controller του Τομέα 2 (DC2).
Ο DC2 επαληθεύει το inter-realm TGT χρησιμοποιώντας το κοινό κλειδί εμπιστοσύνης του και, εάν είναι έγκυρο, εκδίδει ένα Ticket Granting Service (TGS) για τον διακομιστή στον Τομέα 2 που θέλει να έχει πρόσβαση ο πελάτης.
Τέλος, ο πελάτης παρουσιάζει αυτό το TGS στον διακομιστή, το οποίο είναι κρυπτογραφημένο με το hash του λογαριασμού του διακομιστή, για να αποκτήσει πρόσβαση στην υπηρεσία στον Τομέα 2.
Είναι σημαντικό να παρατηρήσετε ότι μια εμπιστοσύνη μπορεί να είναι 1 κατεύθυνσης ή 2 κατευθύνσεων. Στην επιλογή 2 κατευθύνσεων, και οι δύο τομείς θα εμπιστεύονται ο ένας τον άλλον, αλλά στη 1 κατεύθυνσης σχέση εμπιστοσύνης, ένας από τους τομείς θα είναι ο εμπιστευμένος και ο άλλος ο εμπιστευόμενος τομέας. Στην τελευταία περίπτωση, θα μπορείτε να έχετε πρόσβαση σε πόρους μόνο μέσα στον εμπιστευόμενο τομέα από τον εμπιστευμένο.
Εάν ο Τομέας A εμπιστεύεται τον Τομέα B, ο A είναι ο εμπιστευόμενος τομέας και ο B είναι ο εμπιστευμένος. Επιπλέον, στον Τομέα A, αυτό θα ήταν μια Εξωτερική εμπιστοσύνη; και στον Τομέα B, αυτό θα ήταν μια Εσωτερική εμπιστοσύνη.
Διαφορετικές σχέσεις εμπιστοσύνης
Εμπιστοσύνες Γονέα-Παιδιού: Αυτή είναι μια κοινή ρύθμιση εντός του ίδιου δάσους, όπου ένα παιδικό τομέα έχει αυτόματα μια διπλή μεταβατική εμπιστοσύνη με τον γονικό τομέα του. Ουσιαστικά, αυτό σημαίνει ότι οι αιτήσεις αυθεντικοποίησης μπορούν να ρέουν ομαλά μεταξύ του γονέα και του παιδιού.
Διασυνδεδεμένες Εμπιστοσύνες: Αναφέρονται ως "συντομευμένες εμπιστοσύνες", αυτές καθιερώνονται μεταξύ παιδικών τομέων για να επιταχύνουν τις διαδικασίες παραπομπής. Σε πολύπλοκα δάση, οι παραπομπές αυθεντικοποίησης συνήθως πρέπει να ταξιδεύουν μέχρι τη ρίζα του δάσους και στη συνέχεια προς τα κάτω στον στόχο τομέα. Δημιουργώντας διασυνδέσεις, το ταξίδι συντομεύεται, κάτι που είναι ιδιαίτερα ευεργετικό σε γεωγραφικά διασκορπισμένα περιβάλλοντα.
Εξωτερικές Εμπιστοσύνες: Αυτές καθιερώνονται μεταξύ διαφορετικών, άσχετων τομέων και είναι μη μεταβατικές από τη φύση τους. Σύμφωνα με την τεκμηρίωση της Microsoft, οι εξωτερικές εμπιστοσύνες είναι χρήσιμες για την πρόσβαση σε πόρους σε έναν τομέα εκτός του τρέχοντος δάσους που δεν είναι συνδεδεμένος μέσω μιας εμπιστοσύνης δάσους. Η ασφάλεια ενισχύεται μέσω φιλτραρίσματος SID με εξωτερικές εμπιστοσύνες.
Εμπιστοσύνες Ρίζας Δέντρου: Αυτές οι εμπιστοσύνες καθιερώνονται αυτόματα μεταξύ του ριζικού τομέα του δάσους και ενός νεοαφίχθέντος ριζικού δέντρου. Αν και δεν συναντώνται συχνά, οι εμπιστοσύνες ρίζας δέντρου είναι σημαντικές για την προσθήκη νέων δέντρων τομέα σε ένα δάσος, επιτρέποντάς τους να διατηρούν ένα μοναδικό όνομα τομέα και διασφαλίζοντας τη διπλή μεταβατικότητα. Περισσότερες πληροφορίες μπορείτε να βρείτε στον οδηγό της Microsoft.
Εμπιστοσύνες Δάσους: Αυτός ο τύπος εμπιστοσύνης είναι μια διπλή μεταβατική εμπιστοσύνη μεταξύ δύο ριζικών τομέων δάσους, επιβάλλοντας επίσης φιλτράρισμα SID για την ενίσχυση των μέτρων ασφαλείας.
Εμπιστοσύνες MIT: Αυτές οι εμπιστοσύνες καθιερώνονται με μη Windows, RFC4120-compliant τομείς Kerberos. Οι εμπιστοσύνες MIT είναι λίγο πιο εξειδικευμένες και απευθύνονται σε περιβάλλοντα που απαιτούν ενσωμάτωση με συστήματα βασισμένα σε Kerberos εκτός του οικοσυστήματος Windows.
Μια σχέση εμπιστοσύνης μπορεί επίσης να είναι μεταβατική (A εμπιστεύεται B, B εμπιστεύεται C, τότε A εμπιστεύεται C) ή μη μεταβατική.
Μια σχέση εμπιστοσύνης μπορεί να ρυθμιστεί ως αμφίδρομη εμπιστοσύνη (και οι δύο εμπιστεύονται ο ένας τον άλλον) ή ως μονοκατεύθυνση εμπιστοσύνη (μόνο ένας από αυτούς εμπιστεύεται τον άλλο).
Καταγράψτε τις σχέσεις εμπιστοσύνης
Ελέγξτε αν οποιοδήποτε ασφαλές κύριο (χρήστης/ομάδα/υπολογιστής) έχει πρόσβαση σε πόρους του άλλου τομέα, ίσως μέσω καταχωρήσεων ACE ή μέσω συμμετοχής σε ομάδες του άλλου τομέα. Αναζητήστε σχέσεις μεταξύ τομέων (η εμπιστοσύνη δημιουργήθηκε πιθανώς για αυτό).
Το kerberoast σε αυτή την περίπτωση θα μπορούσε να είναι μια άλλη επιλογή.
Συμβιβάστε τους λογαριασμούς που μπορούν να μεταβούν μέσω τομέων.
Οι επιτιθέμενοι θα μπορούσαν να έχουν πρόσβαση σε πόρους σε άλλο τομέα μέσω τριών κύριων μηχανισμών:
Τοπική Συμμετοχή Ομάδας: Οι κύριοι μπορεί να προστεθούν σε τοπικές ομάδες σε μηχανές, όπως η ομάδα “Administrators” σε έναν διακομιστή, παρέχοντας τους σημαντικό έλεγχο σε αυτή τη μηχανή.
Συμμετοχή Ομάδας Ξένου Τομέα: Οι κύριοι μπορούν επίσης να είναι μέλη ομάδων εντός του ξένου τομέα. Ωστόσο, η αποτελεσματικότητα αυτής της μεθόδου εξαρτάται από τη φύση της εμπιστοσύνης και την έκταση της ομάδας.
Λίστες Ελέγχου Πρόσβασης (ACLs): Οι κύριοι μπορεί να καθορίζονται σε μια ACL, ιδιαίτερα ως οντότητες σε ACEs εντός μιας DACL, παρέχοντας τους πρόσβαση σε συγκεκριμένους πόρους. Για όσους επιθυμούν να εμβαθύνουν στους μηχανισμούς των ACLs, DACLs και ACEs, το λευκό έγγραφο με τίτλο “An ACE Up The Sleeve” είναι μια ανεκτίμητη πηγή.
Υπάρχουν 2 αξιόπιστα κλειδιά, ένα για Παιδί --> Γονέας και ένα άλλο για Γονέας --> Παιδί. Μπορείτε να χρησιμοποιήσετε αυτό που χρησιμοποιείται από το τρέχον domain με:
Αναβάθμιση ως Enterprise admin στο child/parent domain εκμεταλλευόμενοι την εμπιστοσύνη με SID-History injection:
SID-History InjectionΗ κατανόηση του πώς μπορεί να εκμεταλλευτεί το Configuration Naming Context (NC) είναι κρίσιμη. Το Configuration NC λειτουργεί ως κεντρική αποθήκη για δεδομένα διαμόρφωσης σε ένα δάσος σε περιβάλλοντα Active Directory (AD). Αυτά τα δεδομένα αναπαράγονται σε κάθε Domain Controller (DC) εντός του δάσους, με τα writable DCs να διατηρούν μια γράψιμη αντίγραφο του Configuration NC. Για να εκμεταλλευτεί αυτό, πρέπει να έχει SYSTEM privileges σε ένα DC, κατά προτίμηση σε ένα child DC.
Σύνδεση GPO με το root DC site
Το Sites container του Configuration NC περιλαμβάνει πληροφορίες σχετικά με όλα τα domain-joined υπολογιστές εντός του AD δάσους. Λειτουργώντας με SYSTEM privileges σε οποιοδήποτε DC, οι επιτιθέμενοι μπορούν να συνδέσουν GPOs με τα root DC sites. Αυτή η ενέργεια ενδέχεται να θέσει σε κίνδυνο το root domain μέσω της χειραγώγησης πολιτικών που εφαρμόζονται σε αυτά τα sites.
Για λεπτομερείς πληροφορίες, μπορεί κανείς να εξερευνήσει την έρευνα σχετικά με Bypassing SID Filtering.
Συμβιβασμός οποιουδήποτε gMSA στο δάσος
Ένας επιθετικός παράγοντας περιλαμβάνει την στόχευση προνομιακών gMSAs εντός του domain. Το KDS Root key, που είναι απαραίτητο για τον υπολογισμό των κωδικών πρόσβασης των gMSAs, αποθηκεύεται στο Configuration NC. Με SYSTEM privileges σε οποιοδήποτε DC, είναι δυνατό να αποκτήσει κανείς πρόσβαση στο KDS Root key και να υπολογίσει τους κωδικούς πρόσβασης για οποιοδήποτε gMSA σε όλο το δάσος.
Λεπτομερής ανάλυση μπορεί να βρεθεί στη συζήτηση σχετικά με Golden gMSA Trust Attacks.
Επίθεση αλλαγής σχήματος
Αυτή η μέθοδος απαιτεί υπομονή, περιμένοντας τη δημιουργία νέων προνομιακών AD αντικειμένων. Με SYSTEM privileges, ένας επιτιθέμενος μπορεί να τροποποιήσει το AD Schema για να παραχωρήσει σε οποιονδήποτε χρήστη πλήρη έλεγχο σε όλες τις κλάσεις. Αυτό θα μπορούσε να οδηγήσει σε μη εξουσιοδοτημένη πρόσβαση και έλεγχο σε νεοδημιουργημένα AD αντικείμενα.
Περισσότερη ανάγνωση είναι διαθέσιμη σχετικά με Schema Change Trust Attacks.
Από DA σε EA με ADCS ESC5
Η ευπάθεια ADCS ESC5 στοχεύει τον έλεγχο των αντικειμένων Public Key Infrastructure (PKI) για τη δημιουργία ενός προτύπου πιστοποιητικού που επιτρέπει την αυθεντικοποίηση ως οποιοσδήποτε χρήστης εντός του δάσους. Καθώς τα αντικείμενα PKI βρίσκονται στο Configuration NC, η εκμετάλλευση ενός writable child DC επιτρέπει την εκτέλεση επιθέσεων ESC5.
Περισσότερες λεπτομέρειες σχετικά με αυτό μπορούν να διαβαστούν στο From DA to EA with ESC5. Σε σενάρια που λείπει το ADCS, ο επιτιθέμενος έχει τη δυνατότητα να ρυθμίσει τα απαραίτητα στοιχεία, όπως συζητείται στο Escalating from Child Domain Admins to Enterprise Admins.
Σε αυτό το σενάριο το domain σας είναι αξιόπιστο από ένα εξωτερικό, δίνοντάς σας ακαθόριστες άδειες πάνω σε αυτό. Θα χρειαστεί να βρείτε ποιοι φορείς του domain σας έχουν ποια πρόσβαση στο εξωτερικό domain και στη συνέχεια να προσπαθήσετε να το εκμεταλλευτείτε:
External Forest Domain - OneWay (Inbound) or bidirectionalΣε αυτό το σενάριο το τομέα σας εμπιστεύεται κάποιες privileges σε έναν κύριο από διαφορετικούς τομείς.
Ωστόσο, όταν ένας τομέας είναι εμπιστευμένος από τον εμπιστευμένο τομέα, ο εμπιστευμένος τομέας δημιουργεί έναν χρήστη με ένα προβλέψιμο όνομα που χρησιμοποιεί ως κωδικό τον εμπιστευμένο κωδικό. Αυτό σημαίνει ότι είναι δυνατό να προσεγγίσετε έναν χρήστη από τον εμπιστευμένο τομέα για να εισέλθετε στον εμπιστευμένο για να τον καταγράψετε και να προσπαθήσετε να κλιμακώσετε περισσότερες privileges:
External Forest Domain - One-Way (Outbound)Ένας άλλος τρόπος για να συμβιβαστεί ο εμπιστευμένος τομέας είναι να βρείτε έναν SQL trusted link που έχει δημιουργηθεί στην αντίθετη κατεύθυνση του τομέα εμπιστοσύνης (το οποίο δεν είναι πολύ συνηθισμένο).
Ένας άλλος τρόπος για να συμβιβαστεί ο εμπιστευμένος τομέας είναι να περιμένετε σε μια μηχανή όπου ένας χρήστης από τον εμπιστευμένο τομέα μπορεί να έχει πρόσβαση για να συνδεθεί μέσω RDP. Στη συνέχεια, ο επιτιθέμενος θα μπορούσε να εισάγει κώδικα στη διαδικασία συνεδρίας RDP και να προσεγγίσει τον αρχικό τομέα του θύματος από εκεί. Επιπλέον, αν το θύμα έχει τοποθετήσει τον σκληρό του δίσκο, από τη διαδικασία της συνεδρίας RDP ο επιτιθέμενος θα μπορούσε να αποθηκεύσει backdoors στον φάκελο εκκίνησης του σκληρού δίσκου. Αυτή η τεχνική ονομάζεται RDPInception.
RDP Sessions AbuseΟ κίνδυνος επιθέσεων που εκμεταλλεύονται το χαρακτηριστικό ιστορικό SID σε εμπιστοσύνες δασών μειώνεται με το Φιλτράρισμα SID, το οποίο είναι ενεργοποιημένο από προεπιλογή σε όλες τις διασυνδέσεις δασών. Αυτό στηρίζεται στην υπόθεση ότι οι εμπιστοσύνες εντός του δάσους είναι ασφαλείς, θεωρώντας το δάσος, αντί για τον τομέα, ως το όριο ασφαλείας σύμφωνα με τη θέση της Microsoft.
Ωστόσο, υπάρχει μια παγίδα: το φιλτράρισμα SID μπορεί να διαταράξει εφαρμογές και την πρόσβαση χρηστών, οδηγώντας σε περιστασιακή απενεργοποίησή του.
Για τις εμπιστοσύνες μεταξύ δασών, η χρήση Επιλεκτικής Αυθεντικοποίησης διασφαλίζει ότι οι χρήστες από τα δύο δάση δεν αυθεντικοποιούνται αυτόματα. Αντίθετα, απαιτούνται ρητές άδειες για τους χρήστες να έχουν πρόσβαση σε τομείς και διακομιστές εντός του εμπιστευμένου τομέα ή δάσους.
Είναι σημαντικό να σημειωθεί ότι αυτά τα μέτρα δεν προστατεύουν από την εκμετάλλευση του εγγράψιμου Configuration Naming Context (NC) ή επιθέσεις στον λογαριασμό εμπιστοσύνης.
Περισσότερες πληροφορίες σχετικά με τις εμπιστοσύνες τομέα στο ired.team.
Μάθετε περισσότερα σχετικά με το πώς να προστατεύσετε τα διαπιστευτήρια εδώ.\
Περιορισμοί Διαχειριστών Τομέα: Συνιστάται οι Διαχειριστές Τομέα να επιτρέπεται να συνδέονται μόνο σε Διακομιστές Τομέα, αποφεύγοντας τη χρήση τους σε άλλους υπολογιστές.
Privileges Λογαριασμού Υπηρεσίας: Οι υπηρεσίες δεν θα πρέπει να εκτελούνται με privileges Διαχειριστή Τομέα (DA) για να διατηρηθεί η ασφάλεια.
Περιορισμός Χρονικής Διάρκειας Privilege: Για εργασίες που απαιτούν DA privileges, η διάρκεια τους θα πρέπει να περιορίζεται. Αυτό μπορεί να επιτευχθεί με: Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)
Η εφαρμογή απάτης περιλαμβάνει τη δημιουργία παγίδων, όπως χρήστες ή υπολογιστές δόλωμα, με χαρακτηριστικά όπως κωδικοί που δεν λήγουν ή είναι επισημασμένοι ως Εμπιστευμένοι για Αντιπροσώπευση. Μια λεπτομερής προσέγγιση περιλαμβάνει τη δημιουργία χρηστών με συγκεκριμένα δικαιώματα ή την προσθήκη τους σε ομάδες υψηλών privileges.
Ένα πρακτικό παράδειγμα περιλαμβάνει τη χρήση εργαλείων όπως: Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
Περισσότερα σχετικά με την ανάπτυξη τεχνικών απάτης μπορείτε να βρείτε στο Deploy-Deception στο GitHub.
Για Αντικείμενα Χρηστών: Υποψίες δείκτες περιλαμβάνουν ασυνήθιστο ObjectSID, σπάνιες συνδέσεις, ημερομηνίες δημιουργίας και χαμηλούς αριθμούς κακών κωδικών.
Γενικοί Δείκτες: Η σύγκριση χαρακτηριστικών πιθανών αντικειμένων δόλωμα με αυτά των γνήσιων μπορεί να αποκαλύψει ασυνέπειες. Εργαλεία όπως το HoneypotBuster μπορούν να βοηθήσουν στην αναγνώριση τέτοιων απατών.
Παράκαμψη Ανίχνευσης Microsoft ATA:
Αναγνώριση Χρηστών: Αποφυγή αναγνώρισης συνεδριών σε Διακομιστές Τομέα για την αποφυγή ανίχνευσης ATA.
Μίμηση Εισιτηρίων: Η χρήση κλειδιών aes για τη δημιουργία εισιτηρίων βοηθά στην αποφυγή ανίχνευσης, αποφεύγοντας την υποβάθμιση σε NTLM.
Επιθέσεις DCSync: Συνιστάται η εκτέλεση από μη Διακομιστή Τομέα για την αποφυγή ανίχνευσης ATA, καθώς η άμεση εκτέλεση από έναν Διακομιστή Τομέα θα ενεργοποιήσει ειδοποιήσεις.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)