在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...是能做什么的,这个方法能做的就是描述系统能被管理的资源,在系统里面包含了几百个类,一个类里面包含很多属性 通过 Get-WmiObject 可以找到设备里面所有可以被找到的 WMI 类 Get-WmiObject...类的信息 从上面列出的任意一个 WMI 类,可以使用下面代码显示这个类里面的属性 PS> Get-WmiObject -Class Win32_OperatingSystem SystemDirectory
php class wmi { public $connection; public $error=array(); public $objExecMethod; public...$this->seterror($e); $Dataobj = array(); } return new Data_wmi...ExecQuery($sql); // ISWbemObjectSet $count = $Dataobj->count; $Dataobj = new Data_wmi...>connection->InstancesOf($clsname)->item($mofpath); // ISWbemObjectEx $obj = new Data_wmi...Trace'] = $e->getTrace(); $this->error['Previous '] = $e->getPrevious(); } } class Data_wmi
使用WMI技术主要分为两个大的方面:1 获取信息;2 提供数据。其中“获取信息”需要WMI Classes(以后称为WMI类)。“提供数据”需要WMI Provider(以后称为WMI提供者)。...它包含两个模块:包含WMI Core(WMI核心)的WMI Service(WMI服务)(Winmgmt)和WMI Repository(WMI存储库)。 ...WMI存储库是通过WMI Namespace(WMI命名空间)组织起来的。...在系统启动时,WMI服务会创建诸如root\default、root\cimv2和root\subscription等WMI命名空间,同时会预安装一部分WMI类的定义信息到这些命名空间中。...从文件的角度来说,WMI提供者是由一个实现逻辑的DLL和承载着描述数据和操作的类的托管对象格式(Managed Object Format)文件组成。
2.杀毒引擎检测 默认情况下,杀毒引擎会自动注册在WMI 中的 AntiVirusProductclass 类中的 root\SecurityCenter 或者是root\SecurityCenter2...(2)win32_process类的Create 方法win32_process类的Create方法是最经典的代码执行技术场景,通过运行进程win32_process类的Create方法来直接与本地或者远程进行直接执行交互...4.WMI攻击检测WMI拥有极其强大的事件处理子系统,因在操作系统中所有的操作行为都可以触发WMI的事件,我们可以将WMI理解成是微软操作系统中自带的一个免费IDS(入侵流量检测),WMI的定位就是实时捕获攻击者的攻击操作...创建WMI类存储攻击者数,__ClassCreationEvent事件会被触发。...当攻击者安装恶意WMI提供程序时,⼀个Provider类的实例会被创建,InstanceCreationEvent事件会被触发。
在《WMI技术介绍和应用——VC开发WMI应用的基本步骤》文中,我们介绍了VC使用WMI技术的基本框架。本节我将讲解封装和实现一个用于半同步查询WMI的类。...(转载请指明出于breaksoftware的csdn博客) 我曾思考过如何编写一个比较有用的类,因为不同平台上WMI的查询结果集是不同的,很难做个通用的类。...类,然后会枚举结果中的每个成员。...于是处理逻辑又被我封装到一个继承于CSynQuery的类CSynQueryData中。...我会之后若干节,结合实际应用场景,利用这个框架,讲解WMI的实际应用。 工程源码见《WMI技术介绍和应用——WMI概述》结尾。
1)Intrinsic Events我们在创建、删除、修改WMI类或类实例以及命名空间时所产生的事件,都可以称之为是内部事件,每个内部事件类都代表了一种特定类型的更改,内部事件作为系统类存在于每个命名空间中...,一般情况下,WMI为存储在WMI存储库中的对象创建内部事件,提供程序为动态类生成内部事件,如果没有可用的提供程序,WMI将会为动态类创建一个实例,以下为WMI用于报告内部事件的系统类。...2)永久消费者类实例注册在WMI命名空间中,一直有效直至注销(永久性的WMI事件是持久性驻留的,并且以SYSTEM权限运行,重启后仍然还在),永久事件使用者一直运行到其注册被显式取消,然后在 WMI 或系统重新启动时启动...永久事件消费者是系统上WMI类、过滤器和COM对象的组合。...在Event Consumers中,系统提供了如下WMI预安装的永久使用者的类,它们都属于Root\CTMV2以及ROOT\DEFAULT这两个命名空间中,我们可以创建这些类的实例以提供永久消费者类,以提供在过滤器中指定的事件触发时响应的逻辑消费者
一.WMI远程交互当前,WMI支持两种远程交互的协议:DCOM协议和WinRm协议。...我们可以通过这两种协议对远程的机器进行对象查询、事件注册以及WMI类方法的执行等操作,攻击者要有效的利用WMI的两种远程交互协议则需要一定的特权用户凭证,因此大多数的安全厂家通常都不会对WMI这两种协议所传输的恶意内容以及恶意流量进行审查...,这就让攻击者对WMI这两种协议有了可利用的空间,那么,接下来给大家分别介绍WMI所支持的两种协议—DCOM协议和WinRm协议。...WinRM是基于Web服务管理规范(Web Services Management )所构建的一种基于SOAP的设备管理协议,它允许使用SOAP通过HTTP(S)远程管理Windows计算机,在后端其是利用了WMI...,我们也可以把它看作是一个基于HTTP的WMI API。
WMI使用公共信息模型 (CIM) 表示托管组件,其中包括系统、应用程序、网络等等 CIM中使用 “Class"(类)表示管理对象,类的实例是“Object”,名称空间(Namespace)是一个类的集合...类包含属性(Property)和方法(Method)。 WMI支持Schema的概念。Schema 是描述特定管理环境的一组类。...WMI Explorer WMI Tools CIM Explorer 2020(收费,但是非常强大,对类进行了中文说明,VBscript、powershell 代码简洁,推荐) Windows Script...,远程使用Powershell读取类中的数据写入到文件系统中 WMI Attacks – C2 Communication (Registry) – “Pull” Attack $Username ="...事件订阅(也就是3个组件的类的实例),payload是由WMI脚本 宿主进程启动。
Form1: TForm1; implementation function GetWMIProperty(WMIType, WMIProperty: string): string; var Wmi..., Objs, Obj: OleVariant; Enum: IEnumVariant; C: Cardinal; s:string; begin Wmi:= CreateOleObject...('WbemScripting.SWbemLocator'); Objs := Wmi.ConnectServer('.'...RPC_C_IMP_LEVEL_IMPERSONATE, nil, EOAC_NONE, nil)) then Exit; // Obtain the initial locator to WMI...CLSID_WbemLocator, nil, CLSCTX_INPROC_SERVER, IID_IWbemLocator, FWbemLocator)) then try // Connect to WMI
攻击检测 WMI攻击检测 谢公子学安全 讲在前面 作者:pingpig@深蓝攻防实验室 在前面的文章中我们讲了:WMI讲解(是什么,做什么,为什么) WMI利用(横向移动)...WMI利用(权限维持) 今天主要分享的是WMI攻击检测。...总之两点: 做好 WMI 连接的网络流量监控,一般不使用 WMI 的环境若出现了使用 WMI的情况,则内部网络可能已经被入侵。 做好进程监控,监测”wmic.exe“的命令行参数及其执行的命令。...WMI 方法。...若通过 WINRM 协议执行时,WMI 流量看起来像 HTTP,并且再次与通过 SVCCTL 接口时完全不同。这意味着 WMI技术可以有效地规避任何流量检测其横向移动的操作。
WMI介绍 WMI的全名为"Windows Management Instrumentation"。 从win98开始,Windows操作系统都支持WMI,WMI可以在本地或者远程管理计算机系统。...具体可以参考:https://docs.microsoft.com/zh-cn/windows/win32/wmisdk/using-wmi 2....WMI常用命令 以下操作均在win7上执行。...Windows\CurrentVersion\Run Get-ItemProperty OptionalComponents 4. impacket中的wmiexec.py Impacket是一个Python类库...总结 本文对WMI的基本用法做了一个归类,其中参考了众多师傅的文章,WMI的用法远不止于此,而且本文是未对存在杀软的环境进行分析,等以后有机会再去探讨吧。
笔者看了国内外部分文章后,发现WMI做权限维持主要是介绍WMI事件,并将其分为永久事件和临时事件,本文参考部分博客文章对WMI事件进行讲解,不足之处,望及时指出。...相关文章:WMI讲解(是什么,做什么,为什么) WMI利用(横向移动) 什么是WMI事件 WMI事件,即特定对象的属性发生改变时发出的通知,其中包括增加、修改、删除三种类型。...通俗的可以说:WMI内部出现什么变化就由WMI事件来进行通知。...WMI事件中的事件消费者可以分为临时和永久两类,临时的事件消费者只在其运行期间关心特定事件并进行处理,永久消费者作为类的实例注册在WMI命名空间中,一直有效到它被注销。...对于WMI事件的官方解释以及部分博客解释: · WMI事件通知 · 接收WMI事件 查询事件 列出事件过滤器 Get-WMIObject -Namespace root\Subscription -Class
ManagementClass c = new ManagementClass("Win32_DiskQuota");
在 .NET 框架中,System.Management 命名空间提供了用于遍历 WMI 架构的公共类。 除了 .NET 框架,还需要在计算机上安装 WMI 才能使用该命名空间中的管理功能。...此命名空间包括下列支持 WMI 操作的第一级类对象: " ManagementObject 或 ManagementClass:分别为单个管理对象或类。 ..." ManagementEventWatcher:用于预订来自 WMI 的事件通知。 " ManagementQuery:用作所有查询类的基础。 ...System.Management 类的使用编码范例对 .NET 框架环境很适合,并且 WMI 在任何适当的时候均使用标准基框架。...类也是分层次的,具体可以参考msdn中的WMI;转向.NET平台开发的时候,最好能多看一些关于.NET新特性的介绍,这样可以大幅度的提升代码的开发效率以及运行效率。
在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。...(转载请指明出于breaksoftware的csdn博客) 为了方便使用,我将该搭建步骤封转到了一个类中 class CWMI { public: CWMI(); ~CWMI...在《WMI技术介绍和应用——WMI概述》中我们提到,WMI中存在诸如root\default、root\cimv2等WMI命令空间。...在我定义的类中,我将该步骤封装成一个纯虚函数Excute,继承CWMI的类将实现具体的工作。 清理 我们在使用完以上的代理和实例后,我们要释放它们,并且最后要释放COM库。...Excute(pSvc); CHECKHR(hr); } while (0); return hr; } 下一节,我将讲解一个简单的对CWMI的封装类。
PS C:\Users\AT> Get-CimInstance -query 'Select * from Win32_BIOS' -Namespace roo...
2021 WMI利用 (横向移动) 谢公子学安全 讲在前面 作者:pingpig@深蓝攻防实验室 上一篇文章我们简单的解释了什么是WMI,WMI做什么,为什么使用WMI。...本文是笔者在阅读国内部分的解释WMI横向移动的文章后写下的一篇文章,希望帮助同学们在攻防中进入横向移动后根据实际场景利用WMI来解决问题。...WMIcmd.exe在域内使用 pth-wmic 注意:此为kali内置工具,只能执行一些WMI命令,无法执行其他命令....参考文章 内网横移之WinRM 内网渗透|基于WMI的横向移动 WmiScan 135端口智能密码/WMI密码爆破 WinRM的横向移动详解 WMI横向移动 不需要 Win32_Process – 扩展...WMI 横向运动 利用wmic调用xsl文件的分析与利用 利用WMIC执行Payload
,不能对类或者实例执行创建、删除、修改等操作。...3)FROM指定包含SELECT语句中列出的属性的类。4)clas代表要查询的类名称。5)where clause可选项,代表要过滤的信息,用来定义搜索范围。...更具体地说,此查询语句将返回WIN32_Process类的每个实例的所有属性的名称字段中包含“CMD”的结果,如图1-5所示。 7)执行命令从任务管理器中查看,如图1-6所示。...不会浏览命名空间,需要我们手动选择连接到指定命名空间),默认选择root\cimv2,届时,通过Wbemtest工具进行枚举对象实例、执行查询、创建和修改WMI类和对象操作。...WMI资源管理器允许用户浏览完整的WMI管理类集、对象及其属性,浏览远程计算机上的对象和设置,以及执行任何WQL查询和查看结果集6.WSHVBScript和JScript是Microsoft提供的两种WSH
########################################################### import os, sys import time import wmi...##################################### def get_memory_info(): tmpdict = {} c = wmi.WMI
本文告诉大家如何通过 WMI 获取补丁 通过 Win32_QuickFixEngineering 可以获取系统启动的服务 Get-WmiObject Win32_QuickFixEngineering
领取专属 10元无门槛券
手把手带您无忧上云