在内网渗透中,利用WinRM(Windows Remote Management)进行横向移动(横移)是一种常见的方法。以下是如何使用WinRM进行横移的步骤和注意事项:

启用和配置WinRM
在目标机器上启用WinRM服务:
在Windows Server 2012及以后的系统中,WinRM服务通常是默认启用的,但在较早的系统中可能需要手动启动。
可以通过命令winrm quickconfig -q来快速配置WinRM服务,这会自动为WinRM开启防火墙例外规则。
配置信任主机(TrustedHosts):
为了让任意主机能够连接到WinRM服务,可以使用以下命令设置信任所有主机:
winrm set winrm/config/Client @{TrustedHosts="*"}
如果只信任特定的IP,可以替换*为具体IP。

执行横向移动
使用WinRS进行远程命令执行:
WinRS(Windows Remote Shell)是WinRM的一个命令行工具,用于在远程机器上执行命令。基本语法如下:
winrs -r:http://<目标IP>:5985 -u:<用户名> -p:<密码> <命令>
例如,执行ipconfig命令:
winrs -r:http://192.168.1.100:5985 -u:Administrator -p:password ipconfig
使用WinRM命令执行操作:
WinRM命令行工具可以用来直接调用WMI类方法。例如,创建一个新的进程:
winrm invoke create wmicimv2/win32_process -SkipCAcheck -skipCNcheck @{commandline="notepad.exe"} -r:http://192.168.1.100:5985 -u:Administrator -p:password

注意事项
安全性:确保只有信任的机器能够连接到WinRM服务,避免设置过于宽泛的信任列表。
身份验证:WinRM支持Kerberos、NTLM和基本认证。默认情况下使用Kerberos或NTLM,确保提供的凭据具有适当的权限。
端口:默认的WinRM HTTP端口是5985,HTTPS端口是5986。确保防火墙允许这些端口的通信。
隐蔽性:WinRM通信可以使用AES加密,提高了操作的隐蔽性,但要注意日志记录,特别是在域环境中。

工具和资源
除了原生的WinRM和WinRS命令工具,还有第三方工具如Evil-WinRM,可以提供更丰富的功能,支持通过PowerShell远程执行命令,提高操作的便捷性。



记住,任何横向移动行为在未经授权的情况下都是非法的,仅应在合法的渗透测试或安全演练中进行。
 
 
Back to Top