news 2026/9/13 4:53:55

基于 Sysmon 与 SIEM 检测 Windows 凭据转储技术:从 GrantedAccess 位掩码到 MITRE ATTCK T1003 全链路实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 Sysmon 与 SIEM 检测 Windows 凭据转储技术:从 GrantedAccess 位掩码到 MITRE ATTCK T1003 全链路实战

基于 Sysmon 与 SIEM 检测 Windows 凭据转储技术:从 GrantedAccess 位掩码到 MITRE ATT&CK T1003 全链路实战

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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

导读

本指南以 Anthropic-Cybersecurity-Skills 仓库中的detecting-credential-dumping-techniques技能为骨架,系统讲解如何检测 Windows/Active Directory 环境中的凭据转储(Credential Dumping,MITRE ATT&CK T1003)行为:包括针对 LSASS 内存访问的 Sysmon Event ID 10(ProcessAccess)检测、reg.exe导出 SAM/SECURITY/SYSTEM 注册表 hive、ntdsutil/vssadmin窃取 NTDS.dit,以及comsvcs.dllMiniDump 滥用。读者将掌握 GrantedAccess 位掩码的解读方法、Splunk SPL 与 Elastic KQL 检测查询的编写,并理解仓库内 agent.py 检测引擎的源码级实现原理,可直接落地到 SOC 告警与威胁狩猎流程。

该技能位于仓库的 threat-detection 子域,属于 817 个结构化网络安全技能之一,同时映射到 MITRE ATT&CK、NIST CSF 2.0、D3FEND 与 MITRE F3 多套框架。本文以技能主文档 SKILL.md 与西语版 SKILL.es.md 为核心,结合 api-reference.md 中的事件字段与查询示例,以及agent.py的具体实现展开深度解析。

技能定位:检测四类典型凭据转储手法

凭据转储(T1003)是攻击者在后渗透阶段提取身份验证凭据的典型技术,来源包括操作系统内存、注册表 hive 与域控数据库。本技能覆盖以下四种检测场景:

  1. LSASS 内存访问:通过 Sysmon Event ID 10(ProcessAccess)捕获针对lsass.exe的进程访问;
  2. 注册表 hive 导出:通过reg.exe save命令识别 SAM/SECURITY/SYSTEM hive 的批量导出;
  3. NTDS.dit 提取:通过ntdsutil/vssadmin命令识别域控数据库与卷影副本的创建;
  4. comsvcs.dll MiniDump 滥用:识别通过rundll32加载comsvcs.dll转储 LSASS 进程内存的手法。

检测规则的核心逻辑围绕三条线索展开:GrantedAccess 位掩码(进程访问权限)、可疑调用进程(SourceImage/CommandLine)以及已知工具的签名特征(如 Mimikatz 的 ntdll CallTrace)。

框架映射:一个技能,多套框架

技能 frontmatter(见 SKILL.md)声明了完整的框架映射关系,便于在合规审计与安全覆盖评估中使用:

框架映射条目
MITRE ATT&CKT1078、T1190、T1059、T1003、T1110
NIST CSF 2.0DE.CM-01、DE.AE-02、DE.AE-06、ID.RA-05
MITRE D3FENDToken Binding、Execution Isolation、File Metadata Consistency Validation、Restore Access、Application Protocol Command Analysis
MITRE F3T1555、T1555.003、T1539、F1006.002、T1110.002

主文档还声明了d3fend_techniquesnist_csf等字段,说明该技能不仅面向攻击检测,也可用于防御措施映射与合规覆盖核对。

前置条件

在部署检测之前,需要满足以下环境要求:

  • Sysmon v14+:已部署并开启 ProcessAccess(Event ID 10)日志,目标为lsass.exe
  • Windows 安全审计策略:启用进程创建审计(Event ID 4688)并开启命令行记录(Command Line logging);
  • SIEM 平台:Splunk 或 Elastic,用于摄取 Sysmon 与 Windows Security 日志;
  • Python 3.8+:用于运行仓库中的日志分析脚本 agent.py。

核心检测原理:Sysmon Event ID 10 的 GrantedAccess 位掩码

Sysmon Event ID 10(ProcessAccess)记录一个进程打开另一个进程句柄的行为。对于凭据转储检测,lsass.exeC:\Windows\System32\lsass.exe)是最关键的受保护目标——Mimikatz 等工具正是通过打开 LSASS 进程句柄并读取其内存来提取明文凭据与 NTLM 哈希。

根据 api-reference.md,Event ID 10 的关键字段如下:

字段含义
SourceImage访问 LSASS 的进程路径
SourceProcessId访问进程的 PID
TargetImage应为C:\Windows\System32\lsass.exe
GrantedAccess访问权限位掩码
CallTrace该次访问的 DLL 调用栈

可疑 GrantedAccess 值速查表

