最新版本的开源即时通讯客户端Pidgin 2.10.10这段时间修复了一系列漏洞,其中的SSL/TLS证书验证问题可以被黑客利用来进行中间人攻击。如此一来,某些稍显鸡肋的漏洞也借助中间人攻击变得危害巨大。
关于Pidgin
Pidgin是一个可以在Windows、Linux、BSD和Unixes下运行的多协议即时通讯客户端,可以让你用你所有的即时通讯帐户中一次登录。pidgin是自由软件,你可以自由使用它,并修改它。
SSL/TLS引发的血案
Libpurple是Pidgin的核心链接库,该链接库支持一些即时通讯协议,包括Mac OS X的Adium、Meebo、BitlBee以及其他的一些即时通讯软件。
近日安全研究人员发现了Pidgin的NSS和GnuTLS插件的漏洞。根据CVE-2014-3694的漏洞说明,Pidgin集成的libpurple库的OpenSSL SSL/TLS插件,其在设计时并没能考虑到基础强制扩展也是SSL服务器证书。黑客可以通过伪造该证书窃取数据,即允许黑客插手IM服务器和其他https终端之间的通讯,从而进行中间人攻击。
顺带提一句,另一个在最新版本的Pidgin中发现的漏洞CVE-2014-3698,是一个信息泄露漏洞。黑客可以通过向客户端发送恶意XMPP消息,进而触发libpurple库里Jabber协议插件的漏洞,然后远程窃取数据。
FreeBuf小编:某些特定的漏洞,根据CVE之类的官方文档描述,或许看起来远不如沙虫和心脏滴血漏洞那样强而有力。但是一旦有了特定漏洞或者遇到特定环境,可以实现中间人攻击的时候,黑客们利用漏洞的门槛降低了,各种平时被我们忽视的攻击,也会竞相汹涌而来。
结合中间人攻击,鸡肋漏洞变废为宝
Pidgin能结合中间人攻击的有一些案例,由于Pidgin通讯客户端是开源的,以它为基础构建的部分通讯软件也受到了影响。有了上述的那个SSL/TLS中间人攻击漏洞,接下来使用其他漏洞结合它进行攻击会容易的多。
思科塔罗斯情报小组的安全研究员Yves Younan分析了另外三个已经打上补丁的漏洞:
第一个漏洞
这个漏洞似乎只存在于Windows版本的客户端,其出现在Pidgin客户端处理主题包的环节,它会从网站下载TAR(Tape Archive)文件,然后导入客户端。
在Linux版本中,解压tar的功能会把文件储存在特殊目录下,与Windows版本不同,它需要执行代码来进行操作。通过中间人攻击,可以在其下载文件的过程中修改数据包,重构该解压代码自定义的绝对路径。
Younan说道:
“这段解压代码与真正的tar功能不同,它可以自定义tar文件解压的绝对路径。这就导致该代码被漏洞利用时,可以覆盖重写当前用户权限下的任何文件。”
第二个漏洞
该漏洞发生在Novell Groupwise信息统筹软件对libpurple库的调用中。
Younan说道:“黑客如果能在中间人攻击时,截获修改某条Novell消息数据包的内容,可以通过发送大于内存预计的数据包进行内存溢出攻击,从而让客户端崩溃。”
第三个漏洞
该漏洞是在Mxit的表情包中发现的,Mxit软件被誉为“非洲的微信”。黑客可以通过中间人攻击进行会话劫持,然后伪装成mixt服务端向客户端发送消息,从而触发这个拒绝服务漏洞。
“如果可以改变客户机通过Mxit协议下载的表情包数据,使得数据包大于ASN长度值时,就能造成数据溢出。但是这样的攻击并不能反馈数据给黑客,所以只能对客户机造成拒绝服务攻击。”