WMI的全称是Windows Management InstrumentationWindows管理规范),是微软在Windows操作系统中内置的一套管理框架和基础结构。
它就是Windows提供的一个统一“信息仓库”和“管理接口”,让管理员、脚本和应用程序能够用标准的方式获取系统的方方面面数据,甚至执行管理操作(比如重启服务、修改配置等)。

核心作用

  1. 信息查询:获取硬件型号、BIOS版本、磁盘容量、网络IP、进程列表等。
  2. 状态监控:实时读取CPU使用率、内存剩余、磁盘吞吐等性能数据。
  3. 系统配置与操作:可以创建/删除进程、启停服务、修改注册表等(部分操作需要权限)。
  4. 事件订阅:可以监听系统事件,比如“某个服务意外停止”、“磁盘空间不足”等。

组成

核心组件包括:

WMI服务 (Winmgmt):后台运行的Windows服务,负责处理请求。
WMI存储库:一个保存元数据定义(类、属性、方法)的数据库,启动时从各种提供程序加载。
WMI提供程序 (Provider):一个个特殊的驱动或DLL,它们负责从硬件驱动、注册表、驱动程序等地方收集真实数据,并暴露给WMI。比如“电池”、“磁盘”、“蓝牙”等都有各自的提供程序。
WMI类:数据被组织成“类”(类似于数据库的表),比如Win32_Processor、Win32_LogicalDisk,这些类有属性和方法。

常用WMI项

一、系统身份与基础信息

1. Win32_OperatingSystem

属性 含义 侦探意义
Caption 操作系统全名,如 “Microsoft Windows 10 Enterprise” 识别系统版本,定位可能的内核漏洞。
Version 内部版本号,如 “10.0.19045” 精确匹配漏洞库(如 CVE)。
BuildNumber 构建号 配合 Version 确定更新程度。
OSArchitecture 32位 / 64位 帮助选择攻击载荷(32/64位)。
InstallDate 安装日期 判断系统是否长期未重装,可能存在沉积配置缺陷。
LastBootUpTime 上次启动时间 了解系统是否长期运行未重启,补丁可能未生效。
ServicePackMajorVersion 服务包主版本 旧系统的关键补丁等级。
TotalVisibleMemorySize 可见内存 (KB) 判断是否虚拟机、服务器或工作站。
SerialNumber 产品序列号(部分) 有时嵌入组织资产编号。
WindowsDirectory 系统目录路径 常见 C:\Windows,确认系统路径。
RegisteredUser / Organization 注册用户/组织 可能泄露域名或公司名。

2. Win32_ComputerSystem

属性 含义 侦探意义
Name 主机名 定位主机在域内的角色。
Domain 域或工作组 若返回域名,说明已加入域;若是 WORKGROUP,则是独立机。
Manufacturer / Model 制造商和型号 物理机品牌(Dell/HP 等),虚拟机常见 “VMware, Inc.”。
SystemType x64-based PC 等 再次确认位数。
TotalPhysicalMemory 物理内存总量 内存过小可能是容器或蜜罐。
NumberOfLogicalProcessors 逻辑处理器数 CPU 核心线程数。
UserName 当前登录的用户名 若有多用户同时登录,可能透露活跃会话。

3. Win32_BIOS

属性 含义 侦探意义
SerialNumber 系统序列号(主板) 硬件唯一标识,可用于资产追踪。
SMBIOSBIOSVersion SMBIOS 版本 可辅助判断硬件代际。
Version BIOS 版本 极旧 BIOS 可能存在低级漏洞。

二、用户与权限

4. Win32_UserAccount

属性 含义 侦探意义
Name 用户名 枚举所有本地用户和域用户(Domain 属性筛选)。
FullName 全名 可能包含真实姓名,用于社会工程。
SID 安全标识符 判断管理员 (S-1-5-21-…-500)、来宾等。
Disabled 是否禁用 发现未禁用但未使用的账户。
Lockout 是否被锁定 可能正在被暴力破解。
PasswordRequired 是否需要密码 若 False 且未禁用,是弱入口。

5. Win32_LogonSession

属性 含义 侦探意义
LogonId 会话 ID 关联进程所在会话。
LogonType 登录类型(2交互,3网络,4批处理,5服务,10远程交互…) 识别是否有远程桌面会话(类型10),或服务登录。
AuthenticationPackage 身份验证包(如 Negotiate) 判断认证协议。

