内网学习笔记 | SSH 隧道使用

前言

SSH 全称 Secure Shell,从它的名字来看这个协议就比较安全。SSH 协议是一种应用层协议,支持几乎所有 UNIX、Linux 平台。

得益于 SSH 协议在传输过程中都是加密,所以在流量层面也较难区分合法的 SSH 流量和攻击者产生的 SSH 流量。

因此在内网渗透过程中,使用 SSH 协议进行建立隧道的方法,一方面不用自己再上传同类工具,另一方面降低了因上传使用了同类工具被管理员发现的风险。

一、SSH 常用命令介绍

相信各位平时最常使用的 SSH 命令就是拿来连接 Linux 系统了,命令一般是这样:

ssh root@192.168.1.1

或者 -p 指定自己自定义的 SSH 端口、-i 指定自己的私钥文件等等。

如果拿 SSH 来创建隧道则需要用到下面的命令:

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

二、本地转发

目前有这样的一个环境,外网有一台攻击主机 ,可访问处于内网环境的 Web 服务器(双网卡),但无法访问 Web 服务器所在内网的办公主机,接下来就用 SSH 进行流量转发,使外网的攻击主机通过 Web 服务器访问到位于内网的办公主机。

环境拓扑如下:

图片

在攻击主机上执行以下命令,将内网办公主机的 3389 端口映射到自己的 3388 端口上

ssh -CfNg -L 攻击主机端口:内网办公主机IP:内网办公主机端口 Web服务器ssh用户名@Web服务器IP
ssh -CfNg -L 3388:192.168.7.110:3389 root@172.16.214.5root@172.16.214.5's password:

这条命令的意思就是将 Web 服务器 172.16.214.5 作为跳板,将内网办公主机的 3389 端口转发到攻击主机的 3388 端口,这样只要访问攻击主机的 3388 端口就会访问到内网办公主机的 3389 端口了。

为了判断代理转发是否建立成功,可以通过 netstat 进行判断

 
netstat -pantu | grep "3388"
> netstat -pantu | grep "3388"tcp        0      0 0.0.0.0:3388            0.0.0.0:*               LISTEN      14086/sshtcp6       0      0 :::3388                 :::*                    LISTEN      14086/ssh

可以看到 ssh 程序已经监听 3388 端口了,接下来连接本地的 3388 端口就可以连接到内网办公主机的 3389 端口了

rdesktop 127.0.0.1:3388

图片

三、远程转发

远程转发在这里其实也可以说是反向代理,目前有这样的一个环境:内网中不存在边界设备,但是内网的 Web 服务器能访问到攻击主机,而内网的办公主机则不行。

因此可以在拿到 Web 服务器的 Shell 后,采用远程转发的方式,即利用 Web 服务器 SSH 连接到攻击主机上进行代理转发,然后访问攻击主机的端口即可,拓扑图如下:

图片

将 Web 服务器作为跳板,进行远ssh -CfNg -R 攻击主机端口:内网办公主机IP:内网办公主机端口 攻击主机ssh用户名@攻击主机IP

> ssh -CfNg -R 3388:192.168.7.110:3389 root@172.16.214.48root@172.16.214.48's password:

同样的,为了判断代理转发是否建立成功,也可以通过 netstat 进行判断,和之前一样都是在攻击主机下执行下面的命令

netstat -pantu | grep "3388"

> netstat -pantu | grep "3388"tcp        0      0 127.0.0.1:3388          0.0.0.0:*               LISTEN      24728/sshd: roottcp6       0      0 ::1:3388                :::*                    LISTEN      24728/sshd: root

可以看到,同样的,在攻击主机上 3388 端口的监听已经被开启了,此时直接在攻击主机上访问 127.0.0.1:3388 就可以连接到 192.168.7.110:3389 了

rdesktop 127.0.0.1:3388

四、动态转发

动态转发需要攻击主机能够访问到目标主机,因此这里采用和本地转发一样的拓扑进行演示。

图片

在攻击主机上执行下面的命令

ssh -CfNg -D 攻击主机端口 Web服务器ssh用户名@Web服务器IP

> ssh -CfNg -D 4444 root@172.16.214.5root@172.16.214.5's password:

使用 netstat 可以看到现在 4444 端口已经被监听了

netstat -pantu | grep "4444"

> netstat -pantu | grep "4444"tcp        0      0 0.0.0.0:4444            0.0.0.0:*               LISTEN      3979/sshtcp6       0      0 :::4444                 :::*                    LISTEN      3979/ssh

动态转发其实就是建立一个 socks 连接,任何支持 socks 4/5 协议的程序都可以使用这个加密通道进行访问,例如这里以 proxychains 为例,借助 proxychains 从攻击主机访问到内网的办公主机的 3389 端口。

在 kali 上如果没有自带 proxychains,可以直接使用 sudo apt install proxychains 进行安装,安装完成后,需要修改 proxychains 的配置文件

vim /etc/proxychains4.conf

来到配置文件最后一行,如果有之前配置好的代理,可以用 # 号注释掉,然后另起一行添加上我们的代理,添加内容为:

socks5 127.0.0.1 4444

修改后之后,按下esc,然后按下:wq 保存退出

之后使用下面的命令连接内网办公主机 192.168.7.110 的 3389 端口。

proxychains4 rdesktop 192.168.7.110:3389

图片

可以看到动态转发要比本地转发自由度高出不少,借助动态转发可以访问到内网 Web 服务器能访问的所有地址、端口,没有了本地转发只能访问单个IP、端口的限制。

五、SSH 隧道攻击的防御

对 SSH 进行双向访问控制策略可以避免这些问题,一方面只允许可信 IP 才能连接,一方面只允许连接到可信 IP。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要基于SSH隧道和Chrome插件SwitchyOmega访问内网机器,你可以按照以下步骤进行设置: 1. 在你的内网机器上启动SSH服务器,并确保已经正确配置了SSH登录和端口转发。 2. 在本地计算机上安装SSH客户端,比如OpenSSH(Windows上可以使用PuTTY)。 3. 使用SSH客户端创建一个SSH隧道,将本地计算机的某个端口与内网机器的某个端口进行绑定。例如,如果你希望访问内网机器的SSH服务(默认端口22),可以执行以下命令: ``` ssh -L 8888:localhost:22 username@内网机器IP ``` 这将在本地计算机的8888端口上创建一个SSH隧道,将流量转发到内网机器的SSH服务。 4. 安装Chrome浏览器插件SwitchyOmega,它可以帮助你设置指定规则的代理服务器。 5. 打开SwitchyOmega插件的选项页面,并创建一个新的情景模式(Profile),将代理服务器设置为本地计算机上创建的SSH隧道,即将代理服务器配置为`127.0.0.1:8888`。 6. 在SwitchyOmega中设置规则,将需要通过SSH隧道访问的内网网址或域名配置为使用刚刚创建的情景模式。 7. 确保SwitchyOmega插件已经启用,并且选择了刚刚创建的情景模式。 现在,当你访问被配置为使用SSH隧道内网网址或域名时,Chrome浏览器将通过SSH隧道连接到内网机器,实现访问内网机器的功能。 请注意,这只是一种基于SSH隧道和SwitchyOmega插件的方法,你也可以尝试其他工具和方法来实现类似的目的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是黑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值