目录

  • 一、常用指令
  • 二、本地转发
  • 三、远程转发
  • 四、动态端口转发

一、常用指令

在内网中,几乎所有的Linux/UNIX服务器和网络设备都支持SSH协议。在一般情况下,SSH协议是被允许通过防火墙和边界设备的,所以经常被攻击者利用,同时,SSH协议的传输过程是加密的,所以我们很难区分合法的 SSH会话和攻击者利用其他网络建立的隧道,攻击者使用SSH端口隧道突破防火墙的限制后,能够建立一些之前无法建立的TCP连接。

一个普通的SSH命令如下

 ssh root@192.168.1.1

创建SSH隧道的常用参数说明如下:

-C:压缩传输,提高传输速度
-f:将SSH传输转入后台执行,不占用当前的 Shell
-N:建立静默连接(建立了连接,但是看不到具体会话)
-g:允许远程主机连接本地用于转发的端口
-L:本地端口转发
-R:远程端口转发
-D:动态转发(SOCKS 代理)
-P:指定 SSH端口

二、本地转发

如图所示,测试环境为攻击者VPS(Kali Linux);有是一个小型内网,包含三台服务器;外部VPS可访问内网web服务器但不能访数据服务器;内网Web服务和数据库服务器可以互相访问,测试目标为:以Web服务器为跳板,访问数据库服务器的3389端口

以Web 服务器192.168.1.1为跳板将内网数据库服务器1.1.1.200的3389端口映射到机器192.168.1.4的1153 端口,再访问VPS 的 1153端口,就可以访问1.1.1.200的3389端口了

在VPS上执行如下命令,会要求输人Wcb服务器(跳板机)的密码

ssh -CfNg -L 1153(VPS端口):1.1.1.200(日标主机):3389(目标端口) root@192.168.1.1(跳板机)

执行如下命令,查看本地1153 端口是否已经连接

 netstat -tulnp | grep "1153"

执行如下命令,在本地系统中访问VPS的1153端口,即访问数据库服务器1.1.1.200的3389端口

rdesktop 127.0.0.1:1153

SSH进程的本地端口映射可以将本地(客户机)的某个端口转发到远端指定机器的指定端口;本地端口转发则是在本地(客户机)监听一个端口,所有访问这个端口的数据都会通过SSH隧道传输到远端的对应端口。

三、远程转发

测试环境与前面相同

以Web服务器为跳板,将 VPS 的3307端口的流量转发到1.1.1.200的3389 端口,然后访问VPS的3307端口,就可以访问1.1.1.200的3389端口了。
在Web服务器1.1.1.116上执行如下命令

ssh -CfNg -R 3307(VPS端口):1.1.1.200(目标主机):3389(日标端口) root@192.168.1.4

执行如下命令,在本地系统中访问VPS的3307端口,即访问数据库服务器1.1.1.200的3389端口

rdesktop 127.0.0.1:3307

本地转发是将远程主机(服务器)某个端口的数据转发到本地机器的指定端口;远程端口转发则是在远程主机上监听一个端口,所有访问远程服务器指定端口的数据都会通过SSH隧道传输到本地的对应端口

四、动态端口转发

测试环境拓扑图

在VPS上执行如下命令,建立一个动态的 SOCKS 4/5代理通道,需要输人 Web服务器的密码

ssh -CfNg -D 7000 root@192.168.1.1

接下来,在本地打开浏览器,设置网络代理,127.0.0.1:7000,通过浏览器访回内网域控制器1.1.1.2,可以查看本地7000端口是否已经连接,同时可以看到,在使用动态映射时,本地主机的SSH进程正在监听7000端口

动态端口映射就是建立一个SSH加密的SOCKS4/5代理通道,任何支持SOCKS 4/5协议的程序都可以使用这个加密通道进行代理访问。

