使用 FRP 搭建内网穿透,流畅运行远程桌面!

VSole2022-08-02 06:31:12

一、FRP简介:

FRP工具采用C/S模型,将FRP服务端部署在具有固定公网IP的机器上,FRP客户端部署在内网机器上,通过访问暴露在服务端上的端口,反向代理到位于内网的服务。在此基础上,FRP支持 TCP、UDP、HTTP、HTTPS 等多种协议,提供了加密、压缩、身份认证、代理限速和负载均衡等众多能力。

  • FRP客户端服务端通信支持TCP、KCP 以及Websocket 等多种协议;
  • 采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间;
  • 支持代理组间的负载均衡;
  • 端口复用,多个服务可通过同一个服务端端口暴露;
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用FRP客户端完成某些工作;
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。

FRP开源项目地址:

 https://github.com/fatedier/frp

FRP使用场景:

 让互联网(外部网络)的设备能访问局域网(内部网络)的设备所提供的服务,尤其是在内部网络出口没有固定公网IP的场景中。

二、FRP测试环境:

角色

系统

备注

服务端

CentOS7.6

在腾讯云运行,具有公网IP

客户端

Windows7

在本地内网运行,可访问互联网,内网ip:172.16.103.133

测试目标:将内网Windows 7的远程桌面端口(3389)暴露到服务端,实现在外部网络可以通过远程桌面连接到内网的Windows 7。

三、FRP搭建:

3.1FRP服务端搭建

关闭CentOS 7.6防火墙:

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

关闭CentOS 7.6 SELinux:

vi /etc/selinux/config
SELINUX=disabled     ##将SELINUX从enforcing改为disabled
init 6   ## 重启系统
sestatus   ##查看SELiunx状态

安装配置FRP服务端:

yum -y install wget   ##安装wget工具
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz  ##下载FRP部署包
tar -zxvf frp_0.38.0_linux_amd64.tar.gz   ##解压FRP部署包
cd frp_0.38.0_linux_amd64   ##进入FRP文件夹
vi frps.ini   ##编辑服务端配置文件
 [common] 
 bind_port = 54420   ##客户端通信端口 
 vhost_http_port = 54421    ##HTTP端口 
 vhost_https_port = 54422   ##HTTPS端口 
 token = 123456   ##自定义秘钥
 dashboard_port = 7112  ##服务端Web管理端口(选配)
 dashboard_user = admin   ##服务端WeB管理用户名(选配)
 dashboard_pwd = 123456   ##服务端WeB管理密码(选配)
wr退出保存。

运行FRP服务端:

前台运行:
./frps -c ./frps.ini     ##在FRP目录下输入此命令
后台运行:
nohup ./frps -c ./frps.ini &   ##在FRP目录下输入此命令

腾讯云安全组放行端口:

  • 放行从外网访问公网IP指定端口的流量;
  • 放行TCP端口:54420、54421、54422、7112。

3.2FRP客户端搭建:

FRP客户端支持Windows、Linux、MacOS、ARM、OpenWRT等平台,本例以Windows 7为例,将Windows 7的远程桌面端口(3389)暴露到服务端,实现从公网访问Windows 7的远程桌面。

  • 使用浏览器访问
  • https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz下载FRP安装包;
  • 解压安装包:

  • 编辑文件夹中的FRP客户端配置文件"frpc.ini":
[common]
server_addr = 140.143.XXX.XXX  ##服务端的公网IP
server_port = 54420    ##服务端配置的端口
token = 123456    ##服务端配置的密钥
admin_addr = 172.16.103.133   ##客户端Web管理地址(选配)
admin_port = 7112   ##客户端Web管理端口(选配)
admin_user = admin   ##客户端Web管理用户名(选配)
admin_pwd = 123456  ##客户端Web管理密码(选配)
[mstsc]     ##服务标识,可随意写
type = tcp   ##要暴露的协议
local_ip = 172.16.103.133    ##提供服务的内网主机的IP
local_port = 3389    ##服务使用的内部端口
remote_port = 10088    ##服务暴露到公网后使用的端口
以下为暴露Web服务的配置示例(选配):
[Web1]     ##服务标识,可随意写
type = http   ##要暴露的协议
local_ip = 172.16.103.133   ##提供服务的内网主机的IP
local_port = 80    ##服务使用的内部端口
remote_port = 54421    ##服务暴露到公网后使用的端口
custom_domains = web1.yuezq.com
[Web2]     ##服务标识,可随意写
type = http   ##要暴露的协议
local_ip = 172.17.103.133   ##提供服务的内网主机的IP
local_port = 8060    ##服务使用的内部端口
remote_port = 54421    ##服务暴露到公网后使用的端口
custom_domains = web2.yuezq.com

