使用FRP进行多层流量代理

  1. 环境配置
  2. frp配置

frp作为常用的流量代理工具,在对于内网渗透过程中需要进行多层流量代理依然很方便,没有想象中的那么复杂。

Github地址:https://github.com/fatedier/frp

整体思路图如下:

我们需要通过在攻击机器上配置代理链(proxy chain),去访问内网第三层机器的服务或者资源。

环境配置

我这里开了三台虚拟机,配置了双网卡机器,在虚拟机内新建网卡,然后自定义IP,最后关掉防火墙就行:

frp配置

frp分为Server端和Client端,在作为代理的机器上配置好frps,需要把流量带出的机器配置frpc。

整体路线如下:

在VPS上上传好我们的frps,frps.ini文件内容如下:

1
2
3
4
5
6
[common]
bind_port = 47854 #客户端回连端口
dashboard_port = 47855 #web管理端端口
token = !q@w#e$r #加入token值进行认证
dashboard_user = 0934ht39 #web端账号
dashboard_pwd = qpo34hjtpq4 #web端密码

后台启用:

1
nohup ./frps -c frps.ini 2>&1 &

输出如下表示成功:

1
2
3
4
root@VM-16-8-ubuntu:/home/frp/frptest# cat nohup.out
2021/08/07 11:41:51 [I] [service.go:157] frps tcp listen on 0.0.0.0:47854
2021/08/07 11:41:51 [I] [service.go:273] Dashboard listen on 0.0.0.0:47855
2021/08/07 11:41:51 [I] [root.go:209] start frps success

接下来配置客户端,上传frpc,frpc.ini内容如下:

1
2
3
4
5
6
7
8
9
10
11
[common]
server_addr = xx.xx.xx.xx #VPS地址
server_port = 47854 #Server端设置的回连端口
token = !q@w#e$r #加入token值进行认证

[plugin_socks5]
type = tcp
remote_port = 6010 #新建socks5代理端口
plugin = socks5
plugin_user = admin #socks5代理账号
plugin_passwd = admin #socks5代理密码

运行 frpc -c frpc.ini,成功配置连接会有如下提示:

1
2
3
4
5
6
2021/08/07 11:47:23 [I] [service.go:282] [f6c32677441abc76] login to server succ
ess, get run id [f6c32677441abc76], server udp port [0]
2021/08/07 11:47:23 [I] [proxy_manager.go:144] [f6c32677441abc76] proxy added: [
plugin_socks5]
2021/08/07 11:47:23 [I] [control.go:179] [f6c32677441abc76] [plugin_socks5] star
t proxy success

我们可以使用proxifier进行测试

同样后续在其他内网机器上配置,frps.ini无需改动,frpc.ini的ip修改成上一层的ip地址就行。

最终效果如下:

proxychain如下:

从外层到内层依次排序

无论是几层代理,按照这个思路去弄就行了


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com

文章标题:使用FRP进行多层流量代理

本文作者:sher10ck

发布时间:2021-08-07, 12:54:01

最后更新:2021-08-07, 12:55:09

原始链接:http://sherlocz.github.io/2021/08/07/Multi-Frp/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录