6. Win32_Group / Win32_GroupUser

类/属性 含义 侦探意义
Win32_Group.Name 组名 查找 Administrators、Remote Desktop Users 等高权限组。
Win32_GroupUser.PartComponent 组成员 关联用户与组,发现隐藏管理员。

三、网络配置与连接

7. Win32_NetworkAdapterConfiguration

属性 含义 侦探意义
IPAddress IP 地址列表 获取本机 IP,判断所在网段。
DefaultIPGateway 默认网关 确定出口路由和内网网关。
DNSServerSearchOrder DNS 服务器列表 可能泄露域控制器 IP。
DHCPServer DHCP 服务器 可能是同一子网内的服务器。
MACAddress MAC 地址 唯一标识网卡,可用于 VLAN 跳跃等攻击。
DNSDomain DNS 搜索域 进一步确认所在域。

8. Win32_NetworkAdapter

属性 含义 侦探意义
NetConnectionID 网络连接名称(如“以太网”) 关联到配置。
Speed 速率 (bps) 判断是千兆/万兆网。
PhysicalAdapter 是否物理网卡 排除虚拟网卡,只关注物理通信接口。

9. Win32_IP4RouteTable

属性 含义 侦探意义
Destination 目标网络 查看路由条目,发现其他可达内网段。
NextHop 下一跳 指向其它路由器的 IP。
Mask 子网掩码 帮助计算网段大小。

10. Active TCP/UDP Connections(MSFT_NetTCPConnection 等)

属性 含义 侦探意义
LocalAddress / LocalPort 本机 IP 和端口 发现本地监听的敏感服务(3389, 445, 5985 等)。
RemoteAddress / RemotePort 远程 IP 和端口 发现已建立的出站连接,识别 C2 或跳板机。
State 连接状态 (Established, Listen…) 筛选活跃连接。
OwningProcess 进程 ID 关联到具体进程,发现恶意软件通信。

四、进程、服务与计划任务

11. Win32_Process

属性 含义 侦探意义
Name 进程名 查找杀软 (avp.exe, msmpeng.exe)、EDR、数据库进程。
ProcessId PID 关联其它类。
CommandLine 启动命令行 可能泄露密码、令牌、配置文件路径。
ExecutablePath 可执行文件路径 判断是否为标准路径。
ParentProcessId 父进程 PID 构建进程树,发现异常父子关系。
CreationDate 启动时间 近期启动的进程可能值得关注。
ThreadCount / HandleCount 线程/句柄数 异常高可能是内存破坏或注入迹象。

12. Win32_Service

属性 含义 侦探意义
Name 服务短名 已知漏洞服务或错误配置。
DisplayName 显示名 伪装服务可能用类似 “Windows Update” 的名称。
State 运行状态 识别正在运行的可疑服务。
StartMode 启动类型 (Auto/Manual/Disabled) 找到自启动的持久化服务。
StartName 运行账户 若为 LocalSystem 或其他高权限用户,可能是提权点。
PathName 服务执行路径 检查是否存在未引用路径空格漏洞或恶意的可执行文件。

13. Win32_ScheduledJob

属性 含义 侦探意义
Name 任务名 发现异常计划任务。
Command 执行的命令 可能是后门或自动化攻击脚本。
StartTime 开始时间 找出高频执行的任务。
Enabled 是否启用 排查被手动禁用的威胁。

五、已安装的软件与补丁

14. Win32_Product

属性 含义 侦探意义
Name 软件名称 枚举所有 MSI 安装的程序。
Version 软件版本 对比漏洞库找可利用的旧版。
Vendor 开发商 找到第三方软件(Java, Adobe, Office 等)。
IdentifyingNumber GUID 可用于静默卸载或伪装。
InstallDate 安装日期 近期安装的可能是管理员刚装的工具。

15. Win32_QuickFixEngineering

属性 含义 侦探意义
HotFixID 补丁编号(如 KB5012599) 列举已安装补丁,反向判断缺失的补丁(可能包含提权漏洞)。
InstalledOn 安装时间 评估修补节奏。
Description 描述 可发现安全更新频率。

六、磁盘、文件与共享

16. Win32_LogicalDisk

属性 含义 侦探意义
DeviceID 盘符 发现非标准挂载(D:, E: 为数据盘)。
FileSystem 文件系统 NTFS 表示正常磁盘。
FreeSpace / Size 可用/总容量 发现大容量存储,可能是文件服务器。
DriveType 类型 (2=可移动,3=本地,4=网络) 网络映射盘可能指向 NAS 或文件共享。
VolumeName 卷标 有时透露分区用途 (DATA, BACKUP)。

