WMI,全名Windows Management Instrumentation,即Windows管理工具,是Microsoft的一种基于网络的管理服务。其可以帮助用户管理本地和远程计算机,包括硬件、操作系统、应用程序等方面的内容。WMI建立在Web-Based Enterprise Management (WBEM)及Common Information Model (CIM)标准之上,允许系统管理员使用面向对象的方式管理计算机。此外,WMI还支持通知能力,在系统状态发生改变时,可以自动执行程序或者脚本。通过WMI,我们可以获取硬盘空间、内存使用、电脑开启时间等大量信息,此外还可以执行特定任务如关机、重启等。
Windows Management Instrumentation (WMI)的体系结构主要包括以下四个主要部分:
-
WMI客户端:这些是WS-Management SOAP协议的用户,它们向WMI服务发送请求以获取信息,改变系统状态,或执行某些任务;
-
WMI服务:它接收和处理来自WMI客户端的请求,然后与WMI提供器交互以完成这些请求;
-
WMI提供器:WMI提供器是一种插件,它为WMI暴露出一部分或全部的的管理信息。它们也可以接收请求来改变这些信息或执行任务;
-
CIM对象库:它是一个存储元数据的数据库,这些元数据描述了系统的管理信息。这包括类定义,实例数据,以及元数据本身的元数据。
![【权限维持技术】Windows:WMI 无文件后门(一) 【权限维持技术】Windows:WMI 无文件后门(一)]()
CIM对象库,也称为CIM Repository,是Windows Management Instrumentation (WMI)的一个重要部分,用于储存系统管理数据的模型和实例信息。这些信息被组织成面向对象的结构。
在CIM中,所有的对象都可以视为类(Class)或类的实例(Instance)。类能够定义数据对象的行为和属性,比如"Windows服务"就是一个类,它可能有"服务名称","状态"等属性。对于具体的某个Windows服务,则是这个类的一个实例。
CIM对象库按层次结构组织,最顶层是名称空间(Namespace),每个名称空间可以理解为一个独立的数据库,包含一系列的类和实例。比如,“rootCIMV2”是最常用的一个名称空间,包含了管理Windows系统的大部分常见的类和实例。在实际使用中,系统管理员可以凭借查询语言WQL(类似SQL)进行查询,获取或修改CIM对象库中的数据。
CIM对象库在系统中是预装了管理数据。这些数据主要是描述计算机硬件和软件配置的静态数据,例如操作系统信息、硬盘分区、服务、设备驱动等。
在开机或特定服务启动时,对应的WMI提供者会更新CIM对象库中的这些数据。例如,当硬盘被重新分区后,对应的WMI提供者就会更新CIM对象库中的硬盘分区数据。
CIM对象库在物理存储上位于Windows系统的System32文件夹下的wbem文件夹中。具体路径一般为:"C:WindowsSystem32wbemRepository"。
这个库是以一种特殊的格式来存储数据的,普通文本编辑器无法直接阅读或修改。如果你需要访问其中的数据,应该使用WMI提供的查询语言WQL,或者专门的接口和工具,如Windows内置的“WMI管理器”或“WMI CIM Studio”。
本文我们介绍了WMI和CIM。WMI (Windows Management Instrumentation) 是 Microsoft提供的一种用于在网络环境中管理Windows操作系统的技术。它提供了一种统一和标准化的方式,使得开发人员和系统管理员可以查询和设置操作系统的配置信息,以及其他数据。WMI的架构主要包括了WMI客户端、WMI服务、WMI提供者,以及CIM对象库。
CIM对象库(CIM Repository)是WMI体系中的一个重要部分,它是一个数据库,存储了描述Windows操作系统和计算机硬件的管理数据。这些数据采用了面向对象的数据模型,被组织成类(Class)和实例(Instance)。CIM对象库的物理存储位置通常是 "C:WindowsSystem32wbemRepository"。
CIM对象库预装了许多描述计算机硬件和软件配置的静态数据,需要的时候可以通过WMI提供的查询语言WQL,或者专门的接口和工具进行访问和修改。对于一些实时的或者需要即时获取的数据,如CPU使用率,WMI会在接收到查询请求后,由相应的WMI提供者现场获取并返回。
原文始发于微信公众号(赛博安全狗):【权限维持技术】Windows:WMI 无文件后门(一)
评论