Skip to main content

WMI

WMIC,即WMIC  (Windows 管理仪表) 在基于一项 Windows 的操作管理功能,它为本地和远程访问 Windows 系统上管理数据和操作组件提供统一基础设施,环境。系统管理员可以编写创建 WMIVBScript 或 PowerShell 脚本或应用程序自动执行管理本地和远程计算的 Windows 主上的管理任务,WMI 还向操作系统和产品的其他部分提供管理数据。但同样的,可以被攻击者用来横向移动和远程代码执行的原生方式,它需要本地管理员权限

Windows 内置命令

我们可以通过如下的原生命令给远程主机创建新的进程:

wmic /node:<主机> /user:<用户名> /password:<密码> process call create "<命令>" 给远程

image.png

然后发现在目标主机创建新的上该进程确实存在了

image.pngimage.png

我们也可以借助外部工具将要启动的进程换为载荷Impacket 中的 wmiexec 来便能实现横向移动

image.pngimage.png

Cobalt Strike 中也自带了 remote-exec 的命令,相当于 process call create 的命令。

 

Windows 内置命令


C2 

jump-remote-exec wmi


我们会发现没有 jump wmi 的选项,只有 remote-exec wmi。remote-exec 方法使用的其实就是 process call create 来执行任意命令。

image.png

因此,我们可以先上传载荷文件到目标主机上,再使用 remote-exec 来执行。

image.png

 

第三方工具

Impacket

Impacket 中的 wmiexec 同样可用于横向移动,不过返回的是半交互式 Shell

image.png