17. Win32_Share

属性 含义 侦探意义
Name 共享名 C$, ADMIN$ 默认管理共享,以及自定义共享。
Path 共享路径 定位共享的实际目录。
Description 描述 有的会写 “公共”、”财务部”等线索。
Type 共享类型 (0=磁盘,1=打印,2=设备…) 确定共享性质。

18. Win32_Directory / CIM_DataFile(文件搜索)

属性 含义 侦探意义
Name 文件/目录全路径 用 WQL 语句搜索关键词(如 pass, config, .kdbx)。
FileSize 文件大小 搜索大文件可能是归档或数据库。
LastModified 最后修改时间 近期修改的可能是活跃文件。

七、安全产品与防火墙状态

19. Win32_Service (再次应用,筛选杀软)

常见杀软服务名:WinDefend, SecurityHealthService, MsMpEng, AvastSvc, McAfeeFramework等。

20. 查询防火墙规则 — SecurityCenter2 或 Windows Firewall

类 / 属性 含义 侦探意义
FirewallProduct (SecurityCenter2) 防火墙产品名称 发现第三方防火墙。
AntivirusProduct (SecurityCenter2) 杀毒产品名称和状态 可获取安装路径、更新状态。
HNetCfg.FwMgrFirewallAPI 内置防火墙状态 判断是否开启、出站/入站策略。

22. ROOT\SecurityCenter2: AntiVirusProduct

属性 含义 侦探意义
displayName 防病毒软件显示名称 如 “Windows Defender” 或 “Symantec Endpoint Protection”。
productState 产品状态码 解析可知是否启用、是否更新。
pathToSignedProductExe 可执行文件路径 确认杀软进程路径。

八、启动项与持久化

23. Win32_StartupCommand

属性 含义 侦探意义
Name 启动项名称 从注册表 Run 键、启动文件夹提取的条目。
Command 执行命令 查看是否指向可疑位置。
Location 来源 (Startup, Registry, Common Startup) 识别是用户级还是系统级启动。
User 所属用户 域用户启动项。

九、域与横向移动线索

24. Win32_NTDomain

属性 含义 侦探意义
DomainName 域名 获取完整域名。
DomainControllerName 域控制器名 可直接定位到域控主机名。
DnsForestName 林名称 了解整个 AD 架构。

25. Win32_NetworkLoginProfile(最后登录信息)

属性 含义 侦探意义
Name 账户名 最近通过此主机登录的域帐户。
LastLogon 最后登录时间 可判断活动账户。
NumberOfLogons 登录次数 高频率账户可能是管理员或服务账户。

26. Win32_PingStatus (WMI 封装的 Ping)

属性/方法 含义 侦探意义
Address, StatusCode 目标 IP,返回码 不需调用 cmd 就可以扫描内网存活。

十、系统事件

27. Win32_NTLogEvent — 经典事件日志条目

属性 含义 侦察含义
EventCode 事件 ID(如 4624=登录成功,4625=登录失败,7045=新服务安装) 按安全事件类型精确筛选,是识别入侵痕迹的核心过滤条件
Logfile 日志来源文件(System / Security / Application 等) 定位事件所在日志仓库,不同日志记录不同安全维度
Type 事件级别:Error / Warning / Information / Security Audit Success / Security Audit Failure 区分正常审计、警告和错误,Audit Success/Failure 直接反映访问是否被允许
Message 事件完整描述文本(含用户名、IP、进程名、路径等) 事件解释的关键字段,提取攻击者行为细节(如登录来源 IP、提权命令)
TimeGenerated 事件发生的时间(CIM 格式,含 UTC 偏移) 构建攻击时间线,按时间范围过滤近期入侵活动
SourceName 事件来源模块(如 Microsoft-Windows-Security-Auditing、Service Control Manager) 识别产生事件的子系统,缩小分析范围,快速定位恶意来源
User 触发该事件的用户账号(DOMAIN\Username) 关联用户身份,追踪可疑操作的责任账户
ComputerName 产生事件的计算机名 多主机环境中确定事件来源主机
CategoryString 事件分类文字(如 Logon、Process Creation、Account Management) 按行为类别快速分组,比 EventCode 更易读