
前言
因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机。
也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有的时候代理太慢,但是自己配置Ngrok太过复杂,看到frp,发现操作非常的简单,这里来搭建学习。
frp介绍
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
搭建
服务端
frp程序地址:
https://github.com/fatedier/frp/releases
我在我的cent7的vps上搭建
服务端配置
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar
tar -zxvf frp_0..1_linux_amd64.tar.gz
cd frp_0..1_linux_amd64
rm -rf frpc*
这里有区分服务端和客户端,frpc就是客户端,frps就是服务端
frps.ini配置
[common]
bind_port =
dashboard_port =
dashboard_user = xx
dashboard_pwd = xx
其中dashboard是可视化的观察页面
运行
./frps -c frps.ini
客户端
在kali上搭建
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.32.1_linux_amd64.tar.gz
tar -zxvf frp_0..1_linux_amd64.tar.gz
cd frp_0..1_linux_amd64
rm -rf frps*
frpc.ini配置客户端,将本地的80端口映射到外网的7200端口上
[common]
server_addr = xxx
server_port = [web]
type = tcp
local_ip = 127.0.0.1
local_port =
remote_port=
启动客户端
./frpc -c frpc.ini
访问
这里访问公网IP的7200端口,目录下有默认的index.html,并且我在网站目录下放置了a.php
访问成功,并且速度非常的快。
如果看以前的教程的话,可以发现是没有systemd目录的,这个目录可以将frp配置成服务启动。
设置如下:
vim /usr/lib/systemd/system/frp.service [Unit]
Description=frp service
After=network.target syslog.target
Wants=network.target [Service]
Type=simple
# 服务端
ExecStart=/home/ubuntu/frp/frps -c /home/ubuntu/frp/frps.ini
# 客户端
# ExecStart=/root/frp/frpc -c /root/frp/frpc.ini [Install]
WantedBy=multi-user.target
只需要修改一个路径ExecStart即可。配置完后,就可以用如下命令来控制frp,非常的方便。
systemctl daemon-reload
service frp start
service frp restart
service frp stop
dashboard可视化就可以用来监控流量协议等