横向移动检测之远程执行—PowerShell
1.1 介绍
在横向移动过程,攻击者可能会利用PowerShell,通过远程执行命令进行横向移动。在Windows平台,客户端使用powershell.exe,服务端会使用wsmprovhost.exe来创建子进程执行客户端请求的命令。PowerShell命令的基本格式如下:
Enter-PSSession –ComputerName host
Invoke-Command –ComputerName host –ScriptBlock {Start-Process c:\temp\evil.exe}
通过对源和目的主机的事件日志,注册表,文件系统进行分析,可以获得源主机运行程序powershell.exe的时间,连接的目标主机的IP地址等信息,从目标主机,可获得源主机的IP地址,连接时间,恶意程序执行时间等信息。
环境:
目标为192.168.49.144,在目标上使用powershell远程执行C:\windows\temp\evil.exe。
源设置:
Enable-PSRemoting -Force
出现如下错误,须将目标主机(victim)加入TrustHost:
命令如下:
Set-Item WSMan:\localhost\Client\TrustedHosts -value "192.168.49.144"
Get-Item WSMan:\localhost\Client\TrustedHosts
目的主机设置:
Enable-PSRemoting -Force
winrm quickconfig
设置完成后,进行测试,输入目标主机凭据:
成功登录目标主机:
在目标主机执行命令:
分析环境
在目标主机执行evil.exe:
</