freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

内网隧道代理技术之FRP的使用
2023-08-23 02:26:42

FRP介绍

FRP (Fast Reverse Proxy) 是一个使用 Go 语言开发的高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,他支持点对点的转发,还有全流量转发,FRP最大的一个特点是使用SOCKS代理,而SOCKS是加密通信的,类似于做了一个加密的隧道,可以把外网的流量,通过加密隧道穿透到内网。效果有些类似于VPN

FRP下载地址:https://github.com/fatedier/frp/releases

图片.png

FRP使用手册:https://gofrp.org/docs/

图片.png

如下,我们将FRP工具下载到本地解压之后,工具内的文件如图所示,FRP主要分为两种文件, frps 和 frpc,frps就是 FRP Server 服务端,frpc就是 FRP Client 客户端,.ini 后缀的就是配置文件,.exe后缀的就是运行文件

图片.png

我们这里举个列子,我们现在正在进行渗透攻击内网服务器,我们要将 frps 及 frps.ini 放到具有公网 IP 的机器上也就是黑客的电脑上,将 frpc 及 frpc.ini 放到处于内网环境的机器上,这样我们可以对内网的机器做一些端口映射、转发或者内网穿透,将内网的机器连接到我们位于公网的黑客主机上

图片.png

FRP两个文件,都有两种配置文件,frpc.ini 和 frpc_full.ini,如名字一样,只有.ini 的配置文件比较简单,我们打开frpc.ini 文件发现需要配置的内容参数如下:

图片.png

frpc_full.ini就如同名字一样,比较全面,可以配置的参数可以说是非常的详细,我们打开frpc_full.ini文件发现可以配置的内容参数如下:

图片.png

FRP启动

假设现在我们遇到了攻防场景,需要将一台位于内网的机器B代理到位于官网的黑客机器A上,场景如下:

图片.png

服务端启动配置

Frp 默认给出两个服务端配置文件,一个是简版的 frps.ini,另一个是完整版本 frps_full.ini,服务端一般就是搭建在公网的机器上(黑客的机器)

我们打开代理配置文件,配置如下(默认配置中的监听的端口是7000,端口我们可以根据实际情况自己修改):

图片.png

然后我们使用如下的命令,使用代理配置文件启动工具,使用FRPS 运行 frps.ini 配置文件

frps.exe -c frps.ini

图片.png

客户端启动配置

FRP 默认也给出两个客户端配置文件,一个是简版的 frpc.ini,另一个是完整版本 frpc_full.ini。 这里同样以简版的 frpc.ini 文件为例,假设 FRP 服务端所在服务器的公网 IP 为 X.X.X.X(这里我们需要在内网机器上启动):

那我们需要将配置文件修改如下:

图片.png

然后我们使用如下的命令,使用代理配置文件启动工具,使用FRPC 运行 frpc.ini 配置文件:

frpc.exe -c frpc.ini

图片.png

然后我们的内网机器B就会连接到我们位于官网的机器A上,操作非常便捷简单

FRP的配置文件介绍

FRP配置文件非常重要,需要什么功能就可以进行不同的配置,来进行代理

FRP配置文件参考文档:https://gofrp.org/docs/reference/server-configures/

服务端配置参数:

图片.png

客户端配置参数:

图片.png

FRP 点对点转发(P2P)

点对点转发(P2P)从功能上讲有点类似于端口转发或者端口映射一类的技术

实验扑拓

假设现在我们有如下的场景,我们获得了位于内网的一台主机的权限,并且知道了他的登录用户名和密码。他的3389端口只对内网开放,现在我们需要将该主机的3389端口映射到公网我们的VPS的端口,那样,我们连接我们VPS的端口就相当于连接内网主机的3389端口了:

图片.png

位于内网机器由于防火墙等网络限制无法直接访问我们位于官网VPS机器的端口,我们这时可以通过使用FRP进行端口转发到公网端口,从而连接内网

实验环境

现有实验环境如下:

身份IP
VPS192.168.0.112
内网机器192.168.41.133

服务端

首先我们需要将 frps.exe 和 frps.ini 文件上传到VPS机器上,修改 frps.ini 文件配置参数如下:

图片.png

然后使用以下的命令启动服务端,开始监听位于VPS机器的7000端口

frps.exe -c frps.ini

图片.png

客户端

我们需要将 frpc.exe 和 frpc.ini 文件上传到内网机器上,修改 frpc.ini 文件配置参数如下:

图片.png

然后使用以下的命令启动客户端,来连接我们位于官网的机器(192.168.0.112)的7000端口

frpc.exe -c frpc.ini

图片.png

连接完成后,服务端会传来回显

图片.png

这时我们就可以在VPS上通过远程桌面连接本地的6000端口去连接位于内网的机器,(这一步

# 渗透测试 # 网络安全 # 内网渗透 # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录