ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DCSync 攻击检测实战指南:基于 Event 4662 与复制权限审计的 Active Directory 凭据窃取狩猎

DCSync 攻击检测实战指南:基于 Event 4662 与复制权限审计的 Active Directory 凭据窃取狩猎 DCSync 攻击检测实战指南基于 Event 4662 与复制权限审计的 Active Directory 凭据窃取狩猎【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-SkillsDCSync 是 MITRE ATTCK T1003.006OS Credential Dumping: DCSync定义的凭据窃取技术攻击者通过模拟域控制器发起目录复制直接提取域内账户密码哈希。本篇指南以 Anthropic-Cybersecurity-Skills 仓库中的detecting-dcsync-attack-in-active-directory技能文档为核心系统讲解从复制权限枚举、审计策略部署、Splunk/KQL/Sigma 检测规则到应急响应与修复的完整狩猎工作流并结合仓库配套的 Python 检测脚本源码让读者掌握一套可落地、可自动化、可复用的 DCSync 检测与取证方案。DCSync 攻击原理与检测基石DCSync 攻击的本质是滥用 Active Directory 的复制权限。AD 域控之间通过 MS-DRSRMicrosoft Directory Replication Service Remote Protocol协议同步目录数据合法复制方域控、Azure AD Connect 等持有复制目录更改权限。攻击者在获得足够权限后通常是 Domain Admin 或具有复制权限的账户会伪装成域控发起DsGetNCChangesRPC 调用从目标域控拉取包括krbtgt、Domain Admin 在内的全部账户密码哈希。仓库技能文档 SKILL.md 将其明确定位为威胁狩猎threat-hunting技能对应 MITRE ATTCK T1003.006并关联了 D3FEND 的 Application Protocol Command Analysis、Network Traffic Analysis 等防御技术以及 NIST CSF 的 DE.CM-01、DE.AE-02 等检测能力项。三个关键复制权限 GUID检测 DCSync 的核心是监控域对象上三个复制相关权限GUID的访问记录。文档在 api-reference.md 中给出了完整定义GUID权限名称风险等级1131f6aa-9c07-11d1-f79f-00c04fc2dcd2DS-Replication-Get-Changes复制目录更改执行 DCSync 的最低要求1131f6ad-9c07-11d1-f79f-00c04fc2dcd2DS-Replication-Get-Changes-All复制目录更改所有项包含密码等机密属性风险最高89e95b76-444d-4c62-991a-0facbeda640cDS-Replication-Get-Changes-In-Filtered-Set复制筛选集部分复制权限常被用于规避检测其中DS-Replication-Get-Changes-All覆盖机密属性是攻击者提取密码哈希最常用的权限——Mimikatzlsadump::dcsync /user:krbtgt与 Impacketsecretsdump.py的底层原理正是请求该权限发起复制。关键 Event ID 与检测信号Event ID来源检测用途4662安全日志目录服务对象访问——DCSync 主检测事件4624安全日志成功登录——关联复制请求的来源主机4672安全日志分配特殊权限管理员登录4738安全日志用户账户更改权限授予5136安全日志目录服务对象修改ACL 变更如攻击者自授复制权限第一阶段枚举合法复制账户建立检测基线检测 DCSync 前必须先建立合法基线——明确环境中哪些账户有权发起复制避免把正常域控复制误报为攻击。Step 1.1 列出所有域控Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, OperatingSystem记录每个域控的主机名、IPv4 地址与操作系统版本。合法域控的计算机账户名以$结尾这是后续检测规则中最重要的排除条件。Step 1.2 查找持有复制权限的账户Import-Module ActiveDirectory $rootDSE Get-ADRootDSE $domainDN $rootDSE.defaultNamingContext $acl Get-Acl AD:\$domainDN $acl.Access | Where-Object { $_.ObjectType -eq 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 -or $_.ObjectType -eq 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 } | Select-Object IdentityReference, ActiveDirectoryRights, ObjectType这段命令读取域根对象的 DACL访问控制列表筛出对两个复制 GUID 拥有权限的账户。这是 workflows.md 中 Phase 1 的核心步骤输出结果应纳入已知白名单。Step 1.3 用 BloodHound 查询 DCSync 权限路径MATCH p(n)-[:GetChanges|GetChangesAll]-(d:Domain) WHERE NOT n:Domain RETURN n.name, labels(n)BloodHound 可将所有具备GetChanges/GetChangesAll权限的账户及可达的攻击路径可视化是审计复制权限面、发现过度授权账户的高效手段。合法复制来源识别表standards.md 汇总了需要纳入白名单的合法来源及其区分特征来源原因区分方法域控制器正常 AD 复制计算机账户以$结尾Azure AD Connect混合身份同步MSOL_服务账户备份软件AD 备份操作已文档化的服务账户迁移工具跨森林迁移临时的、已文档化的操作第二阶段部署检测审计策略与 SACLStep 2.1 启用目录服务访问审计auditpol /set /subcategory:Directory Service Access /success:enable /failure:enable必须在所有域控上启用Directory Service Access高级审计策略否则不会产生 Event 4662。Step 2.2 在域对象上配置 SACL在域根对象上配置系统访问控制列表SACL监控以下访问Control Access权限对应复制权限检查复制 GUID的访问上述三个 GUID主体为Everyone 或 Authenticated UsersSACL 配置可通过组策略Advanced Audit Policy → DS Access或 PowerShell 的Set-Acl完成。此步骤与 Event 4662 的产生直接相关只有被 SACL 标记的对象访问才会写入安全日志。第三阶段主动监控SIEM 实时检测Step 3.1 Splunk 实时检测 Event 4662indexwineventlog sourceWinEventLog:Security EventCode4662 | rex fieldProperties (?guid\{[0-9a-f-]\}) | where guid IN ({1131f6aa-9c07-11d1-f79f-00c04fc2dcd2}, {1131f6ad-9c07-11d1-f79f-00c04fc2dcd2}, {89e95b76-444d-4c62-991a-0facbeda640c}) | lookup dc_accounts SubjectUserName OUTPUT is_dc | where is_dc!true | eval alert_severityCRITICAL | table _time SubjectUserName SubjectDomainName Computer guid alert_severity关键逻辑从Properties字段提取 GUID → 命中任一复制 GUID → 用dc_accounts查找表过滤掉合法域控 → 剩余的全部判为CRITICAL告警。SKILL.md 还提供了一个更严格的变体——用where NOT match(SubjectUserName, .*\\$$)排除所有$结尾的计算机账户并用stats ... by SubjectUserName按账户聚合去重。Step 3.2 网络层检测 DsGetNCChanges RPCindexzeek sourcetypedce_rpc | where operationDRSGetNCChanges | lookup domain_controllers src_ip OUTPUT is_dc | where is_dc!true | table _time src_ip dst_ip operation网络层检测通过 Zeek 的 DCE_RPC 日志监控DRSGetNCChanges操作任何非域控 IP发起的DRSGetNCChanges调用都值得高度关注。SKILL.md 的工作流第 5 步也明确指出 DCSync 会从攻击者机器到域控产生 MS-DRSR/RPC 复制流量网络层与主机层4662互为印证可有效降低误报。KQLMicrosoft Sentinel检测规则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该规则除排除$计算机账户外还显式排除了AzureADConnect与MSOL_*混合身份同步账户避免 Azure AD Connect 的合法复制行为产生误报。Sigma 规则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.006Sigma 规则可无缝移植到 Elastic、Splunk、QRadar 等任意支持 Sigma 的 SIEM作为跨平台检测能力基线。第四阶段调查取证确认来源与影响Step 4.1 关联 4624 定位来源机器将 Event 4662 与 Event 4624成功登录关联确认发起复制的真实工作站indexwineventlog EventCode4624 LogonType3 | where TargetUserName[suspected_account] | table _time TargetUserName IpAddress WorkstationName LogonTypeLogonType3表示网络登录——DCSync 通常通过远程 RPC 触发源 IP 与工作站名即攻击者机器的位置证据。Step 4.2 检查后续凭据滥用indexwineventlog EventCode4769 | where ServiceNamekrbtgt | where TicketEncryptionType0x17 | table _time TargetUserName ServiceName IpAddress TicketEncryptionTypeServiceNamekrbtgt的0x17RC4类型服务票据申请是黄金票据伪造的前兆信号——DCSync 窃取 KRBTGT 哈希的直接目的。结合 template.md 中的Post-DCSync Impact Assessment检查表逐项评估 KRBTGT 哈希是否泄露、Domain Admin 哈希是否被提取、是否具备黄金票据创建条件。第五阶段应急响应与修复Step 5.1 立即遏制立即禁用被入侵的账户两次轮换 KRBTGT 密码间隔 12 小时——这是黄金票据失效的唯一手段重置所有服务账户密码在网络层封锁来源 IP隔离来源机器进行取证Step 5.2 修复与加固移除未授权的复制权限复查所有具备 DCSync 能力的账户实施分层管理模型tiered administration model启用 Microsoft Defender for Identity 的 DCSync 告警将管理员账户纳入 Protected Users 安全组检测结果输出模板SKILL.md 定义了标准化的狩猎输出格式便于上报与追踪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]仓库配套工具自动化 DCSync 检测脚本仓库为本技能提供了两个 Python 脚本可将上述工作流自动化agent.pyEVTX 解析与检测scripts/agent.py 直接解析 Windows Security 事件日志 EVTX 文件依赖python-evtx内置与文档一致的REPLICATION_GUIDS字典第 18-22 行并在解析 Event 4662 时执行文档规定的白名单逻辑python agent.py --security-log Security.evtx --dc-accounts known_dcs.txt python agent.py --generate-sigma python agent.py --check-perms其实现细节印证了文档中的检测逻辑通过正则提取Properties、SubjectUserName、SubjectDomainName、SubjectLogonId、ObjectName、SystemTime等字段对$结尾的计算机账户只有在dc_accounts白名单内才放行第 75-81 行依据权限严重度分级DS-Replication-Get-Changes-All相关检测判HIGH机器账户或CRITICAL用户账户每条检测记录自动附上mitre: T1003.006标签便于 SIEM 关联--generate-sigma直接生成与文档一致的 Sigma 规则 JSON--check-perms输出复制权限审计的 PowerShell 查询。process.py批量狩猎与报告生成scripts/process.py 支持从 JSON/CSV 导入事件数据运行完整狩猎并生成报告python process.py --input events.json --dc-list known_dcs.txt --output ./dcsync_hunt_output它按文档输出格式生成dcsync_findings.json与dcsync_report.md两份产物其中hunt_id遵循TH-DCSYNC-YYYY-MM-DD规范严重度分级与 agent.py 一致命中DS-Replication-Get-Changes-All判CRITICAL其余复制权限判HIGH第 85-87 行。常见攻击场景与对抗手法文档与 SKILL.md 归纳了以下高频场景检测时应有针对性地覆盖Mimikatz DCSync攻击者以 Domain Admin 权限执行lsadump::dcsync /user:krbtgt提取 KRBTGT 哈希用于黄金票据。Impacket secretsdump远程 DCSyncsecretsdump.py domain/user:passworddc-ip一次性提取全部域哈希。委派复制权限攻击者先通过 ACL 修改给自己授予复制目录更改权限对应 Event 5136/4738再执行 DCSync——此时应联动监控 ACL 变更。Azure AD Connect 滥用入侵本身拥有合法复制权限的 Azure AD Connect 服务账户白名单失效风险最高。DSInternalsGet-ADReplAccount复制指定账户凭据攻击面更隐蔽。已知利用 DCSync 的威胁组织standards.md 记录了曾使用 DCSync 的知名威胁组织可用于威胁情报关联与优先级排序组织背景APT29Cozy BearSolarWinds 供应链攻击中使用 DCSyncFIN6零售/酒店行业凭据收割Wizard SpiderTrickBot/Conti 勒索软件加密前 DCSyncAPT28Fancy Bear政府网络入侵LAPSUS$AD 入侵后 DCSync 窃取数据项目级参考ATTCK 覆盖与技能生态在仓库整体视角下DCSync 检测是覆盖面最广的检测技能之一根据 mappings/README.md 的统计T1003.006DCSync在全部技能中排名前十13 个技能引用对应的 attack-navigator-layer.json 中T1003.006 以深蓝色11 技能引用呈现表明 DCSync 检测在安全社区的高优先级。技能文档关联了 D3FENDApplication Protocol Command Analysis、Network Traffic Analysis 等与 NIST CSFDE.CM-01、DE.AE-02框架映射读者可参考 CITATION.cff 与 index.json 了解本技能在 817 个网络安全技能体系中的定位并按 tools/README.md 中的 agentskills 标准校验技能元数据。结语DCSync 攻击检测的关键在于三层协同权限基线枚举合法复制账户、日志审计Event 4662 SACL、多源印证4662 主机事件 DsGetNCChanges 网络事件。本文给出的 PowerShell 基线枚举、Splunk/KQL/Sigma 检测规则、调查取证关联查询以及应急响应流程均可直接套用于生产环境仓库配套的 agent.py 与 process.py 则让整个检测闭环解析→白名单过滤→分级告警→报告生成实现全自动化值得作为威胁狩猎自动化的起点。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表