本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!! 更新时间:2022.06.19 说明 本文大量参考了师傅们的文章,感谢各位师傅的帮助!...WMI介绍 WMI的全名为"Windows Management Instrumentation"。 从win98开始,Windows操作系统都支持WMI,WMI可以在本地或者远程管理计算机系统。...WMI常用命令 以下操作均在win7上执行。...python3 wmiexec.py administrator:Admin@admin@192.168.135.15 在这里注意到当前有一个SMBv2.1 dialect used,这个的原因主要是该工具的使用条件是需要...总结 本文对WMI的基本用法做了一个归类,其中参考了众多师傅的文章,WMI的用法远不止于此,而且本文是未对存在杀软的环境进行分析,等以后有机会再去探讨吧。
在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...类的信息 从上面列出的任意一个 WMI 类,可以使用下面代码显示这个类里面的属性 PS> Get-WmiObject -Class Win32_OperatingSystem SystemDirectory...SerialNumber : 00331-10000-00001-AA523 Version : 10.0.17763 这里的输出只是简要的信息,没有包含所有的属性,如果想输出所有的属性,可以使用下面代码
WMI 可用于生成组织和管理系统信息的工具,使管理员或系统管理人员能够更密切地监视系统活动。例如,可以使用 WMI 开发一个应用程序,用于在 Web 服务器崩溃时呼叫管理员。...System.Management 类的使用编码范例对 .NET 框架环境很适合,并且 WMI 在任何适当的时候均使用标准基框架。...例如,WMI 广泛利用 .NET 集合类并使用推荐的编码模式,如 .NET 异步操作的“委托”模式。因此,使用 .NET 框架的开发人员可以使用他们的当前技能访问有关计算机或应用程序的管理信息。...请参见 使用 WMI 管理应用程序 | 检索管理对象的集合 | 查询管理信息 | 预订和使用管理事件 | 执行管理对象的方法 | 远程处理和连接选项 | 使用强类型对象 获取CPU序列号代码 string...WMI最早出现在Microsoft Windows 2000系统上,但它同样可以安装在Windows NT 4和Windows 9x计算机上。WMI是一种轻松获取系统信息的强大工具。
WMI 自从 PsExec 在内网中被严格监控后,越来越多的反病毒厂商将 PsExec 加入了黑名单,于是黑客们渐渐开始使用 WMI 进行横向移动。...通过渗透测试发现,在使用 wmiexec 进行横向移动时,windows 操作系统默认不会将 WMI 的操作记录在日志中。因此很多 APT 开始使用 WMI 进行攻击。...WMI wmic ---- 使用目标系统的 cmd.exe 执行一条命令,并将结果保存在 C 盘的 ip.txt 文件中: wmic /node:192.168.3.21 /user:god\Administrator...此外 wmic 命令没有回显,需要使用 ipc$ 和 type 命令来读取信息。 PS:wmic 执行的是一些恶意文件程序,那么将不会留下攻击日志。...---- impacket 工具包的 wmiexec 下载地址:https://github.com/SecureAuthCorp/impacket 进入impacket目录安装依赖: pip install
WMI 是基于 Web 的企业管理 (WBEM) 标准的 Microsoft 实现,WCF 公开服务的属性,如地址、绑定、行为和侦听器。您可以在应用程序的配置文件中激活内置 WMI 提供程序。...wmiProviderEnabled="true" performanceCounters="ServiceOnly"/> … 此配置项公开 WMI
在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...类的信息 从上面列出的任意一个 WMI 类,可以使用下面代码显示这个类里面的属性 PS> Get-WmiObject -Class Win32_OperatingSystem SystemDirectory...WMI 获取系统安装的驱动 PowerShell 通过 WMI 获取系统服务 PowerShell 通过 WMI 获取补丁 PowerShell 通过 WMI 获取系统安装软件 Getting
当时,WMI这种“特别”的使用方式让我这个VC程序员产生了浓厚的兴趣——像写SQL般去写程序。研究WMI技术的火种一直在我内心燃烧,最近正好有时间,我准备把WMI技术做一次比较系统性的梳理。...由于WMI技术涉及的方面非常的广泛,我准备主要从应用的角度去讲解一些主要的使用场景,这样才会让该技术比较生动。...本节主要讲解WMI的一些概述,如果不想了解WMI一些背景,本节可以过掉。 WMI的全称是Windows Management Instrumentation,即Windows管理工具。...WMI Consumers(WMI使用者) 它位于WMI构架的最顶层,是WMI技术使用的载体。如果我们是C++程序员,我们可以通过COM技术直接与下层通信。...通过以上对WMI的介绍,我想大家应该对WMI有了个初步的认识。下面我将讲解在VC中使用WMI的一些步骤,之后我会再从应用的角度讲解怎么使用WMI技术。
(1)事件订阅我们可以使用 WMI 的功能来订阅事件并在该事件发生时执行任意代码,从而在系统上提供持久化,例如:利用时间Event Consumer(事件处理)接⼝ActiveScriptEventConsumer...4.WMI攻击检测WMI拥有极其强大的事件处理子系统,因在操作系统中所有的操作行为都可以触发WMI的事件,我们可以将WMI理解成是微软操作系统中自带的一个免费IDS(入侵流量检测),WMI的定位就是实时捕获攻击者的攻击操作...攻击者使用WMI作为持久性机制,EventFilter、EventConsumer、FilterToConsumer 绑定创建,__InstanceCreationEvent事件被触发。...VMI Shell工具集被用作C2通道,会创建和修改名称空间对象的实例,因此会触发namespaceCreationEvent和Namespace ModificationEvent事件。...当攻击者使用开始菜单或注册表做持久化时,⼀个Win32_StartupCommand类的实例会被创建,__InstanceCreationEvent事件会被触发。
1.WMI永久事件订阅组成(1)EventFilter(事件过滤器)EventFilter(事件过滤器)存储在一个ROOT\subscription:__EventFilter对象的实例里,其主要作用是使用...事件的消费者大体可分为“临时事件消费者”和“永久事件消费者”两类1)临时事件消费者只在运行期间关心处理特定的事件(本地事件生命周期即为宿主进程的运行时间)临时事件使用者必须手动启动,并且不能在 WMI...临时事件使用者只能在其运行时处理事件。...2)永久消费者类实例注册在WMI命名空间中,一直有效直至注销(永久性的WMI事件是持久性驻留的,并且以SYSTEM权限运行,重启后仍然还在),永久事件使用者一直运行到其注册被显式取消,然后在 WMI 或系统重新启动时启动...在Event Consumers中,系统提供了如下WMI预安装的永久使用者的类,它们都属于Root\CTMV2以及ROOT\DEFAULT这两个命名空间中,我们可以创建这些类的实例以提供永久消费者类,以提供在过滤器中指定的事件触发时响应的逻辑消费者
一.WMI远程交互当前,WMI支持两种远程交互的协议:DCOM协议和WinRm协议。...我们可以通过这两种协议对远程的机器进行对象查询、事件注册以及WMI类方法的执行等操作,攻击者要有效的利用WMI的两种远程交互协议则需要一定的特权用户凭证,因此大多数的安全厂家通常都不会对WMI这两种协议所传输的恶意内容以及恶意流量进行审查...而DCOM是COM的扩展,使用DCOM可以不受本地限制,通过远程过程调用(RPC)技术实现客户端程序实例化和访问远程计算机的COM对象。...2.WinRMWinRM(Windows远程管理)相对于DCOM来讲,目前已成为Windows建议使用的远程管理协议。...WMI,我们也可以把它看作是一个基于HTTP的WMI API。
大多用户习惯于使用众多的图形化管理工 具来管理Windows资源,在WMI之前这些工具都是通过 Win32应用程序编程接口(Application ProgrammingInterfaces,API)...如图一:(1.gif) 在WMI 体系结构中我们最需要关心的就是WMI提供程序,WMI提供程序在WMI和托管资源之间扮演着中间方的角色。...提供程序代表使用者应用程序和脚本从WMI托 管资源请求信息,并发送指令到WMI托管资源。下面是我们利用WMI编程经常要用到的WMI内置提供程序清单,以供编程参考。...在使用类的时候要说明类所在的命名空间。类由属性和方法构成。这是可视化编程中的两个重要的概 念。属性描述的是对象的状态,方法是对象可以执行的操作。...接着看python 中的WMI使用 是Tim Golden's 的WMI.PY,使用起来非常简单.下面的例子是摘自它自身提供的example import wmi c = wmi.WMI () for
Windows管理工具(WMI)是基于Windows操作系统的管理数据和操作的基础设施。...WMI使用公共信息模型 (CIM) 表示托管组件,其中包括系统、应用程序、网络等等 CIM中使用 “Class"(类)表示管理对象,类的实例是“Object”,名称空间(Namespace)是一个类的集合...“和”.NET System.Management classes“没有试过,其余的工具均有测试,推荐使用WMI Explorer ,GUI界面非常好用。...WMI Eventing,如果使用WmiExplorer可查看到对应命名空间中创建了新的实例。...//github.com/realparisi/WMI_Monit) 各类工具 ---- 参考:Persistence – WMI Event Subscription (https://pentestlab.blog
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('.'..._NewEnum)); Enum.Reset; while (Enum.Next(1,Obj,C)=s_ok) do begin //需要更多的信息请使用循环 Obj:=Obj.Properties...RPC_C_IMP_LEVEL_IMPERSONATE, nil, EOAC_NONE, nil)) then Exit; // Obtain the initial locator to WMI
在《WMI技术介绍和应用——VC开发WMI应用的基本步骤》文中,我们介绍了VC使用WMI技术的基本框架。本节我将讲解封装和实现一个用于半同步查询WMI的类。...于是,我使用了最简单的方法——遍历返回结果。...所以大部分情况下,只在同步和半同步中做出选择的情况下,优先考虑使用半同步。 ...我们使用DealWithIWbemClassObject函数处理每个结果。...我会之后若干节,结合实际应用场景,利用这个框架,讲解WMI的实际应用。 工程源码见《WMI技术介绍和应用——WMI概述》结尾。
WMI利用 (权限维持) 讲在前面 作者:pingpig@深蓝攻防实验室 在简单了解了WMI后,我们开始了横向移动,包括其中的信息收集,工具利用。...笔者看了国内外部分文章后,发现WMI做权限维持主要是介绍WMI事件,并将其分为永久事件和临时事件,本文参考部分博客文章对WMI事件进行讲解,不足之处,望及时指出。...相关文章:WMI讲解(是什么,做什么,为什么) WMI利用(横向移动) 什么是WMI事件 WMI事件,即特定对象的属性发生改变时发出的通知,其中包括增加、修改、删除三种类型。...可以使用wmic来进行操作。通俗的可以说:WMI内部出现什么变化就由WMI事件来进行通知。...所以在权限维持中一般我们使用WMI永久事件来进行。
无论何种攻击手法在日志或流量是都会留下一定的痕迹,但是使用何种的规则将其监控到,这是令防守方头大的问题。WMI横向移动、权限维持都会在日志监控到。至于如何制定规则,本文不展开。...总之两点: 做好 WMI 连接的网络流量监控,一般不使用 WMI 的环境若出现了使用 WMI的情况,则内部网络可能已经被入侵。 做好进程监控,监测”wmic.exe“的命令行参数及其执行的命令。...然后可以自行导入sysmon帮助工具进行分析:sysmontools 若是权限维持中的WMI事件,则sysmon可以关注如下四个事件ID Process Create(ID 1) WmiEventFilter...PSEXEC,SC.EXE,或其他远程服务管理工具进行操作时,通信将通过MS-SCMR协议操作DCERPC。...即使该协议使用最大加密级别,但仍然可以使用流量监控确定目标执行了哪些类型的操作(例如服务创建、服务启动等)。
ManagementClass c = new ManagementClass("Win32_DiskQuota");
在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。...和脚本语言相比,C++对WMI有强大的控制和定制性,当然也具有更大的复杂性。本文将主要讲述使用VC如何搭建一个使用WMI的框架。...因为我们要使用的WMI功能和命名空间有很大的关联,所以该类将提供这个设置命令空间的函数。...命名空间 这步是使用WMI的关键一步。...请求 通过以上一系列过程,我们终于可以开始使用WMI了。
PS C:\Users\AT> Get-CimInstance -query 'Select * from Win32_BIOS' -Namespace roo...
2.查询用例1)在CDM命令行中执行wbemtest命令进入WMI测试器中,如图1-1所示。2)在使用之前我们现需要进行连接,选择默认连接选项即可,如图1-2所示。...交互的命令行管理工具,他不但可以管理本地计算机,还能够在足够的权限下管理域控中的其他计算机,WMIC是windows自带的一个功能,计算机只要支持WMI即可使用WMIC,WMIC因其强大的功能以及Windows...不会浏览命名空间,需要我们手动选择连接到指定命名空间),默认选择root\cimv2,届时,通过Wbemtest工具进行枚举对象实例、执行查询、创建和修改WMI类和对象操作。...5.Win explorerWin explorer(windows资源查看器)是一款图形化查看WMI信息的工具,与wbemtest类似,不过比wbemtest功能更丰富,使用起来更方便。...从当前来看这两种脚本开发语言早已过时,但是它们在与WMI交互时仍有很强大的能力,目前市面上已经出现了基于这两种语言开发,使用WMI功能完成基本的Command and Control机制的后门程序。
领取专属 10元无门槛券
手把手带您无忧上云