WMI是什么(wmi是什么证书)

WMI在笔者所参与的项目中发现目前攻防中应用照旧十分频繁,特别在横向挪动中,应用wmic或者powershell的WMI模块操作Win32来到达浸透的目的。笔者在学习了WMI后,将其分为四个模块(解说、横向挪动、权限提升、攻击检测),并写了四篇文章来解说,还追加了小学问点的编写(WBEMTEST工具运用,普通用户运用wmic)。笔者才能有限,在几篇中若有未讲人话之处,望体谅。

笔者在阅读了WMI的微软官方文档以及国内优秀前辈的引见文章后,获益匪浅,WMI是一个较为老的学问点了,但是关于想要简单了解WMI的同窗来说,关于一个新的学问点停止了解最好是可以有生动形象的例子停止抛砖引玉式的解读,将晦涩难懂的学问点吃透、了解后用简单的话语将其作用表达分明,使其读者可以快速的了解并为读者接下来深化了解打好根底,以便在攻防中更好的应用WMI,所以此篇文章笔者运用浅显的话语将WMI表达分明,在下文中关于根底单薄的同窗关于COM组件、Provider办法等专业名词可不做深度了解,只需求晓得是WMI这个庞大工具的零件而已,此文缺乏之处,望读者海涵.
 


 

WMI是什么

简介:
WMI是Windows在Powershell还未发布前,微软用来管理Windows系统的重要数据库工具,WMI自身的组织架构是一个数据库架构,WMI 效劳运用 DCOM(TCP 端口135)或 WinRM 协议(SOAP–端口 5985),如下图

图片[1]-WMI是什么(wmi是什么证书)-孤勇者社区

此图明晰明了的显现了WMI根底构造与 WMI 提供者和托管对象之间的关系,它还显现了 WMI 根底构造和 WMI 运用者之间的关系,同样我们也能够运用下图来了解。

图片[2]-WMI是什么(wmi是什么证书)-孤勇者社区

WMI Consumers(WMI运用者)

它位于WMI构架的最顶层,是WMI技术运用的载体。

假如我们是C++程序员,我们能够经过COM技术直接与下层通讯。
而脚本言语则要支持WMI Scripting API,间接与下层通讯。
关于.net平台言语,则要运用System.Management域相关功用与下层通讯。

这些WMI的运用者,能够查询、枚举数据,也能够运转Provider的办法,还有WMI事情通知。当然这些数据操作都是要有相应的Provider来提供。

 

WMI Infrastructure(WMI根底构造)

WMI根底构造是Windows系统的系统组件。它包含两个模块:包含WMI Core(WMI中心)的WMI Service(WMI效劳)(Winmgmt)和WMI Repository(WMI存储库)。WMI存储库是经过WMI Namespace(WMI命名空间)组织起来的。在系统启动时,WMI效劳会创立诸如rootdefault、rootcimv2和rootsubscription等WMI命名空间,同时会预装置一局部WMI类的定义信息到这些命名空间中。其他命名空间是在操作系统或者产品调用有关WMI提供者(WMI Provider)时才被创立出来的。简而言之,WMI存储库是用于存储WMI静态数据的存储空间。WMI效劳扮演着WMi提供者、管理应用和WMI存储库之间的谐和者角色。普通来说,它是经过一个共享的效劳进程Svchost来施行工作的。当第一个管理应用向WMI命名空间发起衔接时,WMI效劳将会启动。当管理应用不再调用WMI时,WMI效劳将会关闭或者进入低内存状态。如我们上图所示,WMI效劳和上层应用之间是经过COM接口来完成的。当一个应用经过接口向WMI发起恳求时,WMI将判别该恳求是恳求静态数据还是动态数据。

 – 假如恳求的是一个静态数据,WMI将从WMI存储库中查找数据并返回;
 – 假如恳求的是一个动态数据,比方一个托管对象的当前内存状况,WMI效劳将恳求传送给曾经在WMI效劳中注册的相应的WMI提供者。WMI提供者将数据返回给WMI效劳,WMI效劳再将结果返回给恳求的应用。

