涉及程序:
SSH,OpenSSH
描述:
多个SSH客户端易受“中间人”(Man-in-Middle)攻击
详细:
SSH 是一款对数据传输进行加密的软件。
由于SSH客户端缺乏对协议改变后接收的警告信息正确的处理,远程攻击者可以利用此缺陷通过Man-in-Middle方式进行攻击。
SSH在协商使用KEY进行加密通信前会交换Banner信息,一般的Banner信息如下所描述:
SSH-1.99-OpenSSH_2.2.0p1
SSH客户端通过这个信息知道使用协议1版本,并提取数据库中的相应Hostkey,但是如果攻击者如果提供SSH客户端从来没有使用过的协议2版本的Banner信息如:
SSH-2.00-TESO-SSH
客户端此时查找其数据库并因为只发现服务器SSH1的KEY而认为丢失了hostkey,攻击者通过Mamn-in-Middle攻击提交如下的信息给SSH客户端:
Enabling compatibility mode for protocol 2.0
The authenticity of host ’lucifer (192.168.0.2)’ can’t be established.
DSA key fingerprint is ab:8a:18:15:67:04:18:34:ec:c9:ee:9b:89:b0:da:e6.
Are you sure you want to continue connecting (yes/no)?
可使SSH客户端简单的按yes来代替编辑Know_hosts文件并重新启动SSH客户端,一旦接收此hostkey,SSH客户端就连接到攻击者的SSH服务器,攻击者可以在自己的SSH服务器中记录登录用户名和密码并转发SSH连接到实际的SSH服务器,用户的帐户就在没有被提醒的情况下遭到破坏。
类似的Man-in-Middle攻击在SSH2协商MAC算法时也存在。
攻击方法:
暂无有效攻击代码
解决方案:
目前厂商还没有提供补丁或者升级程序,建议用户随时关注厂商站点
(责任编辑