不同工具的进程句柄打开方式对应不同的权限位掩码,这是检测规则的核心判别依据:

位掩码含义关联工具
0x1010VM_READ + QUERY_LIMITEDMimikatz
0x1410VM_READ + QUERY_INFOProcDump
0x1FFFFFPROCESS_ALL_ACCESS(完全访问)各类 dump 工具
0x1438VM_READ + QUERY + DUP_HANDLECobalt Strike
0x40仅 DUP_HANDLE句柄复制(间接访问)

注意:并非所有指向 LSASS 的访问都是恶意的。合法的系统进程(如csrss.exesvchost.exe)以及调试、安全工具也会访问 LSASS。因此检测规则必须同时过滤合法调用者,并结合位掩码与调用进程综合判断。

七步实战检测流程

技能主文档给出了完整的落地流程,共七步:

第 1 步:配置 Sysmon 记录针对 lsass.exe 的 ProcessAccess

在 Sysmon 配置中启用 Event ID 10 过滤规则,确保对lsass.exe的进程访问产生日志。事件包含GrantedAccessCallTrace等关键字段,供后续规则分析使用。

第 2 步:将 Sysmon EID 10 与 Windows EID 4688 转发至 SIEM

将 Sysmon 日志与 Windows Security 日志(进程创建 4688,含命令行)统一转发至 Splunk 或 Elastic,保证内存访问事件与命令执行事件可关联分析。

第 3 步:为已知 GrantedAccess 模式创建检测规则

重点关注0x1010(Mimikatz 风格)与0x1FFFFF(完全访问)等高危位掩码,同时兼顾0x14100x1438

第 4 步:检测 comsvcs.dll MiniDump 与 procdump.exe 针对 LSASS PID

rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump <lsass_pid> dump.bin full是典型的免提权 LSASS 转储手法,通过进程创建事件(EID 1/4688)的命令行即可识别。

第 5 步:对 reg.exe 的 SAM/SECURITY/SYSTEM hive 导出命令告警

reg save hklm\sam ...等命令可直接导出注册表 hive,进而离线提取哈希,属于 T1003.002。

第 6 步:检测 ntdsutil/vssadmin 卷影副本创建以窃取 NTDS.dit

ntdsutilIFM 创建与vssadmin create shadow是提取 NTDS.dit(域数据库)的典型路径,属于 T1003.003。

第 7 步:结合用户/主机上下文进行风险评分

将检测结果与用户身份、主机角色、时间等因素关联,区分误报与真实威胁,提升告警可操作性。

命令行模式:Event ID 1 / 4688 中的凭据窃取特征

api-reference.md 给出了三类核心命令行模式,可作为正则检测的基础:

# SAM hive 导出 reg save hklm\sam C:\temp\sam.hiv reg save hklm\security C:\temp\security.hiv reg save hklm\system C:\temp\system.hiv # comsvcs.dll LSASS 转储 rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump <lsass_pid> dump.bin full # NTDS.dit 提取 ntdsutil "activate instance ntds" ifm "create full C:\temp" vssadmin create shadow /for=C:

在 agent.py 中,这些模式被形式化为SAM_EXPORT_PATTERNSCOMSVCS_PATTERNS两组合法正则(见 scripts/agent.py):

SAM_EXPORT_PATTERNS = [ r"reg\s+save\s+hklm\\sam", r"reg\s+save\s+hklm\\security", r"reg\s+save\s+hklm\\system", r"esentutl.*ntds\.dit", r"ntdsutil.*\"activate instance ntds\"", r"vssadmin\s+create\s+shadow", r"copy\s+\\\\.*\\c\$.*ntds\.dit", r"secretsdump", ] COMSVCS_PATTERNS = [ r"comsvcs\.dll.*MiniDump", r"comsvcs\.dll.*#24", r"rundll32.*comsvcs", ]

可见该技能不仅覆盖reg saventdsutilvssadmin等基础手法,还纳入了esentutl提取 NTDS.dit、secretsdump(Impacket 系工具)与comsvcs.dll #24(导出符号编号调用形式)等进阶变体,从源码结构看,这些正则构成了规则引擎的底层模式库。

Splunk SPL 检测查询

api-reference.md 提供了三组核心 SPL 查询,agent.py 的generate_splunk_queries()还补充了第四组 NTDS 提取查询(见 scripts/agent.py):

LSASS 访问检测(EID 10)

index=sysmon EventCode=10 TargetImage="*\\lsass.exe" GrantedAccess IN ("0x1010","0x1FFFFF","0x1410","0x1438") SourceImage!="*\\csrss.exe" SourceImage!="*\\svchost.exe" | stats count by SourceImage, GrantedAccess, Computer, User | sort -count

要点:命中高危位掩码集合,同时排除csrss.exesvchost.exe等合法调用者,再按来源进程聚合统计。

