这一节对应 14.4 - 14.7。WMI 更偏系统管理和事件订阅,适合做进程、服务、系统信息和安全事件的观察入口。和 ETW 相比,WMI 更接近“查询与订阅”,学习重点是 COM 初始化、命名空间连接、查询语句和事件回调。

1、内容范围

小节 主题 复盘重点
14.4 Windows Management Instrumentation WMI 的用途、命名空间、类和事件订阅
14.5 QueryInterface & Indication COM 接口查询、事件指示对象和回调理解
14.6 CoCreateInstance & Connect 创建 WMI 服务对象并连接命名空间
14.7 InstanceCreationEvent 进程创建事件监听、字段提取和日志记录

2、逐节复盘

14.4 Windows Management Instrumentation

WMI 可以用来查询系统对象,也可以订阅系统事件。常见对象包括进程、服务、驱动、网络适配器、系统版本等。安全分析里经常用它观察进程创建、服务变更和持久化痕迹。

概念 说明
Namespace 命名空间,例如 root\\cimv2
Class 系统对象类型,例如进程、服务、事件
Query 类 SQL 的查询语句
Event 对对象创建、修改、删除的订阅

14.5 QueryInterface & Indication

WMI 的底层常和 COM 接口打交道。QueryInterface 用来获取对象支持的接口;事件回调中拿到的 Indication 对象则代表一次具体事件。

项目 复盘重点
COM 接口 理解对象通过接口暴露能力
引用计数 关注对象生命周期,避免资源泄露
Indication 从事件对象中提取字段
错误码 COM 调用失败时要记录 HRESULT

14.6 CoCreateInstance & Connect

这一节重点是把 WMI 连接跑通。复盘时不要只写“连接成功”,要写清楚连接到哪个命名空间、使用什么权限、查询什么类、失败时错误码是什么。

阶段 记录内容
初始化 COM 初始化状态和安全设置
创建对象 WMI Locator 或相关服务对象
连接命名空间 目标 namespace、认证方式、权限
查询准备 查询语句、事件类型、轮询间隔

14.7 InstanceCreationEvent

进程创建事件是 WMI 里最常见的安全观察点。它能帮助自己看到“什么时候出现了新进程、进程叫什么、路径是什么、由什么触发”。

字段 用途
ProcessId 当前进程 ID
ParentProcessId 父进程 ID
Name 进程名
ExecutablePath 可执行文件路径
CommandLine 启动参数

3、WMI 与 ETW 的区别

维度 WMI ETW
使用方式 查询和订阅系统对象 事件跟踪流水线
上手难度 查询语句更直观 事件模型更底层
数据量 相对聚焦 可非常大
安全用途 管理、审计、持久化检查 行为时间线、深度事件分析

4、防护复盘建议

场景 复盘重点
进程创建 路径、命令行、父子关系
服务变化 服务名、可执行路径、启动类型
持久化排查 WMI 事件过滤器、消费者和绑定关系
工具开发 权限、错误码、日志格式和资源释放

5、学习检查清单

检查项 状态
能说明 WMI 的命名空间、类和查询是什么 待复盘
能理解 COM 接口和 HRESULT 在 WMI 里的作用 待复盘
能设计进程创建事件的日志字段 待复盘
能比较 WMI 与 ETW 在安全监控中的差异 待复盘

WMI 可用于管理和监控,也可能被滥用为持久化手段。这里按防护监控和取证复盘来整理。