FRP内网穿透部署

FRP内网穿透部署,第1张

FRP工具采用C/S模型,将FRP服务端部署在具有固定公网IP的机器上,FRP客户端部署在内网机器上,通过访问暴露在服务端上的端口,反向代理到位于内网的服务。在此基础上,FRP支持 TCP、UDP、>为了玩树莓派用尽了脑子

n2n是用来实现p2p的程序

p2p不用占用服务器资源, 网速取决于各个客户端的速度, 是内网穿透的"最佳方案"(如果稳定的话)

但是p2p并不能穿透所有的NAT, 比如NAT4目前还没有好用的穿透软件

如果你对你所在的网络自信的话建议使用一下这个软件, 运行超级简单, 几分钟就可以搞定内网穿透问题 而且不用再配置端口, 直接使用虚拟网卡ip就能访问节点

但笔者在实验之后发现n2n并不稳定, 所以就不再大篇写它了 这是相关资料:

项目地址: >最近参与内网渗透比较多,认知到自己在会话维持上过于依赖web服务,web服务一旦关闭,便失去了唯一的入口点。
本次以远程桌面连接来进行说明,介绍几种常用的连接方式。
本次目标主机ip为:1721686153

使用条件:服务器通外网,拥有自己的公网ip
msf是我进行内网渗透中用的最多的工具,它内置了很多强大的功能,用起来相当方便。
msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。

转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。

msf内置了socks模块,在session但基础上配置路由,调用即可使用,但是速度和稳定性都很差,不做详细介绍。

使用条件:服务器通外网,拥有自己的公网ip
lcx是一个经典的端口转发工具,直接把3389转发到公网的vps上。
通过大马上传lcxexe,执行系统命令,其中1111是vps的公网ip。

因为我公网vps使用的是linux的系统,lcx对应linux的工具为portmap 。
p1为监听的端口,p2为转发到的端口。

成功监听到转发出的3389端口。

直接使用远程桌面服务连接1111:33889

基于web服务的socks5隧道的优点是,在内网服务器不通外网的情况下也能正常使用。
常用的工具有:reGeorg,reDuh,Tunna和Proxifier。
本次只介绍reGeorg的具体用法。
选择对应脚本的tunnel上传到服务器。

访问上传文件,显示如下表示成功。

打开Proxifier,更改为脚本指定的端口。

本地电脑成功通过socks5带进了目标主机的内网。(若失败,可能是某些防护检测到了异常流量,可采用reDuh)
本地电脑直接远程连接目标主机的内网ip。

使用条件:目标主机通外网,拥有自己的公网ip
选择对应主机 *** 作系统的执行文件。

目标主机为windows系统,选择上传ew_for_Winexe文件。
公网vps使用ew_for_linux64文件。
首先在公网vps上执行:

-l为Proxifier连接的端口,-e为目标主机和vps的通信端口。

然后在目标主机中执行:

socks5隧道建立成功,成功把自己的主机带进目标内网。
使用Proxifier,配置ip和连接端口。

连接远程桌面成功。

传送门
使用条件:目标主机通外网,拥有自己的公网ip
首先需要在公网服务器搭建服务端,搭建方法参考: 传送门
要注意的是,客户端和服务端的版本号要一致,否则无法正常使用。
对frpcini进行配置,为了保证搭建的隧道不对他人恶意利用,加入账户密码进行验证。

上传frpcexe和frpcini到目标服务器上,直接运行frpcexe(在实战中可能会提示找不到配置文件,需要使用-c参数指定配置文件的路径frpcexe -c 文件路径)

公网vps主机上运行frps。

隧道建立成功,连接远程桌面。

类似的工具还有:sSocks,Termite等,不需要每种都掌握,有自己用的顺手的就行。

一般在网站服务的web服务关闭后,服务器重启后,大部门后门都会失效,这时需要用到系统服务封装工具。
以NSSM来进行示例,封装frpc为系统服务,建立持久的socks5隧道。
启动nssm图形化界面。

