多级代理工具

Fuso工具

项目地址:

https://github.com/editso/fuso

一款体积小, 快速, 稳定, 高效, 轻量的内网穿透, 端口转发工具 支持多连接,级联代理,传输加密

使用说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
❯  fuc --help
fuso 1.0.5-beta
editso <https://github.com/editso>
An intranet penetration proxy tool

USAGE:
fuc [OPTIONS] <SERVER_HOST> [SERVER_PORT]

ARGS:
<SERVER_HOST> 服务端地址
<SERVER_PORT> 服务端端口 [default: 6722]

OPTIONS:
--kcp
是否启用 kcp, 默认不启用

-n, --name <NAME>
映射名称 [default: anonymous]

--socks
启用socks

--socks-udp
是否启用socks5 udp转发, 默认不启用 [aliases: su]

--socks-username <SOCKS_USERNAME>
socks5账号 [aliases: s5u]

--socks-password <SOCKS_PASSWORD>
socks5密码 [aliases: s5p]

--bridge-listen <BRIDGE_LISTEN>
桥接监听地址 [default: 127.0.0.1] [aliases: bl]

--bridge-port <BRIDGE_PORT>
桥接监听端口 [aliases: bp]

--forward-host <FORWARD_HOST>
转发地址 [default: 127.0.0.1] [aliases: fh]

--forward-port <FORWARD_PORT>
转发端口 [default: 80] [aliases: fp]

--visit-bind-port <VISIT_BIND_PORT>
映射成功,实际访问端口 [default: 0] [aliases: bind] [short aliases: b]

--log-level <LOG_LEVEL>
[default: info] [possible values: info, warn, error, debug, trace, off]

--maximum-rtime <MAXIMUM_RTIME>
最大等待读取时间 [default: 5]

--maximum-wtime <MAXIMUM_WTIME>
最大等待写入时间 [default: 5]

--maximum-wctime <MAXIMUM_WCTIME>
最大等待建立连接时间 [default: 10]

--heartbeat-delay <HEARTBEAT_DELAY>
发送心跳延时 [default: 30]

--channel-port <CHANNEL_PORT>
通信端口 [default: 0]

-h, --help
Print help information

-V, --version
Print version information

示例使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
1. 端口转发
fuc --forward-host xxx.xxx.xxx.xxx --forward-port
--forward-host: 转发到的地址
--forward-port: 转发到的端口
如: 转发流量到内网 10.10.10.4:3389
> fuc --forward-host 10.10.10.4 --forward-port 3389

2. socks5:
fuc --socks --su --s5p xxx --s5u xxx
--su: 可选的, 开启udp转发,
--s5p: 可选的, 认证密码, 默认不进行密码认证
--s5u 可选的, 认证账号, 默认账号 anonymous
--socks: 可选的, 开启socks5代理, 未指定--su的情况下不会转发udp
如: 开启udp转发与密码认证
> fuc --socks --su --s5p 123 --s5u socks
此时, 已开启udp转发,连接密码为 "123",账号为 "socks"

3. 指定穿透成功时访问的端口
fuc -b xxxx
-b | --visit-bind-port: 可选的, 默认随机分配
如: 访问外网端口 8888 转发到内网 80
> fuc --forward-port 80 -b 8888

4. 桥接模式 注意: 目前不能转发udp
fuc --bridge-listen xxxx --bridge-port xxx
--bridge-listen | --bl: 监听地址, 默认 127.0.0.1
--bridge-port | --bp: 监听端口, 默认不启用桥接
如: 开始桥接模式,并监听在9999端口, 本机ip地址为: 10.10.10.2
> fuc --bridge-listen 0.0.0.0 --bridge-port 9999 # 开启桥接
> fuc 10.10.10.2 9999 # 建立连接

级联:
> fuc --bridge-listen 0.0.0.0 --bridge-port 9999 # 第一级, IP: 10.10.10.2
> fuc --bridge-listen 0.0.0.0 --bridge-port 9991 10.10.10.2 9999 # 第二级, IP: 10.10.10.3
> fuc 10.10.10.3 9991 # 最终

5. 将连接信息通知到 Telegram 或其他
fus --observer "program:[arguments]"
--observer: 建立连接或断开连接时的钩子
如: 使用bash脚本将连接信息通知到tg
> fus --observer "/bin/bash:[telegram.sh]"

6. 指定客户端与服务端通信的端口
fuc --channel-port 8888 ...
--channel-port: 可选的, 客户端与服务端通信端口, 默认随机

多级代理搭建命令:

首先启动服务端:

1
2
3
192.168.189.141(攻击机)
./fus -p 9000
#默认启动的话服务端口就是6722

第一层代理:

1
2
3
4
5
6
#路由器nat转换:192.168.189.147:80(外网直接访问)
#外网ip:192.168.52.200
#内网ip:192.168.2.11

fuc --socks --bridge-listen 0.0.0.0 --bridge-port 9991 192.168.189.141 9000 -b 1080
#这条命令将`192.168.189.141:1080`设置为了第一层到达这一网段的代理节点

第二层代理:

1
2
3
4
5
#外网ip:192.168.2.22
#内网ip:10.10.10.10

fuc --bridge-listen 0.0.0.0 --bridge-port 9991 --socks 192.168.2.11 9991 -b 4444
#这条命令将`192.168.189.141:4444`设置为了到达这一网段的代理节点

大佬的代理过程如下:

搬过来参考一下:

这里演示多级代理 (三层代理) 可以此类推 -t参数表示自动分发包类型

总代理过程:

第一层代理 (直连服务端) (从公网访问(9001) -> 第一层)

第二层代理 (从公网访问(9002) -> 第一层 -> 第二层)

第三层代理 ( 从公网访问(9003) -> 第一层 -> 第二层 -> 最终 )

代理工具参考链接:https://red.lintstar.top/Attack/Tunnel-Construction#fuso%E3%80%90%E5%A4%9A%E7%BA%A7%E3%80%91

启发https://www.cnblogs.com/tomyyyyy/p/15667929.html#earthworm%E5%8F%88%E7%A7%B0ew