关于 detecting-dcsync-attack-in-active-directory
面向 Active Directory 安全团队的 DCSync 攻击检测技能,提供审计配置、事件与网络流量分析及后续凭据滥用排查步骤。
主要功能
- 01梳理合法域控制器来源
- 02配置 4662 事件审计
- 03监控目录复制权限访问
- 04识别非域控复制请求
- 05关联 RPC 流量与凭据滥用
适用场景
- 01调查 Active Directory 凭据窃取
- 02排查 Mimikatz 或 secretsdump 使用
- 03响应域内横向移动事件
- 04审计目录复制权限
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill detecting-dcsync-attack-in-active-directory安装后在 Claude Code 中输入/detecting-dcsync-attack-in-active-directory确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
在 Active Directory 中检测 DCSync 攻击
何时使用
- 在 Active Directory 环境中搜寻凭据窃取时
- 在具有 Replicating Directory Changes 权限的账户被攻陷后
- 在调查疑似使用 Mimikatz 或 Impacket secretsdump 的情况时
- 在涉及使用域管理员凭据进行横向移动的事件响应期间
- 在作为安全加固一部分审计 AD 复制权限时
前提条件
- 启用了事件 ID 4662(对象访问)的 Windows 安全事件日志
- 启用了高级审计策略:审核目录服务访问
- 域控制器事件转发到 SIEM
- 了解合法域控制器主机名和 IP
- 在域对象上使用 SACL 进行目录服务访问审计
工作流
- 识别合法复制源:按主机名、IP 和计算机账户记录环境中的所有域控制器。只有这些才应执行目录复制。
- 启用所需审计:配置高级审计策略,以在域控制器上捕获事件 ID 4662,并针对复制权限进行特定 GUID 监控。
- 监控复制权限访问:跟踪对三个关键 GUID 的访问 -- DS-Replication-Get-Changes(1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)、DS-Replication-Get-Changes-All(1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)和 DS-Replication-Get-Changes-In-Filtered-Set(89e95b76-444d-4c62-991a-0facbeda640c)。
- 检测非 DC 复制请求:当任何与域控制器无关的账户请求复制权限时发出警报。
- 与网络流量关联:DCSync 会从攻击者的机器向 DC 生成复制流量(MS-DRSR/RPC)。监控来自非 DC IP 地址的 DrsGetNCChanges RPC 调用。
- 调查来源上下文:检查发起复制请求的进程、用户账户和机器。
- 检查凭据滥用:在检测到 DCSync 后,审计随后对提取的哈希的使用(传递哈希、创建黄金票据)。
关键概念
| 概念 | 描述 |
|---|---|
| T1003.006 | 操作系统凭据转储:DCSync |
| DCSync | 模拟域控制器复制以提取凭据 |
| DsGetNCChanges | 用于请求 AD 复制数据的 RPC 函数 |
| DS-Replication-Get-Changes | 所需的 AD 权限(GUID:1131f6aa-...) |
| DS-Replication-Get-Changes-All | 包含机密属性的权限(GUID:1131f6ad-...) |
| MS-DRSR | Microsoft 目录复制服务远程协议 |
| KRBTGT Hash | DCSync 的主要目标,可用于黄金票据攻击 |
| Event ID 4662 | 目录服务对象访问审计事件 |
工具与系统
| 工具 | 用途 |
|---|---|
| Mimikatz (lsadump::dcsync) | 主要 DCSync 攻击工具 |
| Impacket secretsdump.py | 基于 Python 的 DCSync 实现 |
| DSInternals | 用于 AD 复制的 PowerShell 模块 |
| BloodHound | 映射具有复制权限的账户 |
| Splunk / Elastic | 对 4662 事件进行 SIEM 关联 |
| Microsoft Defender for Identity | 原生 DCSync 检测 |
| CrowdStrike Falcon | 基于 EDR 的 DCSync 检测 |
检测查询
Splunk -- 通过事件 4662 检测 DCSync
index=wineventlog EventCode=4662
| where Properties IN ("*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*",
"*1131f6ad-9c07-11d1-f79f-00c04fc2dcd2*",
"*89e95b76-444d-4c62-991a-0facbeda640c*")
| where NOT match(SubjectUserName, ".*\\$$")
| where NOT SubjectUserName IN ("known_svc_account1", "known_svc_account2")
| stats count values(Properties) as ReplicationRights by SubjectUserName SubjectDomainName Computer
| where count > 0
| table SubjectUserName SubjectDomainName Computer count ReplicationRights
KQL -- Microsoft Sentinel DCSync 检测
SecurityEvent
| where EventID == 4662
| where Properties has "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2"
or Properties has "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2"
| where SubjectUserName !endswith "$"
| where SubjectUserName !in ("AzureADConnect", "MSOL_*")
| project TimeGenerated, SubjectUserName, SubjectDomainName, Computer, Properties
| sort by TimeGenerated desc
Sigma 规则 -- DCSync 活动
title: DCSync Activity Detected - Non-DC Replication Request
status: stable
logsource:
product: windows
service: security
detection:
selection:
EventID: 4662
Properties|contains:
- '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'
- '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2'
filter_dc:
SubjectUserName|endswith: '$'
condition: selection and not filter_dc
level: critical
tags:
- attack.credential_access
- attack.t1003.006
常见场景
- Mimikatz DCSync:具有域管理员权限的攻击者运行
lsadump::dcsync /user:krbtgt以提取 KRBTGT 哈希来创建黄金票据。 - Impacket secretsdump:通过
secretsdump.py domain/user:password@dc-ip进行远程 DCSync,提取所有域哈希。 - 委派复制权限:攻击者通过 ACL 修改为自己授予 Replicating Directory Changes 权限,然后执行 DCSync。
- Azure AD Connect 滥用:攻陷具有合法复制权限的 Azure AD Connect 服务账户。
- DSInternals PowerShell:使用
Get-ADReplAccountcmdlet 复制特定账户凭据。
Output Format
Hunt ID: TH-DCSYNC-[DATE]-[SEQ]
Alert Severity: Critical
Source Account: [Account requesting replication]
Source Machine: [Hostname/IP of requestor]
Target DC: [Domain controller receiving request]
Replication Rights: [GUIDs accessed]
Timestamp: [Event time]
Legitimate DC: [Yes/No]
Known Service Account: [Yes/No]
Risk Assessment: [Critical - non-DC replication detected]
评论
支持 Markdown