选择想要组册服务的exe应用。

设置服务的名字。直接点击install service,如下表示注册服务成功。

状态设置为启动,重启电脑进行测试,重启后frpcexe自动运行,成功和frps连接。

本次列举了一些常用的工具,还有很多工具没有列举到,
功能原理都是大同小异,有那么几个用的顺手就好。

中文文档 >[必须]标识头
[common]
是不可或缺的部分
[必须]服务器IP
bind_addr = 0000
0000为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6
[必须]FRP通讯端口
bind_port = 7000
用于和客户端内网穿透传输数据的端口,可自定义。
用于KCP协议UDP通讯端口
kcp_bind_port = 7000
也可以和“bind_port”共用同一端口,如果没有设置,则kcp在frps中被禁用,可自定义。
UDP通讯端口
bind_udp_port = 7001
以帮助使UDP打洞穿透NAT,可自定义。
[必须]连接认证密钥-特权模式
privilege_token = > 如果你想支持>如图中所示,R1和R2模拟成两台服务器并且提供相同的服务(地址分别为1721611 ,1721612),R3是交换机,R4是边界路由器也就是内部服务器的网关所在路由器(内网口地址为172161254 ),R5充当公网并且有环回口5555,在R4上的E0/0(地址为2222222221) 接口开启PAT,使得内网服务器可以访问外网R5的 5555
如图:
这时就进入关键性阶段了,1:写一条ACL来匹配公网路由,access-list 2 permit 2222222221
2:定义一个以内部服务器为地址的池:ip nat pool ccna 1721611 1721612 netmask 2552552550 type rotary (最后这两个一定要有意思就是让这些地址轮循)
3:将ACL跟地址池关连起来:ip nat inside destination (注意这个不是source) list 2 pool ccna
最后就是在R1,R2的line vty 0 4 下打no login 允许外网的登陆。
这时可以检验结果了,,在R5上telnet 2222222221 可以发现第一次时进入R1,第二次就进入R2了,
这 样就达到了两个服务器的负载均衡了。。当然这种情况是在多个服务器提供相同的服务的前提下才好用。
但是对于内部有多台服务器要同时开放一个相同的端口但是又只有一个公网IP时该怎么办呢?
图中标出了拓扑的详细结构,服务器地址分别为1721612 和1721613 ,网关为1721611 ,然后同样的跟上边一个实验一样,在边界路由器做基于接口的PAT转换,使得服务器可以访问公网,然后我们就开始在边界路由器上配置端口跟ip地址的映射,通常情况下我们都认为映射是这样写: ip nat inside source static tcp 1721612 80 2222222221 80 然后会发现下一台服务器没法再做相同端口的映射了,,因此我们就必需改变上面的命令来使得另一台服务器也可以基于80端口的映射:这进命令就可以改成:ip nat inside source static tcp 1721612 80 2222222221 100 与
ip nat inside source static tcp 1721613 80 2222222221 101 这样的两条映射。。那么这样写的映射是否真的可行呢?那就让我们一起来检验下成果,首先必需在两台服务器上面的>购买一个极路由,极路由可以安装应用,而且有提供域名解析,可以被用来作为本次内网穿透的实验。

随后给路由器安装frp的应用,在有广域网IP的自己家的路由器上安装frps,在内网安装frpc。
frp的源码可以在 github 上获取,页面上有关于frp的介绍:
在服务器端设置,选择版本,服务器地址保持默认的 0000 ,设置特权密码,用于客户端的连接,设置查询用户名和密码。
在客户端进行设置,选择与服务器对应的版本,填入服务器的域名或者IP,因为极路由自己有域名解析非常方便。添加自己设定的密码:

再加入配置文件,比如下面的内容将148和5两台主机的22端口做了分配:

运行客户端,查看运行状态:

以下通过ssh登陆到内网的树莓派上,这个板用安装了moodeaudio系统,可以看到相关的信息:

打开状态网页 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12810258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存