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
nc -VV 192.168.136.143 22
我们再使用Nmap探测SSH客户端使用的加密算法:
nmap --script ssh2-enum-algos -sV -p 192.168.136.143
可以发现使用算法中包含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)配置文件:
运行/jmitm2-0.1.0/bin目录下的runm.sh程序,开始监听连接:
./runm.sh
依次运行以下命令:
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客户端机器上登录ssh服务端,命令如下:
ssh root@192.168.136.139 -p 22 -2
并输入密码toor进行登录。
查看运行的程序runm.sh所输出的内容中,发现成功捕获到用户名(root)/密码(toor):
至此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)选择虚拟机使用的网卡,如图
(2)选择start sniff,进行嗅探,点击Hosts按钮,扫描出局域网中存活主机。
(3)点击下方“ARP”按钮,添加需要嗅探的两个目标主机IP地址,如图
(4)点击工具栏上“ARP”按钮,开始中间人攻击。
(5)在Windows虚拟机(169.254.238.43)中进行ssh连接,并输入相关用户名密码
ssh 用户名@169.254.227.194 -p 22 -1
查看Cain软件,发现arp到用户名和密码,如图:
最后还可以查看ssh连接时所执行过的命令。
备注:
可能会出现SSH密钥不对的情况,这是因为目标已经被链接过的原因,重启机器即可。
这里SSH1.0版本不包含1.9版本,1.9版本的攻击方法是降级攻击,先通过脚本对其进行降级,再进行arp,这里以后有时间再试试? 之前试过几次,没试出来,使用的ettercap嗅探时会报错!???