内网环境横向移动——利用WMI

WMI,是Windows 2K/XP管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMICIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API;相反,操作系统的不同部分都可以插入WMI

由于刚刚提到的PsExec在内网中大杀四方后,很多安全厂商开始将PsExec加入了黑名单,所以攻击者暴露的可能性陡然增加。但是根据研究情况来看,Windows操作系统默认不会将WMI的操作记录到日志当中,而且因为采用的是无文件攻击,所以导致WMI具有极高的隐蔽性。由此,越来越多的APT开始使用WMI进行攻击,利用WMI可以进行信息收集、探测、反病毒、虚拟机检测、命令执行、权限持久化等操作。

使用 wmic 远程执行命令,在远程系统中启动 Windows Mannagement Instrumentation 服务(目标服务器需要开放 135 端口,wmic 会以管理员权限在远程系统中执行命令)

查询进程信息

内网环境横向移动——利用WMI_第1张图片

远程创建进程

wmic也可以用来调用cmd执行系统命令,跟at命令类似,wmic调用cmd的时候也是没有回显的,所以我们还是写入txt用type命令进行查看

wmic /node:192.168.52.138 /user:administrator /password:qwe123!@# process call create "cmd.exe /c ipconfig > C:\result.txt"

内网环境横向移动——利用WMI_第2张图片

使用type命令读取写入txt的结果如图所示内网环境横向移动——利用WMI_第3张图片

wmiexec

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

impacket中的wmiexec.py

首先在github上下载impacket安装包:https://github.com/SecureAuthCorp/impacket

使用命令

内网环境横向移动——利用WMI_第4张图片

内网环境横向移动——利用WMI_第5张图片

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

由于正常的命令都要查看结果,所以执行的命令后面都会加上重定向符,把结果输出到文件中。所以wmiexec.vbs在运行nc反弹shell或者msf木马木马等不需要输出结果但需要一直运行的程序时,因为木马进程会一直存在,导致结果文件被占用,不能删除,也不能改写。出现这种情况后由于结果文件被占用,所以WMIEXEC不能工作,除非手动更改脚本中的结果文件名。或者可以用taskkill 远程结束掉卡死的进程,然后WMIEXEC可以恢复工作。为了解决这个问题,加入了“-persist” 选项。

当命令加了“-persist” 选项后,程序会在后台运行,不会有结果输出,而且会返回这个命令进程的PID,方便结束进程。

wmiexec.vbs

wmiexec.vbs 可以在远程系统中执行命令并进行回显,获得远程主机的半交互式shell

内网环境横向移动——利用WMI_第6张图片

输入如下命令,使用 wmiexec.vbs 在远程主机上执行单条命令

内网环境横向移动——利用WMI_第7张图片

Invoke-WMIMethod

利用 PowerShell 自带的 Invoke-WMIMethod,可以在远程系统主机上执行命令和指定程序

#目标系统用户名
$User = "WIN-U8TRGT93CTR\administrator"

#目标系统密码
$Password= ConvertTo-SecureString -String "qwe123!@#" -AsPlainText -Force

#账号密码整合,导入Credential
$Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User , $Password

#远程运行计算器程序
Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList "calc.exe" -ComputerName "192.168.10.3" -Credential $Cred

内网环境横向移动——利用WMI_第8张图片

这时候靶机进程就会出现calc.exe内网环境横向移动——利用WMI_第9张图片

你可能感兴趣的:(网络,安全,学习)