SSH的常用玩法(SSH隧道)相关推荐

  1. Linux运维学习:中级进阶(2)——Linux企业常用服务(SSH、DHCP、FTP、NFS、DNS)

    SSH服务 简介 SSH(Secure Shell Protocol) 是由IETF网络工作小组制定,在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递 ...

  2. python字符串中find函数_Python之字符串常用花哨玩法

    字符串类型 在python中,字符串类型确实是一种很强大的类型,其中的功能函数更是令人震惊,这多么类都是谁写的,太感谢他了\(^o^)/ 当然,在实际工作中可能用不到那么多的函数,根据需求来嘛,一下介 ...

  3. ssh linux 配置文件详解,Linux ssh服务常用配置的详细描述及建议配置

    SSH服务常用选项描述 配置文件: /etc/ssh/sshd_config 1.AddressFamliy any:支持那IP协议:比如ipv4,ipv6,:默认 any: 2.Port 22 :S ...

  4. SSH客户端常用工具SecureCRT操作

    SSH客户端常用工具SecureCRT操作 1.1 SecureCRT工具介绍 SecureCRT是一款支持SSH(SSH1和SSH2)协议的终端仿真软件,常被用来运行于Windows下远程登录UNI ...

  5. 常用Linux的ssh远程终端连接工具

    1 putty 说明 putty是最简单的SSH工具,无需安装,支持多系统版本,下载后就可以直接使用. 优点: 1.免费 2.免安装 缺点: 1.不支持标签模式: 2.默认设置不友好,很多功能都需要额 ...

  6. Linux常用传输协议ssh和scp tcp udp http https ssh

    Linux常用传输协议ssh和scp   tcp udp http https ssh 1,SSH ssh介绍 SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network W ...

  7. 远程服务器的url怎么配置文件,Linux常用命令(5)--SSH访问远程服务器、SCP服务器间文件拷贝...

    一.使用"ssh"命令,登录访问远程服务器 Linux是一个支持多用户操作的系统,在同一时刻允许多个用户同时访问系统,共享系统提供的服务.那么用户如何从不同的机器上访问同一台Lin ...

  8. 【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(二)

    2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文由张宁 原创文章,转载请注明出处:  文章原文链接:https://www.qcloud.com/communi ...

  9. mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)

    来源:掘金 作者:老表 一.说一说 了解这个的起因是今天git push的时候遇到报错error: RPC 失败.HTTP 413 curl 22 The requested URL returned ...

最新文章

  1. 2.抽取代码(BaseActivity)
  2. 关于Linux,你该读哪些书
  3. 2038: [2009国家集训队]小Z的袜子(hose)+莫队入门
  4. 【Linux】一步一步学Linux——batch命令(134)
  5. C++回调机制的几种实现方式
  6. vscode gcc debug dbg gdb c cpp c++ cuckoo monitor
  7. 3d打印英语文献_DMD 激光熔覆3D打印机型设计在仿真计算中的经验分享
  8. Java基础复习——继承机制
  9. 一道自创的招聘测试题
  10. RabbitMQ之安装windows
  11. 在下层捕获上层抛出的异常
  12. 新手学Java,是该用记事本还是IDE?
  13. iPhone6 和iPhone6plus 快速适配
  14. 华为USG6000防火墙安全策略配置实例(CLI方式)
  15. xbox手柄接收器驱动_Xbox精英手柄,对这款游戏手柄使用感受
  16. npm run build 报错: No such file or directory
  17. vc调用浏览器打开指定网址页面
  18. Access的密码以及如何连接有数据库密码的 Access
  19. 面向对象的基础知识总结
  20. Python|猜数字小游戏

热门文章

  1. Metasploit之——高级扩展功能
  2. ThinkPHP开发的手册管理系统-文档云(仿看云),可二次开发
  3. MySQL 启动报 :“发生系统错误 193. *** 不是有效的Win32 应用程序”解决方法
  4. 连接直流开关的固态继电器
  5. 四位达林顿_常用达林顿输出ssr固态继电器继电器负载5v,逻辑性光耦
  6. 可充电电池:原理,隐患,及安全充电方法
  7. 虚拟机通过主机网卡共享上网
  8. 4W家庭理财 V2.4
  9. 计算机毕业设计Java学生宿舍管理系统(源码+系统+mysql数据库+lw文档)
  10. php抽奖算法,php抽奖算法