Managed object and WMI providers(托管对象和WMI提供者)
WMI提供者是一个监控一个或者多个托管对象的COM接口。一个托管对象是一个逻辑或者物理组件,比方硬盘驱动器、网络适配器、数据库系统、操作系统、进程或者效劳。和驱动类似,WMI提供者经过托管对象提供的数据向WMI效劳提供数据,同时将WMI效劳的恳求传送给托管对象。

 


 

WMI做什么

在Powershell未发布前用来管理Windows 2000、Windows95、Windows98、WindowsNT等操作系统 ,当然往常的一切Windows系统照旧能够运用WMI来停止管理。

留意:
在上图中我我们能够发现也能够了解,不管Powershell、VBScript或者其他什么言语,其实质还是运用.NET来访问WMI的类库,都是由于WMI向外暴露的一组API,然后停止管理,Powershell的发布只是让我们管理的方式多了一种,实质上没有改动去运用WMI。

 

为什么运用WMI

关于Windows运维管理人员

关于Windows运维管理功用主要是:访问本地主机的一些信息和效劳,能够管理远程计算机(当然你必需要具有足够的权限,并且双方开启WMI效劳,且135端口的防火墙战略是入站出站允许的),比方:重启,关机,关闭进程,创立进程等。能够自定义脚原本停止自动化运维,非常便当,例如能够运用wmic、wbemtest工具。WMIC命令解释。
 

运用Powershell来操作WMI管理

Powershell查询命名空间

WmiObject -Class __namespace -Namespace root |
select name

图片[3]-WMI是什么(wmi是什么证书)-孤勇者社区

Powershell查询BIOS信息

Get-WmiObject -Class  Win32_BIOS

图片[4]-WMI是什么(wmi是什么证书)-孤勇者社区

Powershell查询计算机信息

Get-WmiObject -Class  Win32_Operatingsystem

图片[5]-WMI是什么(wmi是什么证书)-孤勇者社区

Powershell查询

Get-WmiObject -Namespace rootSecurityCenter2 -Class AntiVirusProduct

#留意:在旧版中查询杀软的WMI命名空间为SecurityCenter

图片[6]-WMI是什么(wmi是什么证书)-孤勇者社区

留意:这里Powershell操作WMI的对象运用的是内置模块Get-WmiObject,以及查询的类为Win32_Service类,Win32_Service的其他类在官方文档中曾经罗列细致:Win32类计算机硬件类、操作系统类等,但是要留意Win32_Service不是独一能够操作WMI的类,以下类能够交替运用。

 – WIn32_Service
 – Win32_BaseService
 – Win32_TerminalService
 – Win32_SystemDriver
 
 

运用wmic来操作WMI管理

#查询windows机器版本和效劳位数和.net版本
wmic os get caption
wmic os get osarchitecture
wmic OS get Caption,CSDVersion,OSArchitecture,Version

#查询本机一切盘符
fsutil fsinfo drives
shell wmic logicaldisk list brief
shell wmic logicaldisk get description,name,size,freespace /value

#查看系统中网卡的IP地址和MAC地址
wmic nicconfig get ipaddress,macaddress

#用户列表
wmic useraccount list brief

#查看当前系统能否有屏保维护,延迟是几
wmic desktop get screensaversecure,screensavertimeout

#域控机器
wmic ntdomain list brief

#查询杀软
wmic /namespace:\rootsecuritycenter2 path antispywareproduct
GET displayName,productState, pathToSignedProductExe && wmic
 /namespace:\rootsecuritycenter2 path antivirusproduct GET
displayName,productState, pathToSignedProductExe

#查询启动项
wmic startup list brief |more

#获取打补丁信息
wmic qfe list

#启动的程序
wmic startup list brief

#启动的程序
wmic startup list full

图片[7]-WMI是什么(wmi是什么证书)-孤勇者社区
 


 

关于网络平安人员

关于网络平安人员在攻防当中,应用WMI停止横向挪动、权限维持、权限提升、包括免杀都能够停止应用。

 

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像代死0