使用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
4root@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
62021/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" 转载请保留原文链接及作者。