mcpField
D
detecting-dcsync-attack-in-active-directory

detecting-dcsync-attack-in-active-directory

github.com/mukul975安全35.2k63 次安装8 周前更新
代码仓库

关于 detecting-dcsync-attack-in-active-directory

面向 Active Directory 安全团队的 DCSync 攻击检测技能,提供审计配置、事件与网络流量分析及后续凭据滥用排查步骤。

主要功能

  1. 01梳理合法域控制器来源
  2. 02配置 4662 事件审计
  3. 03监控目录复制权限访问
  4. 04识别非域控复制请求
  5. 05关联 RPC 流量与凭据滥用

适用场景

  1. 01调查 Active Directory 凭据窃取
  2. 02排查 Mimikatz 或 secretsdump 使用
  3. 03响应域内横向移动事件
  4. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

在 Active Directory 中检测 DCSync 攻击

何时使用

  • 在 Active Directory 环境中搜寻凭据窃取时
  • 在具有 Replicating Directory Changes 权限的账户被攻陷后
  • 在调查疑似使用 Mimikatz 或 Impacket secretsdump 的情况时
  • 在涉及使用域管理员凭据进行横向移动的事件响应期间
  • 在作为安全加固一部分审计 AD 复制权限时

前提条件

  • 启用了事件 ID 4662(对象访问)的 Windows 安全事件日志
  • 启用了高级审计策略:审核目录服务访问
  • 域控制器事件转发到 SIEM
  • 了解合法域控制器主机名和 IP
  • 在域对象上使用 SACL 进行目录服务访问审计

工作流

  1. 识别合法复制源:按主机名、IP 和计算机账户记录环境中的所有域控制器。只有这些才应执行目录复制。
  2. 启用所需审计:配置高级审计策略,以在域控制器上捕获事件 ID 4662,并针对复制权限进行特定 GUID 监控。
  3. 监控复制权限访问:跟踪对三个关键 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)。
  4. 检测非 DC 复制请求:当任何与域控制器无关的账户请求复制权限时发出警报。
  5. 与网络流量关联:DCSync 会从攻击者的机器向 DC 生成复制流量(MS-DRSR/RPC)。监控来自非 DC IP 地址的 DrsGetNCChanges RPC 调用。
  6. 调查来源上下文:检查发起复制请求的进程、用户账户和机器。
  7. 检查凭据滥用:在检测到 DCSync 后,审计随后对提取的哈希的使用(传递哈希、创建黄金票据)。

关键概念

概念描述
T1003.006操作系统凭据转储:DCSync
DCSync模拟域控制器复制以提取凭据
DsGetNCChanges用于请求 AD 复制数据的 RPC 函数
DS-Replication-Get-Changes所需的 AD 权限(GUID:1131f6aa-...)
DS-Replication-Get-Changes-All包含机密属性的权限(GUID:1131f6ad-...)
MS-DRSRMicrosoft 目录复制服务远程协议
KRBTGT HashDCSync 的主要目标,可用于黄金票据攻击
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

常见场景

  1. Mimikatz DCSync:具有域管理员权限的攻击者运行 lsadump::dcsync /user:krbtgt 以提取 KRBTGT 哈希来创建黄金票据。
  2. Impacket secretsdump:通过 secretsdump.py domain/user:password@dc-ip 进行远程 DCSync,提取所有域哈希。
  3. 委派复制权限:攻击者通过 ACL 修改为自己授予 Replicating Directory Changes 权限,然后执行 DCSync。
  4. Azure AD Connect 滥用:攻陷具有合法复制权限的 Azure AD Connect 服务账户。
  5. DSInternals PowerShell:使用 Get-ADReplAccount cmdlet 复制特定账户凭据。

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