comsvcs.dll MiniDump 检测(EID 1)

index=sysmon EventCode=1 (CommandLine="*comsvcs*MiniDump*" OR CommandLine="*comsvcs*#24*") | table _time, Computer, User, ParentImage, CommandLine

SAM/SECURITY hive 导出检测(EID 1)

index=sysmon EventCode=1 Image="*\\reg.exe" (CommandLine="*save*hklm\\sam*" OR CommandLine="*save*hklm\\security*") | table _time, Computer, User, CommandLine

NTDS.dit 提取检测(agent.py 补充)

index=sysmon EventCode=1 (CommandLine="*ntdsutil*" OR CommandLine="*vssadmin*create*shadow*") | table _time, Computer, User, CommandLine

Elastic / KQL 检测查询

对应 Elastic 平台的两组 KQL 查询(api-reference.md):

Elastic 中的 LSASS 访问

event.code: "10" AND winlog.event_data.TargetImage: *lsass.exe AND winlog.event_data.GrantedAccess: ("0x1010" OR "0x1FFFFF")

含凭据窃取命令的进程创建

event.code: "1" AND (process.command_line: *comsvcs*MiniDump* OR process.command_line: *reg*save*hklm\\sam*)

源码级实现:agent.py 检测引擎

仓库为技能提供了完整的可运行参考实现 scripts/agent.py,包含事件解析、三类检测逻辑与报告生成,可作为自研检测工具或 SIEM 规则的参考蓝本。

检测一:LSASS 内存访问(detect_lsass_access)

核心逻辑(agent.py):

  1. 筛选 Event ID 10 且TargetImage包含lsass.exe的事件;
  2. 检查GrantedAccess是否命中可疑位掩码字典LSASS_GRANTED_ACCESS_SUSPICIOUS
  3. 检查SourceImage文件名是否命中可疑调用者列表SUSPICIOUS_CALLERS(含mimikatzprocdumprundll32.exetaskmgr.exepowershell.execmd.exewmic.execscript.exewscript.exe);
  4. 严重级别判定:命中0x1FFFFF记为critical,其余位掩码为high;一旦调用者可疑,直接提升为critical

检测二:凭据窃取命令(detect_credential_commands)

针对 Event ID 1 或 4688 的事件(agent.py):

  • SAM_EXPORT_PATTERNS正则匹配命令行:命中且命令行含sam/security归类为T1003.002,否则归类为T1003.003
  • COMSVCS_PATTERNS正则匹配comsvcs转储:归类为T1003.001
  • 两类命中均标记为critical级别。

检测三:NTDLL 可疑调用栈(detect_ntdll_access)

从源码结构可以推断,这是针对 Mimikatz 特征的补充检测(agent.py):对 Event ID 10 的CallTrace字段做特征匹配——若同时包含ntdll.dllUNKNOWN(Mimikatz 注入式内存访问的典型调用栈特征),且目标为lsass.exe,则判定为 critical 级别告警。

事件解析与报告输出

