TransOpt.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; TransOpt.Timeout = new TimeSpan(0, 2, 0); using
1.3.Binding 绑定实际上是将过滤器和Consumer结合在一起,一旦将这两者绑定在一起,就可以让 WMI 事件订阅立即工作。要禁用现有的 WMI 订阅,只需删除绑定实例。...3.0.使用wmiclass创建 WMI 事件订阅 创建 WMI 事件订阅的第一种方法是利用 wmiclass 类型加速器并使用 CreateInstance() 方法。...首先,将创建将与我的 splatting 一起使用的哈希表,这些也是不会随每个 WMI 实例更改的通用参数。...Remove-WMIObject删除和使用 Get-WMIObject 定位实例并通过管道传输到 Remove-##Removing WMI Subscriptions using Remove-WMIObject...变量$HL39fjh包含 base64 编码的 PowerShell 命令,读取存储加密负载的 Windows 注册表项,并包含解密负载所需的密码和盐。
配置Sysmon日志记录 我们可以将Sysmon配置为记录WmiEventFilter,WmiEventConsumer和WmiEventConsumerToFilter活动,并启用WMI滥用检测。...检测 查看Sysmon日志,我们可以看到Empire模块: 注册了一个WMI事件过滤器; 注册了一个WMI事件使用者; 将事件使用者绑定到事件过滤器。...WMI事件过滤器为stager设置了相应执行条件,其中包括对系统正常运行时间的引用。...在PowerShell中,我们使用Get-WMIObject命令来查看事件过滤器绑定的WMI事件过滤器,事件使用者和使用者过滤器。...# Reviewing WMI Subscriptions using Get-WMIObject # Event Filter Get-WMIObject -Namespace root\Subscription
利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!...install 4.2 wmiexec.py使用方法 cd example 当445端口未开启的时候: 4.2.1 有账号密码 如果有账号和密码的情况下: # python3 wmiexec.py...用不用445端口取决于是否将结果返回,如果写注册表的话,就不需要返回,也就不需要445端口,sharpwmi 这个项⽬不依赖139和445端⼝,但是还需要依赖 135 端⼝。...使用方法与wmiexec.py一模一样: 5.2.1 有账号密码 如果有账号和密码的情况下,在win7上操作winserver08: wmiexec.exe 用户名:密码@目标IP wmiexec.exe...: set-executionpolicy remotesigned 然后选择y即可 Invoke-WmiCommand的使用方法: #导入脚本 Import-Module .
里面介绍了关于wmi的一些相关内容,其中提到了使用wmi进行横向移动的方法,只是当时由于时间原因并未对细节进行讲解,在成熟的企业内网中,如何优雅的进行横向移动是需要每个安全人员需要去注意的点。...比如如何使用CobaltStrike、Impacket等工具进行横向移动时最小化操作的技巧等。本文将讲解如何使用wmi事件订阅来进行横向移动。...,然后将其绑定在一起,即可达到我们的效果。...指定脚本的路径,也可以直接使用 ScriptText 将脚本内容直接写入。...-Class __EventFilter 查看系统上已经绑定的过滤器和消费者 Get-WMIObject -Namespace root/Subscription -Class __FilterToConsumerBinding
,通过 WMI 事件订阅的持久性需要创建以下三个类,它们用于存储有效负载或任意命令,指定将触发有效负载的事件并将两个类(__EventConsumer &__EventFilter)关联起来,以便执行和触发绑定一起.../Metasploit.mof 在这种情况下,payload 是通过 Metasploit “ web_delivery/ ”模块使用 regsvr32 方法远程获取的。...尽管一些 APT 的小组使用 MOF 文件作为 dropper 以实现 WMI 的持久性,但不建议将其作为一种方法。...Rahmat Nurfauzi开发了一个 PowerShell 脚本 ( WMI-Persistence ),它默认使用regsvr32方法执行任意命令,以便从远程服务器运行任意脚本。 ....、事件使用者和订阅。
前言 在研究了一下午 k8s 文档的时候,正准备开干,万万没想到一个 uuid 的问题卡了我几个小时,一直想在系统中解决,没想到最后在外部使用PowerSheel解决了,分享记录一二 问题描述与尝试解决...根据官方文档 使用 kubeadm 创建 k8s 集群的准备,所以准备在之前文章中使用 Hyper-V 安装的 CentOS8.5 的虚拟机搭建 需要确保每个节点上 MAC 地址和 product_uuid...,皇天不负有心人,在我不停迭代搜索词后,还是让我找到了一篇看得懂行得通的博客 PowerShell修改Hyper-V虚拟机的UUID 尝试了文章引用的国外大佬的工具,发现已经无法运行,好在博主提供了一个可以直接使用的脚本...重要,尝试了两次,确认需要在虚拟机关闭的时候执行才有用 执行命令 修改虚拟机名称变量:devops04 为你的虚拟机名称 然后直接粘贴下面命令到 PowerShell 终端执行即可 也可以存为.ps1...所以看到一个大写,一个小写其实没关系 将所有虚拟机执行完一遍后,检查可以看到已经成功修改 结语 习惯了 ChatGPT 的便捷,发现 Google 的次数都变少了,关键词一开始没有找准走了一点弯路
WMI对资源的操作,不是它自己实现了什么方法,而完全取决于向它注册的提供程序。 WMI是管理员日常必备的强大工具之一,是脚本伴侣。...用描述性驱动程序定义的类名和可选说明注释数据和事件块,然后 WMI 客户端可以枚举并显示给用户。...4868018176 # 28800 powershell.exe 870 101203968 2204067848192 # - 4.获取通过使用类名和筛选器表达式筛选的类的实例...- 7.从远程计算机获取CIM实例 Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02 # using...,BuildNumber,BuildType,Caption,CodeSet,CountryCode # 获取系统版本和系统是专业版还是教育版 Get-WmiObject -class win32
中的 3 个组件,在整篇文章中,我们将交替使用 WMI 和 CIM cmdlet,以便熟悉这两种 cmdlet 类型。...让我们将注意力转向系统上运行的进程,Win32_Process 类为我们提供了系统上运行的进程列表: Get-WmiObject -Class Win32_Process 许多进程在系统上运行,这可能会使终端上显示的内容无休止地滚动...现在让我们看看如何使用方法。 要使用一个方法,我们需要知道调用该方法时需要提供哪些参数。...view=powershell-5.1#parameters 3.2 使用方法 Invoke-WmiMethod (WMI) 和 Invoke-CimMethod (CIM cmdlet) 允许我们使用特定类的方法...让我们使用 Set-WmiInstance 将属性名称更新为 PewOS: 使用 Set-CimInstance 也可以实现相同的效果,但这留给读者去探索。 5 结论 哇,又是一篇长文!
请注意 Powershell 实用程序的 select 使用,与没有它相比,它显着扩展了输出。...Get-WmiObject -Class win32_service -Filter 'startname="localsystem"' | select * WMI 还提供了几种与服务交互的方法。...要列出 Win32_Service 类下可用的方法,可以使用以下命令: Get-WmiObject -Class win32_service -List | select -ExpandProperty...但在此之前,对于那些不熟悉卷影副本的人: 卷影拷贝是 Microsoft Windows 中的一项技术,可以创建计算机文件或卷的备份副本或快照,即使它们正在使用中 为了卷影与副本进行交互,有 2 种可用的方法...这就是现在的人们,我将在我们的下一篇文章中与您见面,将重点介绍通过 WMI 进行的 Active Directory 枚举。Sláinte! 声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。
最近,它参与了对德国外交部和法国军队的重大攻击事件。 为了混淆检测,在2019年中开始使用 PowerShell 脚本,这些脚本提供恶意软件可执行文件和库的直接内存加载和执行的能力。...变量$HL39fjh包含 base64 编码的 PowerShell 命令,它读取存储加密负载的 Windows 注册表项,并包含解密负载所需的密码和盐。...$WY79ad')) | iex 最后,脚本将加密的有效负载存储在 Windows 注册表中。我们观察到攻击者似乎对每个目标使用不同的注册表位置。...我们可以将配置文件用作登录脚本来自定义环境。我们也可以添加命令、别名、函数、变量、管理单元、模块和 PowerShell 驱动器。...但是他们没有找到新的绕过方法,而是重新使用了在 2018 年 Black Hat Asia 上的演讲The Rise and Fall of AMSI 中提出的技术。
在上图中,我们可以看到一些与注册表交互的方法,比如 CreateKey、DeleteKey、EnumKey、EnumValues,DeleteValues 等,这很有趣。...REG_EXPAND_SZ 2 返回对 env 变量的扩展引用 GetBinaryValue REG_BINARY 3 返回字节数组 GetDWORDValue REG_DWORD 4 返回一个 32...把我们目前所知道的放在一起,可以使用以下这个命令来获取注册表项下的所有键: Get-WmiObject -Namespace root\default -Class StdRegProv -List |...请注意,传递给 cmdlet 的方法名称 (通过 -Name 选项参数) 将因注册表数据类型而异 (请参阅上面的数据类型表)。...注意:注册表项下的现有子项也可以使用上述方法进行更新。
executablepath #获取指定进程可执行文件的路径 wmic environment where "name='temp'" get UserName,VariableValue #获取temp环境变量...ProcessId 进程路径 wmic process where caption="frp.exe" get caption,commandline /value ### ### 更改PATH环境变量值...它可以执行文件传输操作、横向移动和主机侦察。CHANGE_USER命令做存储凭据使用。它有一个 shell 功能,可以使用 command_exec 触发,文件操作也可以远程执行。..."} -r: https://192.168.8.192:5985 -u:administrator -p:win@123 远程静默启动进程 部分意见 笔者上述罗列的部分工具原理都是一样,在实现的方法上各有千秋...的横向移动 WmiScan 135端口智能密码/WMI密码爆破 WinRM的横向移动详解 WMI横向移动 不需要 Win32_Process – 扩展 WMI 横向运动 利用wmic调用xsl文件的分析与利用
CurrentVersion\RunServices HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce 添加载荷的方法的自然也和之前的一样了...要使clr能够劫持系统中全部.net程序,需要设置环境变量,要是只用命令行,可以使用wmi。...白名单运行程序不仅仅只有regsvr32,还有别的很多,可以去查下资料 可以使用下面的方法进行检测: PS C:\Users\Administrator> bitsadmin /list /verbose...wmi执行后门技术 WMI可以描述为一组管理Windows系统的方法和功能。我们可以把它当作API来与Windows系统进行相互交流。...WinRM服务后门 基本原理是使用Windows 的远程管理管理服务WinRM,组合HTTP.sys驱动自带的端口复用功能,一起实现正向的端口复用后门。
在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...是能做什么的,这个方法能做的就是描述系统能被管理的资源,在系统里面包含了几百个类,一个类里面包含很多属性 通过 Get-WmiObject 可以找到设备里面所有可以被找到的 WMI 类 Get-WmiObject...1,属性2 如获取 Win32_OperatingSystem 的 TotalVirtualMemorySize 和 RegisteredUser 因为小伙伴的设备和我不相同,可以看到不一样的 PS>...,将 Format-Table 修改为 Format-List 请看下面 PS> Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2
类包含属性(Property)和方法(Method)。 WMI支持Schema的概念。Schema 是描述特定管理环境的一组类。...Microsoft Windows SDK 中使用了两个 Schema : CIM Schema 和 Win 32 Schema 。...实际上和WMI交互有多种方法: Powershell wmic.exe wbemtest.exe winrm.exe and winrm.vbs WMI Explorer WMI Explorer 2.0.0.2...WMI Eventing ---- WMI 事件订阅是订阅某些系统事件的方法。...具体的事件请使用 Get-WmiObject -Class *__*event* -list 查看。
1000 Foreach-Object 针对每一组输入对象进行操作 可以看到最后一条命令是批量针对所有名为bits的服务执行增加启动密码的效果 首先获取针对WMIObject win32服务的所有成员方法和属性...,发现里头有Change这么一个方法 其次筛选change方法,并显示其可定义的参数 最后使用foreach来针对可定义的参数进行操作(第七个参数为System.String「String类型参数」 StartPassword...calc | dir 传递进来的属性名称必须与接收命令的参数名称相匹配 通过别名来使对象的属性「Name」保持一致 自定制属性: 例子1、获取adcomputer的Name属性,转换为可被其他命令接受的...属性名中允许使用通配符。...[Powershell3.0] get-CimInstance 支持管道输入,代替Get-WmiObject Get-ADComputer -Filter * | Get-WmiObject -class
PowerShell基于.NET Framework构建,这意味着你可以直接调用.NET的各种类库和方法。...变量和数组 PowerShell支持变量,这让脚本编写变得更加灵活: # 定义变量 $name = "John" $age = 30 # 定义数组 $servers = @("Server01", "...Get-Process -Examples # 在线帮助 Get-Help Get-Process -Online Get-Help 还有Get-Command可以搜索命令,Get-Member可以查看对象的属性和方法...: # 搜索包含"process"的命令 Get-Command *process* # 查看Get-Process返回对象的属性和方法 Get-Process | Get-Member # 按动词分组查看命令...地址:https://www.powershellgallery.com/ 实践项目 最好的学习方法就是实践,可以从自动化日常工作开始,比如: • 自动备份重要文件 • 定期清理临时文件 • 监控系统资源使用情况
设备执行whoami,被检测到,无论是执行wh"o"aM^i,还是执行cmd /c ",;((w^h^o^a^M^i))"都会被检测到,于是向我求助,既然提到了这里,阿鑫就在这里简单总结一下我自己的一些方法吧...,但是会的方法有比较少,后面在补充几个cmd/powershell平时常用的命令 技巧 (1)特殊符号/大小写 我们的"双引号,^尖角号,括号,逗号,分号,只能绕过一些常规的 也可以用一些非主流特殊字符串...看看有哪些环境变量 就这样,%comspec:~3,1%hoa%comspec:~21,1%i,用我们环境变量的字母替换了w和m 稍微解释哈,这里用环境变量截取字母第三位和第二十一位的w和m来绕过...当然,我们也可以自己设置环境变量,来达到绕过 set a=cmd /c whoami %a%即可 环境变量当然也可以配合我们的各类特殊符号,"双引号,^尖角号,括号,逗号,分号组合在一起,也是可以达到同样的效果的...-Class Win32_UserAccount //怎么绕,也可以用前面的特殊符号和环境变量 利用注册表 dir "Registry::HKEY_CURRENT_USER\Software\Microsoft