WMI
WMIC,即WMIC (Windows 管理仪表,) 是在基于一项 Windows 的操作管理功能,它为本地和远程访问 Windows 系统上管理数据和操作组件提供统一的基础设施,环境。系统管理员可以编写创建 WMIVBScript 或 PowerShell 脚本或应用程序来自动执行管理本地和远程计算的 Windows 主机上的管理任务,。WMI 还向操作系统和产品的其他部分提供管理数据。但同样的,也可以被攻击者用来是横向移动和远程代码执行的原生方式,它需要本地管理员权限。
Windows 内置命令
我们可以通过如下的原生命令给远程主机创建新的进程:
wmic /node:<主机> /user:<用户名> /password:<密码> process call create "<命令>" 给远程
然后发现在目标主机创建新的上该进程确实存在了。
我们也可以借助外部工具将要启动的进程换为载荷,Impacket 中的 wmiexec 来便能实现横向移动了。
Cobalt Strike 中也自带了 remote-exec 的命令,相当于 process call create 的命令。
Windows 内置命令
C2
jump-remote-exec wmi
我们会发现没有 jump wmi 的选项,只有 remote-exec wmi。remote-exec 方法使用的其实就是 process call create 来执行任意命令。
因此,我们可以先上传载荷文件到目标主机上,再使用 remote-exec 来执行。
第三方工具
Impacket
Impacket 中的 wmiexec 同样可用于横向移动,不过返回的是半交互式 Shell。