注:与暴露TCP协议不同,使用FRP暴露HTTP/HTTPS协议时,可采用端口多路复用的方式。即一个外部端口可对应多个内部不同HTTP/HTTPS服务的端口,并通过在客户端配置文件中配置不同的域名来进行区分访问。

  • 运行FRP客户端:
  • 在当前FRP目录下,在上方地址栏中输入"cmd"并回车。

  • 将FRP客户端配置为开机自启:
  • 制作批处理文件:
  • 在FRP文件夹下新建一个"start.bat"文件,然后粘贴以下脚本后保存退出。
@echo off
:home
frpc -c frpc.ini
goto home

关闭Windows 7的休眠:

打开计划任务程序:

四、FRP连接测试:

访问FRP服务端的Web界面进行验证:

访问FRP客户端的Web界面进行验证:

在外网使用远程桌面工具进行连接:

远程桌面可成功登录:

frp内网穿透frp
本作品采用《CC 协议》,转载必须注明作者和本文链接
以上两种代理方式虽均能实现穿透的目的,但是代理质量相对来说并不稳定,难以满足渗透的需求。FRP反向代理 FRP 的 中文官方文档 可了解其作用和用法。
域渗透实战之 vsmoon
2023-11-14 10:40:10
域渗透实战之 vsmoon
FRP穿透
2021-08-08 19:36:02
FRP 是一个专注于穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp是一个高性能的反向代理应用,可以轻松地进行穿透,对外提供服务,?支持tcp, udp, http, https等协议类型,可以将服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网;
声明本文仅限于技术讨论与分享,严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负,与本人无关。前言也是第一次使用某商设备,不同厂商的规则库不一样,总的来说流量监控很大一部分是基于规则库来实现的,所以在进行穿透的时候就要考虑如何bypass设备告警。总结frp的特征比较明显,所以就单纯魔改frp的话除了流量上做加密外,简单的修改特征bypass设备也是可以实现的。
验证子域邮箱名Invoke-DomainHarvestOWA-ExchHostname -Domain -UserList .\userName.txt -OutFile sprayed-ews-creds.txt. Office 365近源渗透物理渗透、物理攻击、近源渗透,这几个的意思都是在接近目标进行安全测试。Wi-Fi网线没有终端准入控制,直接插网线 DHCP 获取 IP。Bad USBBlack Hat 上提出 Bad USB。社会工程学在信息收集过程中就开始。钓鱼本质是利用人的信任。Windows 主机FTP服务端开启 FTP 服务。使用 certutil 下载的文件会原封不动在?目录下保存一份,文件名位随机字符,使用 delete 可以删除刚下载的缓存。
在此基础上,FRP支持 TCP、UDP、HTTP、HTTPS 等多种协议,提供了加密、压缩、身份认证、代理限速和负载均衡等众多能力。FRP开源项目地址: ?
搭建socks5代理配置文件如下:服务端:./frps -c frps.ini?#最大同时连接数。我们本机设置代理: socks5 xxx.xxx.xxx.xxx?另一台win配置代理用地址连接另一台主机的3389连接成功?查看控制台流量信息等
0x00 前言本文以渗透的视角,总结几种个人常用的穿透代理工具,介绍其简单原理和使用方法。0x01 nps-npc1.1 简介nps是一款轻量级、高性能、功能强大的穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问网站、本地支付接口调试、ssh访问、远程桌面,dns解析等等……),此外还支持http代理、socks5代理、p2p等,并带有功能强大的web管理端。
VSole
网络安全专家