ssh隧道详解与案例利用讲解

你是否有过自己身处内网,却想整个远控上线?你是否有过身处目标内网,却想把目标的内网的Linux的ssh转发出来?你是否想过穿透多层网络代理?那么,ssh隧道技术你值得学习。

镇帖

I:SSH隧道是什么

  • 专业一点:
    SSH隧道是一种通过加密的SSH连接传输任意网络数据的方法。它可用于为遗留应用程序添加加密。它还可用于实现VPN(虚拟专用网络)和跨防火墙访问Intranet服务。原文:https://www.ssh.com/ssh/tunneling/
  • 半吊子一点:
    咱也知道怎么解释,咱也不知道问谁。ssh隧道就是以ssh协议为基础的隧道,比如高速公路隧道,就是以高速公路为基础的隧道。有什么用?高速公路隧道有什么用?是不是穿透一些山体(阻碍物)以达到通行的目的?那么ssh隧道也是如此,通过ssh协议去到本来不可达的目的地。

II:SSH隧道能干嘛

能干的事情非常多,举些具体例子:

  1. 本地远控上线,不需要什么花生壳,什么路由器映射。
  2. 把本地搭建的网站映射到外网,让网友访问。
  3. 能做代(fan)理(qiang)。
  4. 在内网渗透中,可以穿透多层网络,直达目标网络根部。

III:SSH隧道分三种

  • 本地ssh隧道
  • 远程ssh隧道
  • 动态ssh隧道(代理)

IV:SSH隧道相关命令

  • Linux下的ssh命令参数
root@vultr:~# ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]
  • windows下的SSH
    由于windows下是没有ssh的,但是有plinkhttps://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html,命令的话跟ssh多少会有点出入。

  • ssh隧道常用选项

-N #告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f #告诉SSH客户端在后台运行
-L #本地转发
-R #远程转发
-D #动态转发
-C #数据压缩
-g #在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。注:这个参数我在实践中似乎始终不起作用。

V:SSH隧道详解与实例应用

本地ssh隧道

假设victim210.10.2.2要从hacker_vps3.3.3.5下载东西,且victim2无法直接访问到hack_vps,那么正常情况是在victim下载,然后从victim传到victim2,可如果架设本地ssh隧道,那一切都简单了。

victim2执行:ssh -C -N -L 0.0.0.0:8080:3.3.3.5:80 -p 22 root@10.10.10.10
该命令释义: 本地全部网卡监听8080端口,然后把本地网卡监听的8080的数据通过VPS10.10.10.10发送的3.3.3.580端口。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZdzJFDTy-1580898221724)(https://www.github.com/52stu/Images/raw/master/小书匠/1561728549926.png)]
现在,victim2只需要在浏览器访问http://127.0.0.1:8080就可以访问到3.3.3.580端口开放的web服务了。

远程SSH隧道

远程SSH隧道
 hacker机执行:ssh -C -N -R 0.0.0.0:8080:192.168.1.5:443 -p 22 root@3.3.3.5
该命令释义: hacker_VPS会全端口监听8080端口并把来自该端口的全部数据传到192.168.1.5这台机器的443端口。
 那么如果我们的远控生成服务端的时候,IP就要填我们的hacker_vps这台机器的IP,在本例中就是3.3.3.5,填写端口在本例中的端口就是8080注意,在远控的客户端(本地界面端)监听端口是:443;而且,如果需要做远程SSH隧道,是需要配置VPS的ssh服务的,比如配置本案例中的3.3.3.5/etc/ssh/sshd_config,需要加上如下配置:

# all completed and restart ssh service:/etc/init.d/ssh restart
# vi /etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
PasswordAuthentication yes

动态SSH隧道

动态SSH隧道

如上图,hacker是无法直接访问Victim210.10.2.2等内网机器的,那么如果我们想在hacker192.168.1.5这台机器直接访问到这些机器,我们可以用本地SSH隧道,但是这技术只能是点对点的,也就是一个对端口对应一个端口,没办法做的一对多,所以就有了动态SSH隧道技术

hacker机执行:plink.exe -C -N 1080 -P 22 root@3.3.3.5该命令释义: 在本地监听1080作为代理端口,该端口监听到数据都会通过Victim_out发送出去,所以就可以达到一对多的效果,也可以用来做网络(fan)代理(qiang),比如访问外网。使用方法是配合proxifer,这个的使用另开课程讲解。


说完了单个的SSH隧道的实现和案例,就要涉及多个SSH隧道的配合使用,比如远程SSH隧道配合本地SSH隧道,又或者是三种隧道方式一起使用,打通深层次的网络。使用姿势请加入培训观看。


关于我们

5号黯区是一支致力于红队攻防研究与培训的团队,官网:http://www.dark5.net

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值