parse_sysmon_xml()使用 Python 标准库xml.etree.ElementTree解析 Sysmon 导出的 Windows 事件 XML(命名空间http://schemas.microsoft.com/win/2004/08/events/event),提取 EventID、TimeCreated 与 EventData 全部字段(agent.py)。

最终报告为结构化 JSON,包含以下字段(agent.py):

  • analysis_time:分析时间戳;
  • total_events:解析的事件总数;
  • detections:按lsass_memory_accesscredential_export_commandsntdll_suspicious_calltrace三类分组的告警;
  • total_alerts:告警总数;
  • mitre_techniques:映射的技术列表(T1003.001、T1003.002、T1003.003);
  • splunk_queries:随报告附带的可复用 SPL 查询。

CLI 用法

# 分析 Sysmon XML 导出 python agent.py --sysmon-xml sysmon_events.xml --output cred_report.json # 打印 Splunk 检测查询 python agent.py --show-splunk

--show-splunk会直接输出四组 SPL 检测查询(lsass_accesscomsvcs_dumpsam_exportntds_extraction),便于在不运行分析的情况下快速获取查询模板。

MITRE ATT&CK 技术映射

子技术ID检测方法
LSASS 内存转储T1003.001Sysmon EID 10 GrantedAccess / CallTrace
安全账户管理器(SAM)T1003.002reg.exe save 命令
NTDST1003.003ntdsutil / vssadmin 命令
DCSyncT1003.006Event ID 4662 + 复制 GUID

其中 T1003.001 同时由 EID 10 位掩码与命令行模式两条路径覆盖;T1003.006(DCSync)属于域控复制行为检测,依赖 Windows Security 的 4662 事件与复制权限 GUID 关联。该技能所映射的 T1003 已被仓库的 MITRE ATT&CK 覆盖体系收录(见 coverage-summary.md)。

检测局限与误报缓解

基于技能文档与源码实现,检测规则存在以下已知边界,实战中需注意:

  1. 位掩码并非唯一证据0x1FFFFF等位掩码也会被调试器、EDR 代理、部分安全工具合法使用,必须结合调用者白名单(如csrss.exesvchost.exe)与业务上下文过滤;
  2. 进程注入与无文件手法:攻击者可先向可信进程注入代码,再借其句柄访问 LSASS,此时SourceImage表现为合法进程,需要依赖CallTrace中的UNKNOWN模块特征补充检测;
  3. 加密/混淆的命令行:部分工具可混淆命令行以绕过 EID 1/4688 字符串匹配,因此正则规则应与 EID 10 行为检测、EDR 遥测交叉验证;
  4. DCSync 检测依赖审计配置:T1003.006 需要提前启用对应复制事件的审计策略,否则存在检测盲区。

建议将上述四组检测作为关联规则组部署,并结合用户/主机上下文做风险评分,降低单点误报、提升告警置信度。

预期输出:检测报告示例

按技能「Expected Output」约定,最终产物为 JSON 格式检测报告。基于 agent.py 的输出结构,单条 LSASS 访问告警形如:

{ "detection": "LSASS Memory Access", "mitre_technique": "T1003.001", "timestamp": "2026-09-12T00:00:00.000000Z", "source_process": "C:\\temp\\mimikatz.exe", "source_pid": "4821", "target_process": "C:\\Windows\\System32\\lsass.exe", "granted_access": "0x1FFFFF", "call_trace": "ntdll.dll|...|UNKNOWN|...", "severity": "critical", "reasons": [ "Suspicious GrantedAccess 0x1FFFFF: PROCESS_ALL_ACCESS (full access to LSASS)", "Suspicious calling process: mimikatz.exe" ], "user": "CONTOSO\\admin", "host": "DC01" }

该报告包含技术分类、严重级别、进程细节、MITRE 映射与可复用的 Splunk/Elastic 查询,可直接供 SOC 分析师分诊或由 Agent 驱动后续调查。

延伸阅读

想继续深入本仓库,可结合 mappings/mitre-attack/coverage-summary.md 查看 ATT&CK 覆盖情况,或参考仓库中 detecting-dcsync-attack-in-active-directory 等 T1003 子技术专项技能,构建完整的凭据访问检测矩阵。

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 4:51:25

轻量级数据库客户端实战:从连接配置到SQL操作与数据迁移

简介&#xff1a;Datum - Lite.app 是一款面向数据库管理员与开发者的轻量级 macOS 桌面工具&#xff0c;主打可视化查看和管理数据库表格&#xff0c;提供增、删、改、查、查询构建器、数据导入导出、表结构设计等常用能力&#xff0c;可兼容 MySQL、PostgreSQL、SQLite 等主流…

作者头像 李华
网站建设 2026/9/13 4:51:10

JavaWeb教室管理系统:从数据库设计到预约冲突的实现解析

简介&#xff1a;一套基于JavaWeb的教室管理系统毕业设计资源&#xff0c;面向计算机相关专业正在准备毕设的学生及需要项目实战的Java学习者。系统采用JSP、Servlet、JDBC与MySQL实现&#xff0c;基于B/S结构&#xff0c;包含管理员、学生两种角色&#xff0c;覆盖管理员管理、…

作者头像 李华
网站建设 2026/9/13 4:51:08

DynamicVLA:轻量级跨平台动态物体操控框架解析

1. 项目概述&#xff1a;DynamicVLA的革新价值在机器人控制和自动化领域&#xff0c;动态物体操控一直是个硬骨头。传统方案往往需要针对不同平台、不同物体特性定制开发控制算法&#xff0c;开发周期长且泛化能力差。DynamicVLA的出现彻底改变了这一局面——这个仅用0.4B参数的…

作者头像 李华
网站建设 2026/9/13 4:48:13

Linux下用sed和xxd处理二进制文件的技巧

1. 项目概述&#xff1a;二进制文件与sed的奇妙碰撞在Linux系统管理中&#xff0c;我们经常使用sed命令处理文本文件&#xff0c;但很少有人意识到这个强大的流编辑器还能操作二进制文件。传统认知中&#xff0c;sed是文本处理工具&#xff0c;而二进制文件似乎属于hexdump或xx…

作者头像 李华
网站建设 2026/9/13 4:47:24

GPT-4到智能体的技术跃迁与多模态AI发展

1. 大模型技术演进全景&#xff1a;从GPT-4到智能体的关键跃迁2023年GPT-4的发布标志着大语言模型&#xff08;LLM&#xff09;进入工业化应用阶段&#xff0c;而2024年GPT-4o的推出则彻底改写了多模态交互的规则手册。作为从业者&#xff0c;我亲历了从单模态文本处理到全模态…

作者头像 李华