1、reGeorg:端口轉發。是用於公網服務器只開放了80端口的情況。reGeorg是用 python 寫的利用Web進行代理的工具,流量只通過 http 傳輸,也就是http隧道。reGeorg腳本的特徵非常明顯,很多殺軟都會進行查殺。
現在有這麼一個環境,我們獲取到了位於公網Web服務器的權限,或者我們擁有可以往公網Web服務器web目錄下上傳任何文件的權限,但是該服務器開啓了防火牆,只開放了80端口。內網中存在另外一臺主機,這裏假設內網存在一臺Web服務器。然後,我們現在要將公網Web服務器設置爲代理,通過公網服務器的80端口,訪問和探測內網Web服務器的信息。
本地實驗:DMZ主機IP:192.168.135.150(外網)和192.168.138.136(內網),內網主機:192.168.138.138
根據公網服務器網站是哪種腳本類型上傳哪種類型的腳本。這裏我搭建的是PHP網站,我就上傳tunnel.nosocket.php腳本上去。
本地訪問:上傳成功
利用reGeorgSocksProxy.py建立一條隧道:
然後我們就可以利用一些代理工具Proxychains、Proxifier來進行代理,訪問web站點,也可以直接使用瀏覽器設置代理:
成功訪問內網主機:
通信過程中的數據傳遞:
使用proxifier代理:(設置全局代理,所有軟件全部都走代理出口)
首先設置代理服務器:
之後添加一個例外,將python除去,不然陷入死循環。
然後默認代理和本機全部走代理通道:
可以看到全部的網絡流量都走的1080:
再次訪問:
這個時候因爲代理都走的192.168.135.150這個主機(能上午),訪問外網的速度變慢。
2、EarthWorm代理(EW)
EarthWorm是一套便攜的網絡工具,具有SOCKS5服務架設和端口轉發兩個核心功能。
EarthWorm能過夠以正向、反向、多級級聯等方式建立網絡隧道。EarthWorm提供多個文件適用不同的操作系統!
該工具共有 6 種命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。普通網絡環境的正向連接命令是ssocksd,用於反彈連接的命令是rcsocks、rssocks。其他命令用於多級級聯網絡環境。
正向連接:
將ew傳到對方服務器:bisadmin /transfer n url C:\ew.exe
開啓正向代理:ssocksd
之後和前面一樣,可以設置全局代理,也可以使用瀏覽器代理:
開啓反向代理:
反彈SOCKS5服務器。這個意思是反彈到VPS端口8888然後我們在訪問1080就可以訪問到目標的內網了。就是將8888端口轉發給VPS的1080
先將ew上傳到vps中,然後使用命令開啓數據接收端口和轉發端口:
將ew上傳到目標主機,開啓代理:rssocks
建立連接之後vps上會顯示建立通道:
之後和前面差不多:
通過全局代理的方式成功連接到192.168.138.138的數據庫:
Navicat還支持最開始的HTTP代理隧道。
關於LCX端口轉發:
這個既可以進行本地端口轉發,也可以直接進行內網的端口轉發。
首先在目標服務器上傳lcx:然後使用-slave命令,將192.168.138.138 80端口傳輸到VPS上
VPS執行listen命令本地轉發一次:將8000的流量轉發到100
這個是轉發到VPS上,所以訪問的IP地址是VPS的地址。
也可以通過-tran參數直接轉向:注意這是在DMZ機器的本地轉發,所有訪問的IP是DMZ機器的。
Netsh進行端口轉發:netsh(Network Shell) 是一個windows系統本身提供的功能強大的網絡配置命令行工具。自Windows XP開始,Windows中就內置網絡端口轉發的功能。任何傳入到本地端口的TCP連接(IPv4或IPv6)都可以被重定向到另一個本地端口,或遠程計算機上的端口,並且系統不需要有一個專門用於偵聽該端口的服務。
命令:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
首先關閉防火牆:
端口轉發:
訪問WEB服務的8080端口,就可以訪問到內網主機:
刪除端口映射:
Iox轉發:https://github.com/EddieIvan01/iox
- 具有流量加密
- 友好的命令行參數
- 邏輯優化
- UDP流量轉發
一些實驗:
可以看到,和lcx不一樣的是,可以將兩個端口之間的流量互轉。
類似-tran參數,可以實現本地端口轉發
內網端口轉發,將內網主機80端口轉發到DMZ主機的8080端口:
訪問DMZ主機即可訪問內網80端口,和-tran參數類似:
DMZ主機執行轉發,將80端口轉發到VPS的8080端口
VPS將8080端口轉發到VPS的3308端口:
訪問VPS的3308可以訪問內網80端口。
這個就相當於lcx的-slave參數加-listen參數
Iox的proxy代理功能:
DMZ主機開啓socket5代理:將流量轉發到VPS的8080端口
VPS進行代理轉發:
之後配置代理工具即可:
即可實現代理功能: