Abusing Active Directory ACLs/ACEs
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αυτή η σελίδα είναι κυρίως μια περίληψη των τεχνικών από https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces και https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges. Για περισσότερες λεπτομέρειες, ελέγξτε τα πρωτότυπα άρθρα.
Αυτή η προνόμια παρέχει σε έναν επιτιθέμενο πλήρη έλεγχο σε έναν λογαριασμό χρήστη στόχο. Μόλις επιβεβαιωθούν τα δικαιώματα GenericAll
χρησιμοποιώντας την εντολή Get-ObjectAcl
, ένας επιτιθέμενος μπορεί να:
Αλλάξει τον Κωδικό Πρόσβασης του Στόχου: Χρησιμοποιώντας net user <username> <password> /domain
, ο επιτιθέμενος μπορεί να επαναφέρει τον κωδικό πρόσβασης του χρήστη.
Στοχευμένο Kerberoasting: Ανάθεση ενός SPN στον λογαριασμό του χρήστη για να γίνει kerberoastable, στη συνέχεια χρησιμοποιήστε το Rubeus και το targetedKerberoast.py για να εξάγετε και να προσπαθήσετε να σπάσετε τα hashes του εισιτηρίου (TGT).
Targeted ASREPRoasting: Απενεργοποιήστε την προ-αυθεντικοποίηση για τον χρήστη, καθιστώντας τον λογαριασμό του ευάλωτο σε ASREPRoasting.
Αυτό το προνόμιο επιτρέπει σε έναν επιτιθέμενο να χειρίζεται τις συμμετοχές σε ομάδες εάν έχει δικαιώματα GenericAll
σε μια ομάδα όπως οι Domain Admins
. Αφού προσδιορίσει το διακριτό όνομα της ομάδας με το Get-NetGroup
, ο επιτιθέμενος μπορεί να:
Προσθέσει τον Εαυτό του στην Ομάδα Domain Admins: Αυτό μπορεί να γίνει μέσω άμεσων εντολών ή χρησιμοποιώντας modules όπως το Active Directory ή το PowerSploit.
Η κατοχή αυτών των δικαιωμάτων σε ένα αντικείμενο υπολογιστή ή σε έναν λογαριασμό χρήστη επιτρέπει:
Kerberos Resource-based Constrained Delegation: Ενεργοποιεί την ανάληψη ενός αντικειμένου υπολογιστή.
Shadow Credentials: Χρησιμοποιήστε αυτή την τεχνική για να προσποιηθείτε έναν υπολογιστή ή λογαριασμό χρήστη εκμεταλλευόμενοι τα δικαιώματα για τη δημιουργία shadow credentials.
Εάν ένας χρήστης έχει δικαιώματα WriteProperty
σε όλα τα αντικείμενα για μια συγκεκριμένη ομάδα (π.χ., Domain Admins
), μπορεί να:
Προσθέσει τον Εαυτό του στην Ομάδα Domain Admins: Εφικτό μέσω του συνδυασμού των εντολών net user
και Add-NetGroupUser
, αυτή η μέθοδος επιτρέπει την κλιμάκωση δικαιωμάτων εντός του τομέα.
Αυτή η δυνατότητα επιτρέπει στους επιτιθέμενους να προσθέτουν τους εαυτούς τους σε συγκεκριμένες ομάδες, όπως οι Domain Admins
, μέσω εντολών που χειρίζονται άμεσα την ιδιότητα μέλους της ομάδας. Η χρήση της παρακάτω ακολουθίας εντολών επιτρέπει την αυτοπροσθήκη:
Ένα παρόμοιο προνόμιο, αυτό επιτρέπει στους επιτιθέμενους να προσθέτουν άμεσα τον εαυτό τους σε ομάδες τροποποιώντας τις ιδιότητες της ομάδας εάν έχουν το δικαίωμα WriteProperty
σε αυτές τις ομάδες. Η επιβεβαίωση και η εκτέλεση αυτού του προνομίου πραγματοποιούνται με:
Η κατοχή του ExtendedRight
σε έναν χρήστη για το User-Force-Change-Password
επιτρέπει την επαναφορά κωδικών πρόσβασης χωρίς να γνωρίζετε τον τρέχοντα κωδικό. Η επαλήθευση αυτού του δικαιώματος και η εκμετάλλευσή του μπορούν να γίνουν μέσω PowerShell ή εναλλακτικών εργαλείων γραμμής εντολών, προσφέροντας αρκετές μεθόδους για την επαναφορά του κωδικού πρόσβασης ενός χρήστη, συμπεριλαμβανομένων διαδραστικών συνεδριών και one-liners για μη διαδραστικά περιβάλλοντα. Οι εντολές κυμαίνονται από απλές κλήσεις PowerShell έως τη χρήση του rpcclient
σε Linux, επιδεικνύοντας την ευελιξία των επιθέσεων.
Αν ένας επιτιθέμενος διαπιστώσει ότι έχει δικαιώματα WriteOwner
σε μια ομάδα, μπορεί να αλλάξει την ιδιοκτησία της ομάδας σε τον εαυτό του. Αυτό είναι ιδιαίτερα σημαντικό όταν η ομάδα που εξετάζεται είναι οι Domain Admins
, καθώς η αλλαγή ιδιοκτησίας επιτρέπει ευρύτερο έλεγχο πάνω σε χαρακτηριστικά και μέλη της ομάδας. Η διαδικασία περιλαμβάνει την αναγνώριση του σωστού αντικειμένου μέσω Get-ObjectAcl
και στη συνέχεια τη χρήση του Set-DomainObjectOwner
για να τροποποιηθεί ο ιδιοκτήτης, είτε μέσω SID είτε μέσω ονόματος.
Αυτή η άδεια επιτρέπει σε έναν επιτιθέμενο να τροποποιήσει τις ιδιότητες του χρήστη. Συγκεκριμένα, με πρόσβαση GenericWrite
, ο επιτιθέμενος μπορεί να αλλάξει τη διαδρομή του σεναρίου σύνδεσης ενός χρήστη για να εκτελέσει ένα κακόβουλο σενάριο κατά τη σύνδεση του χρήστη. Αυτό επιτυγχάνεται χρησιμοποιώντας την εντολή Set-ADObject
για να ενημερώσει την ιδιότητα scriptpath
του στοχευόμενου χρήστη ώστε να δείχνει στο σενάριο του επιτιθέμενου.
Με αυτό το προνόμιο, οι επιτιθέμενοι μπορούν να χειρίζονται τη συμμετοχή σε ομάδες, όπως το να προσθέτουν τους εαυτούς τους ή άλλους χρήστες σε συγκεκριμένες ομάδες. Αυτή η διαδικασία περιλαμβάνει τη δημιουργία ενός αντικειμένου διαπιστευτηρίων, τη χρήση του για την προσθήκη ή την αφαίρεση χρηστών από μια ομάδα και την επαλήθευση των αλλαγών συμμετοχής με εντολές PowerShell.
Η κατοχή ενός αντικειμένου AD και η ύπαρξη δικαιωμάτων WriteDACL
σε αυτό επιτρέπει σε έναν επιτιθέμενο να παραχωρήσει στον εαυτό του δικαιώματα GenericAll
πάνω στο αντικείμενο. Αυτό επιτυγχάνεται μέσω χειρισμού ADSI, επιτρέποντας πλήρη έλεγχο πάνω στο αντικείμενο και τη δυνατότητα τροποποίησης των μελών της ομάδας του. Παρά ταύτα, υπάρχουν περιορισμοί όταν προσπαθεί κανείς να εκμεταλλευτεί αυτά τα δικαιώματα χρησιμοποιώντας τα cmdlets Set-Acl
/ Get-Acl
του Active Directory module.
Η επίθεση DCSync εκμεταλλεύεται συγκεκριμένα δικαιώματα αναπαραγωγής στο domain για να μιμηθεί έναν Domain Controller και να συγχρονίσει δεδομένα, συμπεριλαμβανομένων των διαπιστευτηρίων χρηστών. Αυτή η ισχυρή τεχνική απαιτεί δικαιώματα όπως το DS-Replication-Get-Changes
, επιτρέποντας στους επιτιθέμενους να εξάγουν ευαίσθητες πληροφορίες από το περιβάλλον AD χωρίς άμεση πρόσβαση σε έναν Domain Controller. Μάθετε περισσότερα για την επίθεση DCSync εδώ.
Η ανατεθείσα πρόσβαση για τη διαχείριση των Αντικειμένων Πολιτικής Ομάδας (GPOs) μπορεί να παρουσιάσει σημαντικούς κινδύνους ασφαλείας. Για παράδειγμα, εάν ένας χρήστης όπως ο offense\spotless
έχει ανατεθεί δικαιώματα διαχείρισης GPO, μπορεί να έχει προνόμια όπως WriteProperty, WriteDacl και WriteOwner. Αυτά τα δικαιώματα μπορούν να καταχραστούν για κακόβουλους σκοπούς, όπως προσδιορίζεται χρησιμοποιώντας το PowerView: bash Get-ObjectAcl -ResolveGUIDs | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
Για να εντοπιστούν κακώς διαμορφωμένα GPO, τα cmdlets του PowerSploit μπορούν να συνδυαστούν. Αυτό επιτρέπει την ανακάλυψη GPO που έχει δικαιώματα διαχείρισης από έναν συγκεκριμένο χρήστη: powershell Get-NetGPO | %{Get-ObjectAcl -ResolveGUIDs -Name $_.Name} | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
Υπολογιστές με Εφαρμοσμένη Πολιτική: Είναι δυνατόν να προσδιοριστεί ποιοι υπολογιστές επηρεάζονται από μια συγκεκριμένη GPO, βοηθώντας στην κατανόηση της έκτασης της πιθανής επίδρασης. powershell Get-NetOU -GUID "{DDC640FF-634A-4442-BC2E-C05EED132F0C}" | % {Get-NetComputer -ADSpath $_}
Πολιτικές Εφαρμοσμένες σε Δοσμένο Υπολογιστή: Για να δείτε ποιες πολιτικές εφαρμόζονται σε έναν συγκεκριμένο υπολογιστή, μπορούν να χρησιμοποιηθούν εντολές όπως το Get-DomainGPO
.
OUs με Εφαρμοσμένη Πολιτική: Η αναγνώριση οργανωτικών μονάδων (OUs) που επηρεάζονται από μια δεδομένη πολιτική μπορεί να γίνει χρησιμοποιώντας το Get-DomainOU
.
Τα κακώς διαμορφωμένα GPO μπορούν να εκμεταλλευτούν για την εκτέλεση κώδικα, για παράδειγμα, δημιουργώντας μια άμεση προγραμματισμένη εργασία. Αυτό μπορεί να γίνει για να προστεθεί ένας χρήστης στην τοπική ομάδα διαχειριστών σε επηρεαζόμενες μηχανές, σημαντικά αυξάνοντας τα προνόμια:
Το module GroupPolicy, εάν είναι εγκατεστημένο, επιτρέπει τη δημιουργία και σύνδεση νέων GPO, καθώς και την ρύθμιση προτιμήσεων όπως οι τιμές μητρώου για την εκτέλεση backdoors στους επηρεαζόμενους υπολογιστές. Αυτή η μέθοδος απαιτεί την ενημέρωση του GPO και έναν χρήστη να συνδεθεί στον υπολογιστή για την εκτέλεση:
Το SharpGPOAbuse προσφέρει μια μέθοδο για την κατάχρηση των υπαρχόντων GPO προσθέτοντας εργασίες ή τροποποιώντας ρυθμίσεις χωρίς την ανάγκη δημιουργίας νέων GPO. Αυτό το εργαλείο απαιτεί τροποποίηση των υπαρχόντων GPO ή τη χρήση εργαλείων RSAT για τη δημιουργία νέων πριν από την εφαρμογή αλλαγών:
Οι ενημερώσεις GPO συνήθως συμβαίνουν κάθε 90 λεπτά. Για να επιταχυνθεί αυτή η διαδικασία, ειδικά μετά την εφαρμογή μιας αλλαγής, μπορεί να χρησιμοποιηθεί η εντολή gpupdate /force
στον στόχο υπολογιστή για να αναγκάσει μια άμεση ενημέρωση πολιτικής. Αυτή η εντολή διασφαλίζει ότι οποιεσδήποτε τροποποιήσεις στα GPO εφαρμόζονται χωρίς να περιμένουν τον επόμενο αυτόματο κύκλο ενημέρωσης.
Κατά την επιθεώρηση των Προγραμματισμένων Εργασιών για ένα συγκεκριμένο GPO, όπως η Misconfigured Policy
, μπορεί να επιβεβαιωθεί η προσθήκη εργασιών όπως η evilTask
. Αυτές οι εργασίες δημιουργούνται μέσω σεναρίων ή εργαλείων γραμμής εντολών που στοχεύουν να τροποποιήσουν τη συμπεριφορά του συστήματος ή να κλιμακώσουν τα δικαιώματα.
Η δομή της εργασίας, όπως φαίνεται στο αρχείο XML ρύθμισης που δημιουργείται από το New-GPOImmediateTask
, περιγράφει τις λεπτομέρειες της προγραμματισμένης εργασίας - συμπεριλαμβανομένης της εντολής που θα εκτελεστεί και των ενεργοποιητών της. Αυτό το αρχείο αντιπροσωπεύει πώς ορίζονται και διαχειρίζονται οι προγραμματισμένες εργασίες εντός των GPO, παρέχοντας μια μέθοδο για την εκτέλεση αυθαίρετων εντολών ή σεναρίων ως μέρος της επιβολής πολιτικής.
Τα GPO επιτρέπουν επίσης τη χειραγώγηση των μελών χρηστών και ομάδων στα συστήματα στόχους. Με την επεξεργασία των αρχείων πολιτικής Χρηστών και Ομάδων απευθείας, οι επιτιθέμενοι μπορούν να προσθέσουν χρήστες σε προνομιακές ομάδες, όπως η τοπική ομάδα administrators
. Αυτό είναι δυνατό μέσω της ανάθεσης δικαιωμάτων διαχείρισης GPO, που επιτρέπει την τροποποίηση των αρχείων πολιτικής για να περιλαμβάνουν νέους χρήστες ή να αλλάζουν τα μέλη ομάδων.
Το αρχείο XML ρύθμισης για Χρήστες και Ομάδες περιγράφει πώς εφαρμόζονται αυτές οι αλλαγές. Με την προσθήκη εγγραφών σε αυτό το αρχείο, συγκεκριμένοι χρήστες μπορούν να αποκτήσουν ανυψωμένα δικαιώματα σε επηρεαζόμενα συστήματα. Αυτή η μέθοδος προσφέρει μια άμεση προσέγγιση για την κλιμάκωση δικαιωμάτων μέσω της χειραγώγησης GPO.
Επιπλέον, μπορούν να εξεταστούν πρόσθετες μέθοδοι για την εκτέλεση κώδικα ή τη διατήρηση της επιμονής, όπως η εκμετάλλευση σεναρίων σύνδεσης/αποσύνδεσης, η τροποποίηση κλειδιών μητρώου για αυτόματες εκκινήσεις, η εγκατάσταση λογισμικού μέσω αρχείων .msi ή η επεξεργασία ρυθμίσεων υπηρεσιών. Αυτές οι τεχνικές παρέχουν διάφορες οδούς για τη διατήρηση πρόσβασης και τον έλεγχο των συστημάτων στόχων μέσω της κακής χρήσης των GPO.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)