搜索
查看: 1459|回复: 1

利用FRP实现内网映射和外网Shell

[复制链接]

588

主题

862

帖子

2195

积分

管理员

本论坛第一帅

Rank: 9Rank: 9Rank: 9

积分
2195

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2020-7-8 22:43:58 | 显示全部楼层 |阅读模式

前面几期的文章中说过,如何利用花生壳等工具搭建内网映射。实现外网访问我们的内网,但是由于花生壳等软件不稳定而且慢最重要的是还有点小贵。由于笔者运维着几天服务器,就想着利用 frp 搭建内网穿透。 4168519372.jpg

原理

原理

前期准备

  • VPS 服务器(必须)
  • 路由器(可选)
  • 树莓派(可选)

获取安装服务端- frps

首先到 frp 的 releases 页面获取最新版的对应 VPS 的处理器架构的压缩包 https://github.com/fatedier/frp/releases 如何知道 VPS 的处理器架构?在 VPS 上运行这个命令:

arch

如果输出 x86_64 则需要获取带 linux_amd64 的那个压缩包; 如果输出的是其他的,则在文件列表中找 Linux 的对应架构的压缩包 以 x86_64 架构举例 如果获取比较慢可以到https://file.kskxs.com/?dir=frp/frp-v0.32.1这里去获取 获取后,上传到服务器并解压,或者利用下面方式解决。

cd /root
# 获取
wget --no-check-certificate https://github.com/fatedier/frp/ ... _linux_amd64.tar.gz
# 解压
tar -xzvf frp_0.33.0_linux_amd64.tar.gz
# 文件夹名改成 frp,不然目录太长了不方便
mv frp_0.18.0_linux_amd64 frp
cd frp
# 确保 frps 程序具有可执行权限
chmod +x frps

测试 ./frps --help

配置服务器端程序

参考以下配置文件 frps.ini

# 下面这句开头必须要有,表示配置的开始
[common]
# frp 服务端端口(必须)
bind_port = 7000
# frp 服务端密码(必须)
token = 12345678
# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
authentication_timeout = 900
# 仪表盘端口,只有设置了才能使用仪表盘(即后台)
dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
dashboard_user = admin
dashboard_pwd = admin
# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 10080
vhost_https_port = 10443
# 此设置需要配合客户端设置,仅在穿透到内网中的 http 或 https 时有用(可选)
# 假设此项设置为 example.com,客户端配置 http 时将 subdomain 设置为 test,
# 则你将 test.example.com 解析到服务端后,可以使用此域名来访问客户端对应的 http
subdomain_host = example.com

到处,我们服务器端就配置完成了。

启动 frp

./frps -c frps.ini
#后台运行
nohup /root/frp/frps -c /root/frp/frps.ini &
#结束
pkill frps

客户端 - frpc

获取 Windows 客户端,打开 frpc.ini 开始配置

配置 SSH

这里我们开始映射路由器的 22 端口 配置如下:

[common]
server_addr = xxx.xxx.xxx.xxx #公网服务器IP
server_port = 7000  #(和frps一致)
token = 12345678  #(和frps一致)

[ssh]
type = tcp
local_ip = 192.168.123.1 #内网IP
local_port = 22 #内网端口
use_encryption = false
use_compression = false
remote_port = 6000 #自定义转发端口

配置完成后,切换到 cmd 命令 执行 frpc.exe 命令 这时,我们可以利用 xxx.xxx.xxx.xxx:6000(xxx 为公网 IP)登录到我们的 SSH 服务器了。

配置 http

[router-web]
type = http
local_ip = 192.168.123.1
local_port = 80
remote_port = 10080
custom_domains = xxx.xxx.xxx.xxx

如上,我们可以利用 公网IP:10080 访问路由器的登录界面 需要注意的是,凡是上述的端口都需要在防火墙中开启。

配置路由器

上述的方法,需要我们的 pc(即客户端一直在线),但是现实中有点不允许,因为你的电脑不可能长时间开着,所以我们可以配置我们的路由器。

老毛子固件配置方案

登录路由器,在 frp 选项中开启并配置参数即可。 并在 外部网络——端口转发 添加规则即可 这样,我们便不需要长期开着电脑,从而可以实现端口转发。当然本文是将所有的功能转发到路由器上,当然你可以转发到局域网内的任意一台设备上。

生成 msf 外网 shell

因为我在路由器中直接配好了端口转发,所以无需在 kali 中配置端口转发,直接生成外网 Shell。成功得到 shell

需要注意的是,在生成 shell 时填写的是外网的 IP 和端口,本地配置 msf 时填写的内网的 IP 本文章转载自kali博客,原文地址:https://blog.bbskali.cn/index.php/archives/2074/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复

使用道具 举报

588

主题

862

帖子

2195

积分

管理员

本论坛第一帅

Rank: 9Rank: 9Rank: 9

积分
2195

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
 楼主| 发表于 2020-7-8 22:54:12 | 显示全部楼层
来说说优点和缺点把!
优点:速度快,稳定,想开几个节点就开几个,带有web管理面板。
缺点:需要购买vps服务器。没钱!!!
有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
我知道了
快速回复 返回顶部 返回列表