# FRP
首先选一个看着顺眼的版本 Releases・fatedier/frp (github.com),这里我使用的是 v0.54.0
FRP 是一种快速反向代理,允许您向 Internet 公开位于 NAT 或防火墙后面的本地服务器。它目前支持 TCP 和 UDP,以及 HTTP 和 HTTPS 协议,允许通过域名将请求转发到内部服务。可以通过利用 frp 简单的将内网环境暴漏出来
FRP 分为客户端和服务端两个部分,一般我们将客户端运行在需要暴露出来的内网主机上,而服务端我们运行在一台公网服务器上。这里我们使用虚拟机来进行一个演示
首先将 linux 对应版本的 FRP 传入 kali 虚拟机中
我们解压进入目录后修改 frps.toml 文件(这里 kali 是模拟一台公网主机)
[common] | |
# frp 监听的端口,默认是 7000,可以改成其他的 | |
bind_port = 7000 | |
# 授权码,请改成更复杂的 | |
token = clown | |
# frp 管理后台端口,请按自己需求更改 | |
dashboard_port = 7500 | |
# frp 管理后台用户名和密码,请改成自己的 | |
dashboard_user = clown | |
dashboard_pwd = clown | |
enable_prometheus = true | |
# frp 日志配置 | |
log_file = /var/log/frps.log | |
log_level = info | |
log_max_days = 3 |
然后我们使用 root 权限启动服务端
这里的警告不用管
这里能正常访问到对应的管理后台就可以了,然后这里将客户端传入到我们要暴露的目标主机上
这里修改 frpc.toml 文件
# 客户端配置 | |
[common] | |
server_addr = "192.168.246.136" # 与 frps.ini 的 bind_port 一致 | |
server_port = "7000" # 与 frps.ini 的 token 一致 | |
token = "clown" | |
[test_sock5] | |
type = tcp | |
remote_port =8111 | |
plugin = socks5 | |
[mstsc] | |
type = tcp | |
local_ip = 192.168.246.146 | |
local_port = 3389 | |
remote_port = 3389 |
然后这里直接启动即可
这里可以去看一下管理后台
可以看到这里已经上线了
这里就已经可以用 kali 的 ip 远程桌面到内网 ip 了
# NPS
nps 是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持 tcp、udp 流量转发,可支持任何 tcp、udp 上层协议(访问内网网站、本地支付接口调试、ssh 访问、远程桌面,内网 dns 解析等等……),此外还支持内网 http 代理、内网 socks5 代理、p2p 等,并带有功能强大的 web 管理端。
这里实际上也是我们将服务端运行在公网主机上,而将客户端运行在要暴漏的内网主机上。先将 server 端上传到 kali 上解压
这里先修改 conf 目录下的 nps.conf 文件
修改完成后运行 install 进行安装
./nps install |
启动 nps
nps start |
访问 nps 管理页面
使用上面的用户名密码登录
这里选择新增客户端
然后我们将对应的客户端放入到需要暴漏的目标主机上
然后执行上面的命令
我们可以看服务端的后台
这里连接状态已经是在线了
# 配置 socks5 代理
这里选择新增
这里给定一个客户端 ID(这里 id 要和客户端那里的对应)给定一个服务端端口
# 配置端口转发
新增 TCP 隧道用于远程控制
这里同理