linux嗅探工具[Dsniff]( 二 )


[-]指定要嗅探的主机
是自带的一个具有威胁的工具之一 。首先通过伪造实际机器主机名将攻击目标主机的SSH连接转到本地 , 那么可以截获来自主机的密钥 , 并获得被劫持连接中的所有信息解码 , 然后重新转发SSH流量到SSH服务器 。
可以对某个SSH会话发动MITM(-In-The-)攻击(注意 , 这里的是包文件中的解析 , 而不是常见的Man , 这种区别实际上是没有“区别” , 也许就是因为以猴子做为其标志的原因吧) 。通过 , 攻击者可以捕获某个SSH会话的登录口令 , 甚至可以“劫持”整个会话过程(攻击者在其主机上通过提供的代码生成伪造的证书 , 以欺骗目标主机 , 使之相信就是有效的通信另一方 , 结果是 , 攻击者主机成了SSH安全通道的中转站) 。目前 , 对于SSH1 , 这种MITM攻击已经构成了严重的威胁 。MITM并不是一个新的概念 , 它是一种对认证及密钥交换协议进行攻击的有效手段 。通常 , 在SSH会话中 , 服务器首先会给客户端发送其公钥 , 严格来说 , 这种密钥的交换和管理应该是基于X.509这种公钥基础设施(PKI)的 , 但因为PKI本身的复杂性导致真正应用了这种公钥管理机制的服务器非常少 , 所以 , 通常情况下 , 服务器只是简单的自己生成密钥对 , 并将其中的公钥发送给客户端 。客户端收到服务器的公钥后 , 必须独立验证其有效性 。通常 , 使用SSH的客户端会由或其它账号来维护一个“密钥/主机名”的本地数据库 , 当首次与某个SSH服务器建立连接时 , 客户端可能被事先配制成自动接受并记录服务器公钥到本地数据库中 , 这就导致可能发生MITM攻击 。其实 , 建立加密的安全网络都存在一个基本的问题 , 无论如何 , 某种程度上讲 , 加密通道的初始化连接总是建立在一个存在潜在危险的网络之上的 , 如果密钥交换机制并不健全 , 或者是根本就被忽略了 , 那之后建立起来的加密通道也形同虚设了 。按道理讲 , SSH之类的协议本身是没有问题的 , 只要严格按照标准来建立加密及密钥交换管理机制(例如PKI) , 攻击者是根本不会有可乘之机的 , 可问题就在于 , 许多时候 , 为了使用上的方便 , “复杂”的保证技术就被人们抛之脑后了 。当然 , 一种协议如果其可用性并不很强 , 也许本身就是问题 , 现在 , SSH2较SSH1已经有了较大改进 。具体来说 , 在某个SSH连接建立之初 , 如果客户端收到一个未知的服务器端公钥 , 会有下列配置处理方式:
自动增加该公钥到本地数据库;发出下面列出的警告消息 , 并询问用户是添加该公钥还是放弃连接;
------------------------------------------------------------------------
-- : HOSTHAS ! --
------------------------------------------------------------------------
IT ISTHATIS DOINGNASTY!
could beon you right now (man-in-the- )! It is alsothat the host-key has just been .your.拒绝接受 。如果客户端对未知公钥的验证被取消了(或者客户端配置本身已经旁路掉了这个过程) , 或者如果客户端保存已知主机CA证书的缓存被“毒害”了 , 就很有可能导致攻击者发起MITM攻击 。从根本上讲 , 要防止MITM方式的攻击 , 用户自身加强安全措施才是关键 , 例如 , 密钥的初始交换也许可以换做其它方式(比如软盘) , 严格管理本地的证书列表数据库 , 对于出现的告警提示 , 应该仔细甄别 , 防止第三方的欺骗行为 。