一: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)
目的: 针对Windows下进程异常退出后,此程序自动启动被监控进程。如:监控Serv-U.exe 程序是使用python语言编写,可在Windows下双击MonitorWin32Process.exe直接运行。程序会按照config.ini配置文件,进行监控进程。如果没有被监控的进程,则会按照进程启动路径自动启动。 详细使用请查看压包内的使用说明.
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
# -*- 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即Windows Management Instrumentation,用于管理正在运行的Windows主机。用户利用WMI可以轻松地与系统各类资源进行交互,如打开指定进程、远程启动计算机、设定指定程序在指定时间运行、查询Windows日志等。我们可以把它当作API来与Windows系统进行相互交流。在渗透测试的过程中,WMI的价值就是不需要下载和安装,因为WMI是Windows系统自带的功能,而且整个运行过程都在计算机内存中进行,操作记录不会在Winodws日志中留存。在前面的内容中对WMI有过介绍,因此不过多讲解原理。
Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows实现,是在Windows操作系统中管理和操作数据的基础设施。 WBEM的数据模型是CIM(Common Information Model,公共信息模型)。CIM是一个用来命名计算机的物理和逻辑单元的标准的命名系统(或称为命名模式),例如硬盘的逻辑分区、正在运行的应用的一个实例,或者一条电缆。 WMI是一项核心
首先安装wmi 命令:pip install wmi 然后会报错缺少pywin32-219.win-amd64-py2.7.exe包,去下面这个地址下载 http://sourceforge.net/projects/pywin32/files/pywin32/寻找适合自己电脑位数和python的包下载安装
接下来讨论一下关于 python-hwinfo, 它是一个展示硬件信息概况的工具之一,并且其配置简洁
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53296933
Attack Monitor是一款Python应用程序,可以帮助安全研究人员增强Windows 7/2008(及所有更高版本)工作站或服务器的安全监控功能,并且能够自动对恶意软件进行动态分析。
上一篇文章我们简单的解释了什么是WMI,WMI做什么,为什么使用WMI。本文是笔者在阅读国内部分的解释WMI横向移动的文章后写下的一篇文章,希望帮助同学们在攻防中进入横向移动后根据实际场景利用WMI来解决问题。在横向移动中的固定过程中一定离不开“信息收集”,然后分析信息根据实际场景(工作组或者域)来进行横向移动,至于使用什么工具,为什么使用这个工具,笔者使用WMI的意见。所以本文分为三个段落,信息收集、横向移动、部分意见。 信息收集。
Windows Management Instrumentation (WMI) 使系统管理员能够在本地和远程执行任务。从红队的角度来看,WMI 可用于执行多种活动,例如横向移动、持久性、态势感知、代码执行以及作为命令和控制(C2)。WMI 是几乎所有 Windows 操作系统(Windows 98-Windows 10)中都存在的 Windows 的一部分,这一事实使这些攻击性活动远离蓝队的雷达。
IPC,WMI,SMB,PTH,PTK,PTT,SPN,WinRM,WinRS,RDP,Plink,DCOM,SSH;Exchange,LLMNR投毒,Plink,DCOM,Kerberos_TGS,GPO&DACL, 域控提权漏洞,约束委派,数据库攻防,系统补丁下发执行,EDR定向下发执行等。
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
wmi是基于135端口进行的横向。依赖445只是因为,需要使用445取回命令执行结果。sharpwmi进行横向的时候火绒日志有一个特别有趣的地方:
# -*- coding: utf-8 -*- #import ######################################################################## import os, sys import time import wmi ######################################################################## #function ######################################################################## def get_memory_info(): tmpdict = {} c = wmi.WMI () cs = c.Win32_ComputerSystem() os = c.Win32_OperatingSystem() pfu = c.Win32_PageFileUsage() tmpdict["MemTotal"] = int(cs[0].TotalPhysicalMemory)/1024/1024 tmpdict["MemFree"] = int(os[0].FreePhysicalMemory)/1024 tmpdict["SwapTotal"] = int(pfu[0].AllocatedBaseSize) tmpdict["SwapFree"] = int(pfu[0].AllocatedBaseSize - pfu[0].CurrentUsage) return tmpdict if __name__ == "__main__": print get_memory_info()
WMI,全称Windows Management Instrumentation,是微软开发的一种用于管理Windows系统的工具。你可以把它想象成一个数据库工具,它存储了关于你的电脑的各种信息,比如系统、应用程序、网络和设备等。
NetExec是一款功能强大的自动化网络安全评估与漏洞测试工具,该工具可以帮助广大研究人员以自动化的形式测试大型网络的安全,并通过利用网络服务漏洞来评估目标网络的安全态势。
通过python中的 winrm模块,前提条件,先提前设置好winrm服务。如何设置请自行百度,winRM服务是windows server下PowerShell的远程管理服务。Python脚本通过连接winRM模块操作windows命令行。
区别于传统的基于文件的攻击,无文件非恶意软件攻击在内存中运行,不需要利用可执行文件就能达到攻击的目的。无文件非恶意软件本身是系统内置的合法工具,但是被用来执行一些不合法的操作,也就是我们常说的白名单绕过执行。总的来说就是利用Windows 的一部分来对抗Windows。
WMI(Windows Management Instrumentation) 是一项核心的Windows管理技术,WMI模块可用于获取Windows内部信息。WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表;查询本地或远程计算机的Windows事件日志等等。
声明:本人坚决反对利用教学方法进行恶意攻击的行为,一切错误的行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解技术背后的原理,更好地进行安全防护。虽然作者是一名安全小白,但会保证每一篇文章都会很用心地撰写,希望这些基础性文章对你有所帮助,在安全路上一起前行。
在我们获得用户名口令后,尝试远程登陆目标主机并执行程序,结合实际环境做了如下测试.
自从 PsExec 在内网中被严格监控后,越来越多的反病毒厂商将 PsExec 加入了黑名单,于是黑客们渐渐开始使用 WMI 进行横向移动。
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。
比如不久前的复旦大佬,用130行Python代码硬核搞定核酸统计,大大提升了效率,节省了不少时间。
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
本文是以WMI的重写版,本来这份笔记会更长,原版的笔记以Black Hat 2015的Abusing Windows Management Instrumentation (WMI) to Build a Persistent, Asyncronous, and Fileless Backdoor为主要学习资料,在笔记写到大概一万字的时候,Typora 中保存的内容部分丢失。于是重新整理,有了这份,我认为精简版的WMI笔记。
《Python黑帽子:黑客与渗透测试编程之道》的读书笔记,会包括书中源码,并自己将其中一些改写成Python3版本。书是比较老了,anyway,还是本很好的书
Certutil是Windows自带的命令行工具,用于管理Windows证书并作为证书服务的一部分安装。Certutil提供了从网络中下载文件的功能,测试人员可以在远程主机上执行Certutil命令,控制其下载预先部署在可控服务器上的恶意文件,如攻击载荷等。
今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载请指明出于breaksoftware的csdn博客)
Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。
AutoResponder是一款功能强大的网络安全事件应急响应工具,该工具基于Carbon Black Response的安全引擎实现其功能,可以帮助广大研究人员积极迅速地响应组织网络系统内发生的安全事件,而且无需过多纠结于IT、系统或网络方面的细节。
大家好,这里是 渗透攻击红队 的第 67 篇文章,本公众号会记录一些红队攻击的案例,不定时更新
专注是做事成功的关键,是健康心灵的特质。当你与所关注的事物融为一体时,就不会让自己萦绕于焦虑之中。专注与放松,是同一枚硬币的两面而已。一个人对一件事只有专注投入才会带来乐趣。一旦你专注投入进去,它立刻就变得活生生起来。
这是红日团队的第三套靶场(靶场下载地址见文末),本次靶场渗透涉及敏感信息泄露、暴力破解、脏牛提权、内网穿透、端口转发、以及域渗透等多种知识点。该靶场环境由5台机器组成,其中包括3台Windows机器和2台Linux机器。
WMI在笔者所参与的项目中发现目前攻防中利用依旧非常频繁,尤其在横向移动中,利用wmic或者powershell的WMI模块操作Win32来达到渗透的目的。笔者在学习了WMI后,将其分为四个模块(讲解、横向移动、权限提升、攻击检测),并写了四篇文章来讲解,还追加了小知识点的编写(WBEMTEST工具使用,普通用户使用wmic)。笔者能力有限,在几篇中若有未讲人话之处,望谅解。
随着人们的安全意识的逐步加强,企业内部的Windows服务器口令越来越复杂了,经常会遇到提权到windows服务器,获取了用户的密码hash,但是cmd5官网或者本地猜解都拿不到明文密码的情况。这时候就需要用到内网哈希传递技术了。哈希传递利用了NTLM认证的缺陷,使用用户的密码哈希值来进行NTLM认证。如果目标机器与获取hash值的机器的密码相同,就可以直接使用hash来远程登录Windows主机了。
当前,Windows Management Instrumentation(WMI)事件订阅已经变成了一种非常流行的在端点上建立持久性后门的技术。于是,我决定鼓捣一下Empire的WMI模块,并分析相关的代码,看看能不能清除这些持久化后门。此外,文中还介绍了用于查看和删除WMI事件订阅的一些PowerShell命令。
每天我们都会面临许多需要高级编码的编程挑战。你不能用简单的 Python 基本语法来解决这些问题。在本文中,我将分享 13 个高级 Python 脚本,它们可以成为你项目中的便捷工具。如果你目前还用不到这些脚本,你可以先添加收藏,以备留用。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客)
在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。但是各种语言对WMI的控制能力是不同的,比如脚本语言只能用来从WMI获取数据或者接收事件通知。而C++还可以编写WMI提供者和发送消息。和脚本语言相比,C++对WMI有强大的控制和定制性,当然也具有更大的复杂性。本文将主要讲述使用VC如何搭建一个使用WMI的框架。(转载请指明出于breaksoftware的csdn博客)
这个月实在太忙了,一直没有时间去继续写WMI的应用例子。 本来是希望将《WMI技术介绍和应用》系列博文写的像WMI百科全书般,但是貌似对这个技术感兴趣的同学并不多,所以我决定对部分知识点点到为止,有需求的同学可以查询MSDN相关类的说明即可。本文将罗列一些可能使用到的一些知识点。如果你发现你期望查询的硬件信息在本文中没有写出来,请参看MSDN的《Computer System Hardware Classes》中相关的类。(转载请指明出于breaksoftware的csdn博客)
目前已知在杀毒厂商以及游戏厂商的安全对抗过程中,常常需要准确的监控收集并进行检测用户创建打开的EXE应用程序是否是安全的。同时也可以将此技术应用于其他应用的安全对抗方案中。那么如何去准确的监控和收集用户每次点击打开的EXE应用程序信息呢?接下来我就进行还原实现下如何准确的监控并收集用户每次点击打开EXE应用程序技术。
这篇文章是有关 WMI 的多篇系列文章中的第一篇,如果读者对 PowerShell 有个基本的了解,那么对阅读本篇文章会有所帮助,但这不是必需的。
《ZABBIX全栈级监控实践》系列将由浅入深探讨如何实现ZABBIX全栈级别的监控。
领取专属 10元无门槛券
手把手带您无忧上云