在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。但是各种语言对WMI的控制能力是不同的,比如脚本语言只能用来从WMI获取数据或者接收事件通知。而C++还可以编写WMI提供者和发送消息。和脚本语言相比,C++对WMI有强大的控制和定制性,当然也具有更大的复杂性。本文将主要讲述使用VC如何搭建一个使用WMI的框架。(转载请指明出于breaksoftware的csdn博客)
您可以使用本主题中的过程和代码示例来创建完整的WMI客户端应用程序,该应用程序执行COM初始化,连接到远程计算机上的WMI,半同步获取数据,然后清理。
在之前的博文中,我们主要介绍了如何使用WMI查询信息和接收事件。本文将介绍WMI的另一种用法——执行方法。(转载请指明出于breaksoftware的csdn博客)
目前已知在杀毒厂商以及游戏厂商的安全对抗过程中,常常需要准确的监控收集并进行检测用户创建打开的EXE应用程序是否是安全的。同时也可以将此技术应用于其他应用的安全对抗方案中。那么如何去准确的监控和收集用户每次点击打开的EXE应用程序信息呢?接下来我就进行还原实现下如何准确的监控并收集用户每次点击打开EXE应用程序技术。
在《WMI技术介绍和应用——事件通知》一文中,我们提到了提供者(Provider)这个概念。我们还是要引入WMI的结构图(转载请指明出于breaksoftware的csdn博客)
在《WMI技术介绍和应用——WMI概述》中,我们使用了下图介绍WMI构架(转载请指明出于breaksoftware的csdn博客)
今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载请指明出于breaksoftware的csdn博客)
WMI在笔者所参与的项目中发现目前攻防中利用依旧非常频繁,尤其在横向移动中,利用wmic或者powershell的WMI模块操作Win32来达到渗透的目的。笔者在学习了WMI后,将其分为四个模块(讲解、横向移动、权限提升、攻击检测),并写了四篇文章来讲解,还追加了小知识点的编写(WBEMTEST工具使用,普通用户使用wmic)。笔者能力有限,在几篇中若有未讲人话之处,望谅解。
使用jinvoke调用windowsAPI。jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样。
在我们获得用户名口令后,尝试远程登陆目标主机并执行程序,结合实际环境做了如下测试.
在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用 WMI 来拿到序列号
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,例如SMS,或者使用WMI的脚本编程API,或者使用象CIM Studio之类的工具。如果不熟悉C++之类的编程语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要用WMI管理系统是很困难的。WMIC改变了这种情况。
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,例如SMS,或者使用WMI的脚本编程API,或者使用象CIM Studio之类的工具。如果不熟悉C++之类的编程语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要用WMI管理系统是很困难的。WMIC改变了这种情况。
1:给定一个升序排列的数组,要求插入一个新数据后仍然升序输出,例如:原数据为:1,6,9,23,56,95插入新的一个数据50后输出变为:1,6,9,23,50,56,95.
受bin牛委托修改并发布,版权归bin牛所有。 Bug/建议提交:zcgonvh@rootkit.net.cn 祝各位马年大吉,财源滚滚。 免责声明: 本程序只用于管理员安全检测,使用前请注意环境与法律法规,因使用不当造成的后果本人不承担任何责任。 已测试的系统: win2003+iis6+.net 2.0 win2008+iis7+.net 4.0 win8+iis8+.net 4.5 注意:此版本最低需要.net 2.0环境,不再支持.net 1.1。如果目标机器是.net 1.1,请换用AspxSp
一:WMI基础知识 =================================================================== WMI 最初于1998年作为一个附加组件与 Windows NT 4.0 Service Pack 4 一起发行,是内置在Windows 2000、 Windows XP和Windows Server 2003 系列操作系统中核心的管理支持技术。基于由 Distributed Management Task Force (DMTF) 所监督的业界标准,WMI是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源。大多用户习惯于使用众多的图形化管理工 具来管理Windows资源,在WMI之前这些工具都是通过 Win32应用程序编程接口(Application ProgrammingInterfaces,API)来访问和管理Windows资源的。只要你熟悉系统编程你就知道API有多么重要。但是大多数脚本 语言都不能直接调用Win32 API,WMI的出现使得系统管理员可以通过一种简便的方法即利用常见的脚本语言实现常用的系统管理任务。 利用WMI需要和脚本如WSH和VBScript结合起来,可以实现的功能大家可以看微软的MSDN文档。 在编写我们自己的脚本之前,我们需要对WMI的体系结构有个基本的了解。如图一:(1.gif)
# -*- coding:utf-8 -*- import datetime import os import wmi import time import _winreg import pythoncom import threading import win32api import win32con import Queue c = wmi.WMI() # 如果要连接远程机器,只需要在WMI构造器中指定远程机器名即可 # c = wmi.WMI("some_other_machine") # Li
在简单了解了WMI后,我们开始了横向移动,包括其中的信息收集,工具利用。那么在我们短暂的获取权限后,如何才能将权限持久化,也就是所说的权限维持住呢?笔者看了国内外部分文章后,发现WMI做权限维持主要是介绍WMI事件,并将其分为永久事件和临时事件,本文参考部分博客文章对WMI事件进行讲解,不足之处,望及时指出。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客)
Windows Management Instrumentation (WMI) 使系统管理员能够在本地和远程执行任务。从红队的角度来看,WMI 可用于执行多种活动,例如横向移动、持久性、态势感知、代码执行以及作为命令和控制(C2)。WMI 是几乎所有 Windows 操作系统(Windows 98-Windows 10)中都存在的 Windows 的一部分,这一事实使这些攻击性活动远离蓝队的雷达。
磁盘在联机后要初始化,同样也有两种方法,一种是调用IOCTL_DISK_CREATE_DISK,还有一种是调用WMI的Initialize方法。
《ZABBIX全栈级监控实践》系列将由浅入深探讨如何实现ZABBIX全栈级别的监控。
其实安装Visual studio2012的一个主要原因就是原生态的驱动开发支持,但是却发现一件很蛋疼的事情。自带的模板创建的项目没办法编译,提示如下的错误:
本文是以WMI的重写版,本来这份笔记会更长,原版的笔记以Black Hat 2015的Abusing Windows Management Instrumentation (WMI) to Build a Persistent, Asyncronous, and Fileless Backdoor为主要学习资料,在笔记写到大概一万字的时候,Typora 中保存的内容部分丢失。于是重新整理,有了这份,我认为精简版的WMI笔记。
python写的用WMI检测windows系统信息、硬盘信息、网卡信息 #!/usr/bin/env python -- coding: utf-8 -- import wmi import sys,time,platform def get_system_info(os): """ 获取操作系统版本。 """ print print "Operating system:" if os == "Windows": c = wmi.WMI
1 #!/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 () 12 #获取操作系统版本 13 for sys in
众所周知,在windows10以及Windows Server2016的平台当中,PowerShell5.x已经能够去获取到系 统当中大部分的信息,但有时候仍有一些信息需要借助于调用WMI的类来完成。通过本文,你可以 了解到WMI的基本架构和组件,包括WMI的数据库,WMI的provider,以及在PowerShell调用WMI的 时候提供的module和相关的命令。接下来我们就能通过powershell的命令去完成WMI的查询操作, 去获取到系统当中WMI的实例。然后我们还可通过实例的属性查看到系统当中不同的信息,同时的 话去调用实例当中为我们提供的不同的方法,去修改系统信息的配置。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。
CIMplant是WMImplant项目的C#实现,并扩展了原项目的相关功能,该工具 能够使用CIM或WMI来查询远程系统,并且可以使用用户提供的凭据或当前用户的会话来执行操作。
目的: 针对Windows下进程异常退出后,此程序自动启动被监控进程。如:监控Serv-U.exe 程序是使用python语言编写,可在Windows下双击MonitorWin32Process.exe直接运行。程序会按照config.ini配置文件,进行监控进程。如果没有被监控的进程,则会按照进程启动路径自动启动。 详细使用请查看压包内的使用说明.
.Net本身没有封装对快捷方式的操作类,所以要在C#中操作快捷方式,需要借助“外力”。市面上常见的方法是通过Windows Script Host Object Model这个COM组件来完成。这种方法的缺憾是你的程序必须带上Interop.IWshRuntimeLibrary.dll这个文件(不过也许可以把这个dll并入exe中再动态加载什么的)。
WMI使用技巧集 很多的朋友对WMI可能见过但理解不深,我也是十分想了解关于WMI的知识,可一直找不运维
当前,Windows Management Instrumentation(WMI)事件订阅已经变成了一种非常流行的在端点上建立持久性后门的技术。于是,我决定鼓捣一下Empire的WMI模块,并分析相关的代码,看看能不能清除这些持久化后门。此外,文中还介绍了用于查看和删除WMI事件订阅的一些PowerShell命令。
网络罪犯利用加密挖矿恶意软件盗用计算资源牟利。早在2017年,已经观察到他们如何应用无文件技术使检测和监测更加困难。
Windows Management Instrumentation(WMI)事件订阅,是一种常被攻击者利用来在端点上建立持久性的技术。因此,我决定花一些时间研究下Empire的WMI模块,看看有没有可能检测并移除这些WMI持久化后门。此外,文中我还回顾了一些用于查看和移除WMI事件订阅的PowerShell命令。这些命令在实际测试当中都非常的有用,因此我也希望你们能记录它们。
先在https://golang.google.cn/dl/下载编译器。 📷 然后一直下一步就行了。 📷 这样就显示安装成功了。 写一个HelloWorld吧 📷 编译程序 go build 文件名 📷 然后运行程序 📷 配置环境变量 📷 📷 安装Goland 📷 📷 然后一直下一步。然后选择稍后重启或者立刻重启。 📷 然后就是注册Goland了,本文就不讲诉如何注册了,分享一个注册码,但是很快就会过期。 8YRUVVX9JG-eyJsaWNlbnNl
(1)监视Windows系统中进程创建情况 import wmi c = wmi.WMI() process_watcher = c.Win32_Process.watch_for('creation') while True: try: new_process = process_watcher() proc_owner = '{0[0]}\\{0[1]}'.format(new_process.GetOwner()) temp_creation
WMI 全称为:Microsoft Windows Management Instrumentation (WMI)
在之前,我曾在安全客分享过《wmi攻击与防御》的相关议题。里面介绍了关于wmi的一些相关内容,其中提到了使用wmi进行横向移动的方法,只是当时由于时间原因并未对细节进行讲解,在成熟的企业内网中,如何优雅的进行横向移动是需要每个安全人员需要去注意的点。比如如何使用CobaltStrike、Impacket等工具进行横向移动时最小化操作的技巧等。本文将讲解如何使用wmi事件订阅来进行横向移动。
描述:WMI的全名为”Windows Management Instrumentation - Windows管理规范“, 从Windows 98开始 Windows操作系统都支持WMI, 它是由一系列工具集组成的可以在本地或者远程管理计算机系统。
在运行脚本之后,需要填入对应 IDE 的激活码,每个 IDE 对应的激活码都不一样,本文罗列一些常用 IDE 的激活码
/W438N4X12J-eyJsaWNlbnNlSWQiOiJXNDM4TjRYMTJKIiwibGljZW5zZWVOYW1lIjoidHJlbmRzIHJhYmJpcyIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wMi0wOCIsInBhaWRVcFRvIjoiMjAyMy0wMi0wOCIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUERCIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wMi0wOCIsInBhaWRVcFRvIjoiMjAyMy0wMi0wOCIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQV1MiLCJmYWxsYmFja0RhdGUiOiIyMDIzLTAyLTA4IiwicGFpZFVwVG8iOiIyMDIzLTAyLTA4IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBHTyIsImZhbGxiYWNrRGF0ZSI6IjIwMjMtMDItMDgiLCJwYWlkVXBUbyI6IjIwMjMtMDItMDgiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFBTIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wMi0wOCIsInBhaWRVcFRvIjoiMjAyMy0wMi0wOCIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUEMiLCJmYWxsYmFja0RhdGUiOiIyMDIzLTAyLTA4IiwicGFpZFVwVG8iOiIyMDIzLTAyLTA4IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBSQiIsImZhbGxiYWNrRGF0ZSI6IjIwMjMtMDItMDgiLCJwYWlkVXBUbyI6IjIwMjMtMDItMDgiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFNXIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wMi0wOCIsInBhaWRVcFRvIjoiMjAyMy0wMi0wOCIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQU0kiLCJmYWxsYmFja0RhdGUiOiIyMDIzLTAyLTA4IiwicGFpZFVwVG8iOiIyMDIzLTAyLTA4IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBDV01QIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wMi0wOCIsInBhaWRVcFRvIjoiMjAyMy0wMi0wOCIsImV4dGVuZGVkIjp0cnVlfV0sIm1ldGFkYXRhIjoiMDEyMDIyMDIwOFBTQU4wMDAwMDUiLCJoYXNoIjoiVFJJQUw6LTIwMDMxNDk5MzciLCJncmFjZVBlcmlvZERheXMiOjcsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-U0uteIUdI7Pn3l6b42jdvpWmT4iDDXJcC69WIw3EB4sX47Qt98McKvbzUHKsAftFyMRG7HhyG5aFCnQYqVKgOAgYuOZ+vhT4yGHOMHpWtJ/cJnKHmki+pv7jhEc7gfyyk0Gv+5dzdKUGlinX357XGrfe4WJjtRXb6txvgChdlG8wqqi8t9VO7+n5N8XxCStgAmB6eOGVY00ZzXvdP96RRU4YdbD4NM3Hu49ZOC9eR7NxZADSmkhg3F6NPBMKPyQ/QKhFEXaqcexoYcQdwUkLjqUxsvs8zglHp0toM5jcccfqJ2EVbRSsrk5j7qL/h1QvSQJepRzrn8qra9Ne62eaUw==-MIIETDCCAjSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIwMTAxOTA5MDU1M1oXDTIyMTAyMTA5MDU1M1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMDEwMTkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDw
IntelliJ IDEA免费激活码在线提取网址 | JetBrains旗下付费软件通用注册码:
.NET 框架中与 WMI 规范有关的命名空间有两个 , 分别是 System.Management 和 System.Management.Instrumentation 两个命名空间。其中 System.Managemen 命名空间提供的类对象为访问各种管理对象提供了面向对象的编程接口,而 System.Management.Instrumentation 命名空间提供的类用来设置用户自定义的应用程序,使得这些应用程序对象能够符合 WMI 的规范,从而通过 WMI 向使用该应用程序的管理者公开其提供的管理信息和事件,这些使用者有可能是 Microsoft Application Center 或 Microsoft Operations Manager 这样的,也有可能是自定义编写的高端管理应用程序(您可以通过 System.Management 命名空间提供的类对象来编写自己的管理应用程序)。因此,如果您想使自己的产品的管理可以在这些管理工具,您就得使您自己的应用程序符合 WMI 的规范,而针对 .NET 平台上的应用程序 WMI 规范编写来说,使用的是 System.Management.Instrumentation 命名空间提供的类。
使用下面代码,使用 Win32_Process 拿到所有的进程,通过 WHERE 判断当前的进程,然后拿到进程传入的命令
在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到 WMI 类里面的属性
领取专属 10元无门槛券
手把手带您无忧上云