服务器端配置
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,这个token之后在客户端会用到
token =12345678
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
2可以看到服务器端启动成功,然后我们访问7500端口,输入账号密码,可以看到管理端启动成功。
客户端配置
首先我们上传frpcexe(frp客户端)以及frpcini(客户端配置文件)到内网主机电脑上,启动前需要修改配置文件,代码如下:
# 客户端配置
[common]
server_addr = 服务器ip
# 与frpsini的bind_port一致
server_port = 7000
# 与frpsini的token一致
token = 12345678
# 配置ssh服务, 也可以用来映射其他端口如3389
[ssh]
type = tcp
local_ip = 127001
local_port = 22
# 这个remote_port端口自定义,配置完成后会在公网服务器开启6000端口,来映射内网主机22端口
remote_port = 6000
#socks5代理配置 ,一般这个用途比较多
[socks5]
type=tcp
plugin=socks5
# socks代理账号密码,需要修改不要使用弱口令
plugin_user=admin
plugin_passwd=admin
#映射到共外网服务器的端口
remote_port = 8000
2然后我们配置frpcini中的服务器ip,然后运行 frpcexe -c frpcini 命令,可以看到连接成功
socks5代理配置
1当我们在客户端配置文件中使用了socks5,当我们运行命令连接服务器时,会提示"sock5 start proxy success"
2然后我们安装proxifier(由于软件付费,需要激活码的粉丝可以私信我),安装完成后代开proxifier配置socks代理,首先我们点击"Profile"中的"Proxy Servers"
2然后我们选择添加,然后输入 公网服务器的IP地址和端口,以及frpcini文件中的socks5账号和密码 。
3然后点击"ok",之后会d窗,然后点击"是"
4然后我们就完成了socks5代理配置,现在自己的电脑全部的流量都会通过内网主机代理出去,我们就可以直接访问内网主机的内网,以及配置渗透工具进行内网渗透。可以看到代理检测成功。
简单说就是内网中的一台计算机具有自己的内部IP,外网的计算机具有公共的IP,而内部IP是无法直接通过外网来访问的,这就需要一种方式来将外网的IP转化为内部的合法IP来进行合法访问。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, >
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, >最近参与内网渗透比较多,认知到自己在会话维持上过于依赖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连接。
本次列举了一些常用的工具,还有很多工具没有列举到,
功能原理都是大同小异,有那么几个用的顺手就好。
1,通过公网服务器转发,这是目前市场上大多三方的内网穿透服务方式。
2,P2P穿透,端对端连接通信,即常说的UDP打洞方式,受国内复杂网络环境影响打洞成功机率不高。
3,通过公网服务器响应对二端握手穿透,穿透成功时直接二端P2P打洞直联。
内网穿透工具有很多,比如Ngrok、花生壳、frp。原理基本一样。
这里主要了解一下FRP, frp分为客户端和服务端,frps为服务端,frpc为客户端。
>
总结:
宝塔面板打开默认关闭的UDP
解决方案:
安装宝塔面板后,在服务器上安装frps,并开启KCP,发觉客户端frpc连接不上,始终提示 i/o timeout 。
检查了服务器(腾讯云)的防火墙,相关端口的TCP和UDP都已打开(已导入宝塔面板专门为腾讯云出的出入站规则,及之前使用AppNode面板的自定义出入站规则)。
各种调试,无解。
折腾了近2天。
忽然再次反映过来,KCP走的是UDP协议,因为安装宝塔面板之前是frps是好用的,所以判定问题出在宝塔面板上,是否是服务端系统(Raspbian)的UDP不通?
遂去宝塔面板论坛查询,发现宝塔面板安装后,默认关闭UDP端口连接。使用上面面的命令,打开防火墙的相关配置。
重启frpc,正常。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)