使用SSH协议搭建隧道(附搭建环境超详细)

0x00 前言

SSH协议

在内网中,几乎所有的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端口

0x01 本地转发

如下图所示,测试环境为:左侧为攻击者VPS ( Kali Linux192.168.200.23);右侧是-一个小型内网,包含三台服务器;外部VPS可以访问内网Web服务器,但不能访问WIN7,内网Web服务器和WIN7可以互相访问。测试目标为:以Web服务器为跳板,访问WIN7的3389端口。

配置说明

192.168.200.10(仅主机)
192.168.200.23 (仅主机)
192.168.100.34(NAT)、192.168.200.34(仅主机)
192.168.100.7(NAT)
在这里插入图片描述
以Web服务器192.168.200.34为跳板,将内网win7的3389端口映射到VPS机器192.168.200.23的2333端口,再访问VPS的2333端口,就可以访问192.168.100.7的3389端口了。在VPS上执行如下命令,会要求输人Web服务器(跳板机)的密码,如图3-70所示。ssh -CfNg -L 2333(VPS 端口):192.168.100.7(目标主机) :3389(目标端口)

ssh -CfNg -L 2333:192.168.100.7:3389 root@192.168.200.34

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

执行如下命令,查君本地2333端口是否已经连接。可以看到,在进行本地映射时,本地的SSH进程会监听2333端口,如图下图所示。

netstat -tulup | grep 2333

在这里插入图片描述
执行如下命令,在本地系统中访问VPS的2333端口。可以发现,已经与win7(192.168.100.7)的3389端口建立连接

rdesktop 127.0.0.1:2333

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

0x02 远程转发

。。。。正在研究
192.168.200.20不能访问192.168.100.34
但是192.168.100.34可以访问192.168.200.20
在这里插入图片描述

有懂网络的小伙伴可以给我说说QWQ

0x03动态转发

配置说明

192.168.200.10(仅主机)
192.168.200.23 (仅主机)
192.168.100.34(NAT)、192.168.200.34(仅主机)
192.168.100.7(NAT)
在这里插入图片描述
在linux(192.168.200.23)上执行以下命令,然后输入192.168.200.34的密码

ssh -CfNg -D 9999 root@192.168.200.34

再查看一下9999端口是否在运行

netstat -tulup | grep 9999

在这里插入图片描述
接下来在linux(192.168.200.23)上的浏览器打开,设置网络代理,通过浏览器访问内网win7(192.168.200.7)
选着“手动代理配置” > “SOCKS主机”127.0.0.1, > “端口”9999
在这里插入图片描述
通过网络代理访问win7(192.168.100.7)
在这里插入图片描述
动态端口映射就是建立一个SSH加密的SOCKS4/5代理通道,
任何支持SOCK4/5协议的程序都可以使用这个加密通道进行代理访问。

总结一下

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

用SSH端口隧道突破防火墙的限制后,能够建立-些之前无法建 立的TCP连接。

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值