LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]内网穿透之FRP代理工具详解

admin
2023年12月28日 23:19 本文热度 1415

FRP工具的使用

FRP官方文档:https://gofrp.org/docs

一、FRP工具的介绍

1.为什么需要内网穿透

我们的物理机、服务器可能处于路由器后或者处于内网之中。如果我们想直接访问到这些设备(远程桌面、远程文件、SSH等等),一般来说要通过一些转发或者P2P(端到端)组网软件的帮助。

其实,对于FRP穿透工具来说,它和端口转发有所不同,端口转发是只会进行单个端口的流量转发,但是这在渗透中往往是不行的,我们通过通过FRP进行内网的全流量的数据代理,像FRP可以代理全端口、全流量的数据,这样我们就可以使用SocksCap或者Proxifier等工具进行连接。

2.FRP介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持TCP、UDP协议,为HTTP和HTTPS应用协议提供了额外的能力,且尝试性支持了点对点穿透。frp 采用go语言开发。更多的人使用 frp 是为了进行反向代理,满足通过公网服务器访问处于内网的服务,如访问内网web服务,远程ssh内网服务器,远程控制内网NAS等,实现类似花生壳、ngrok等功能。而对于内网渗透来讲,这种功能恰好能够满足我们进行内网渗透的流量转发。FRP最大的一个特点是使用SOCKS代理,而SOCKS是加密通信的,类似于做了一个加密的隧道,可以把外网的流量,通过加密隧道穿透到内网。效果有些类似于VPN。

3.为什么使用FRP

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。

  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。

  • 代理组间的负载均衡。

  • 端口复用,多个服务通过同一个服务端端口暴露。

  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。

  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。

  • 服务端和客户端 UI 页面。

二、FRP工具原理

1.FRP实现原理

frp 主要由客户端(frpc)和服务端(frps)组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。隐藏用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。

2.FRP图示


如上图所示,在目标内网(192.168.1.0网段)中,一共有多台内网服务器(使用三台进行简要说明),其中内网WEB服务器和内网数据库服务器的端口被映射到Nginx反向代理服务器上,这样直接访问Nginx反向代理服务器的IP加上对应的端口即可访问到内网WEB服务器和内网数据库服务器。

现在存在这样的一种情况,由于内网WEB服务器的端口被映射到了公网(也就是Nginx反向代理服务器的80端口上),因此可以通过访问Nginx服务器的80端口就直接可以访问到内网的WEB服务器上的业务,如果发现WEB主机上存在漏洞,通过漏洞拿到了WEB服务器的shell,注意这个shell并不是Nginx服务器的shell,而是内网WEB服务器的shell。

如果我们需要进行内网渗透,有两种思路,第一种是在内网WEB服务器上安装nmap、masscan这类工具进行扫描,第二种就是使用frp等工具进行代理,使用代理进行扫描。这里面就牵扯到两个问题,一个问题是如果拿下的这台主机是windows主机,但是在内网里面又发现了一台主机有web服务,这样怎么办?我们可以在这台主机上安装Burp和浏览器,进行抓包渗透,但是这个前提是你要可以连接RDP,也就是说内网WEB服务器的3389也是映射到公网上的,可以直接连接进行渗透;还有一个问题是如果拿下的主机是linux主机呢?怎么在linux主机上安装burp呢?这显然是不合理的,但是我们可以在拿下的这台linux主机上开启SOCKS代理,然后在本地使用SOCKS代理去连接,但是显然比较麻烦。因此,很多人在内网渗透中可能会选择使用FRP内网穿透工具来进行内网中的全流量代理,FRP是一个全流量代理,在本地可以使用SocksCap、Proxifier等工具进行连接。下面来进行说明。

首先,我们需要将FRP的服务端部署到公网VPS上,然后在我们拿下的那台内网主机上部署FRP的客户端,FRP在github上有多种版本,有些是有配置文件的,这样的话就需要在客户端和服务器端分别配置两个文件,客户端的文件分别是frpc文件和frpc.ini文件;服务器端的文件分别是frps文件和frps.ini文件

3.FRP工作原理介绍

首先启动frpc,frpc启动后会向frps注册,也就是内网WEB服务器会向VPS请求注册。

客户端请求frps,也就是当我们的攻击机去访问frps。

frps告知frpc有新请求,需要建立连接,也就是VPS告知内网WEB服务器,需要建立连接。

frps收到frpc的请求,建立新的连接,也就是VPS接收到了内网WEB服务器的请求,建立了新的连接。

frps吧frpc和攻击机的流量互相转发,将frps服务器当成流量中转站,也就是VPS将攻击机的流量转发给内网WEB服务器,把内网WEB服务器的流量转发给攻击机。

4.FRP配置文件

5.FRP使用方法参见本论坛中相关教程。


该文章在 2023/12/29 0:45:19 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved