横向移动检测之远程执行—WMI/WMIC
1.1 介绍
在横向移动过程,攻击者可能会利用WMI(Windows Management Instrumentation)提供的功能,通过远程执行命令进行横向移动。在Windows平台,在客户端通常使用wmic执行命令,服务端会使用wmiprvse.exe来创建客户端请求的进程,wmic命令的基本格式如下:
CMD:wmic /node:host process call create “evil.exe”
Powershell:Invoke-WmiMethod –Computer host –Class Win32_Process –Name create -Argument “c:\temp\evil.exe” # 默认使用当前用户的凭证
通过对源和目的主机的事件日志,注册表,文件系统进行分析,可以获得源主机运行程序wmic的时间,运行次数等信息,从目的主机可以获得客户端的源IP,可执行文件wmiprvse.exe及上传的恶意文件的执行时间等信息。
首先需要对winrm服务进行配置:
检查winrm服务是否启动:
get-service winrm
如果没启动,则启动服务:
对于win7,只需启动服务即可,无需后续操作:
为远程主机添加访问权限:
winrm s winrm/config/client '@{TrustedHosts="REMOTECOMPUTERNAME/IP"}'
检查winrm服务:
设置防火墙规则:
Win+R->secpol.msc
创建一个远程进程进行测试:
wmic /node:192.168.49.145 /user joker /password:123456 process call create "notepad.exe"
如下图,成功远程创建进程:
环境
使用wimc,在192.168.49.155上远程在目标主机192.168.49.144创建进程。