根据国外媒体的最新报道,安全研究专家在Kerio Control防火墙中发现了一系列严重的安全漏洞。由于这些漏洞的存在,外部攻击者将可以通过欺骗企业员工去点击访问一条恶意链接来入侵企业的内部网络。
Kerio Control简介
SEC Consult是一家专门为用户提供安全咨询服务的公司,该公司的安全研究专家近期在Kerio Control产品中发现了一些严重的安全漏洞。可能有的读者并不了解Kerio Control系列产品,这是一个功能较为完整的高科技安全保护系统。
Kerio Control可以保护你的网络系统免受计算机病毒、恶意软件、以及恶意攻击活动的影响。Kerio Control不仅功能十分强大,而且使用起来也非常简单,更值得注意的是,这是一个一站式的整体安全解决方案。Kerio Control的身上带有下一代防火墙设备的所有功能,包括网络防火墙、路由器、入侵检测与防御系统、反病毒网关、VPN、以及Web内容过滤等功能。
漏洞浅析
SEC Consult公司表示,他们不仅在Kerio Control产品中发现了一系列漏洞,而且他们还发现了两种攻击方法。在漏洞的帮助下,。这两种攻击方法可以访问到防火墙以及处于防火墙保护下的网络系统
一、通过企业员工的电脑暴力破解Kerio管理员密码
第一种攻击方法非常简单,攻击者只需要欺骗企业的员工访问一个恶意页面,就可以利用这些漏洞来实施攻击了,但是这个恶意页面中必须要包含图片资源、表单、以及JavaScript代码。当员工访问了这个页面之后,攻击者就可以将这名用户的计算机当作一个支点,并利用这个支点来访问企业的内部网络系统。
在这种攻击场景下,攻击页面首先使用了一个脚本来确定用户的内部IP地址,然后便会尝试在Kerio Control防火墙的用户页面中加载一张图片。当图片加载完成之后,页面中的JavaScript便会检测这张图片,然后将防火墙的IP地址发送给另外一个攻击模块。然后这个攻击模块便会对Kerio Control防火墙后台控制面板的管理员登录凭证进行暴力破解攻击。
除此之外,攻击者还可以通过目标用户的计算机来上传一个反向root shell,这样一来,攻击者就可以获取到目标网络的完整控制权了。我们在文章结尾处给大家提供了一个攻击讲解视频,感兴趣的读者可以点击观看。
漏洞利用链如下图所示:
二、利用更新功能获取反向root shell
相对而言,第二个漏洞利用链则显得更加简单。早在2015年,SEC公司的一名安全研究人员就发现了两个可能会影响防火墙更新功能的安全问题。据了解,这名研究专家的漏洞利用链涉及到一个远程代码执行(RCE)漏洞和一个跨站脚本(XSS)漏洞。
当他将该问题报告给Kerio公司的技术人员之后,他们只修复了其中的XSS漏洞,但是并没有处理那个远程代码执行漏洞。这也就意味着,攻击者只需要再找出一个XSS漏洞,就可以继续对目标设备实施攻击了。
目前仍然有两个问题没有得到解决
SEC Consult公司的安全研究专家总共发现了九个问题:
1)PHP序列化函数的不安全使用以及过时的PHP版本将导致远程代码执行(RCE);
2)PHP脚本允许堆喷射;
3)CSRF(跨站请求伪造)保护机制绕过;
4)Web服务器以root权限运行;
5)反射型XSS(跨站脚本攻击);
6)缺少内存崩溃保护机制;
7)信息泄漏将导致ASLR绕过;
8)以管理员权限实现远程代码执行;
9)登录模块无法抵御暴力破解攻击;
至此,Kerio已经成功修复了上述漏洞(除了4和8之外),并且发布了Kerio Control v9.1.3。根据Kerio公司给SEC Consult公司的回复,之所以Kerio公司没有修复4和8这两个问题,是因为他们并不认为这是一个安全漏洞。
除此之外,在Kerio公司发布了相应的新版本产品之后,SEC Cunsult公司的安全研究专家又发现了另外一个XSS漏洞,而这个漏洞又会产生另外一个漏洞利用链。
安全研究专家表示:“我们又发现了另外一个XSS 0 day漏洞,攻击者可以通过这个漏洞获取到目前大多数KeroiControl系统的反向root shell。目前我们正在尝试与厂商取得联系,并且会在第一时间将有关该漏洞的信息提供给厂商。除此之外,仅仅升级PHP代码库并不能修复第一种攻击场景中的漏洞,而且Kerio Control目前仍然使用的是PHP v5.2.13。”
供应商的回应
SEC公司的安全研究专家于2016年8月29日正式联系上了供应商。在2016年9月1日,供应商向SEC公司提供了一个PGP密钥。当天,SEC公司的安全专家就将安全报告(使用了PGP密钥加密)发送给了Kerio公司。2016年9月9日,供应商表示大多数漏洞都会在2016年9月20日之前得到修复。
由于系统中的那个命令执行漏洞仍然没有得到修复,那么攻击者只需要利用一个简单的XSS漏洞就可以获取到Kerio Control系统的反向root shell了。为什么Kerio留下了两个漏洞没有修复呢?根据Kerio公司的解释,攻击者可以利用XSS漏洞来修改管理员密码,启用SSH服务并打开SSH端口。因此,攻击者其实并不需要利用防火墙的升级功能来生成逆向root shell。
但是,SEC Consult公司的安全研究专家们却认为这是一个安全漏洞。系统在面对类似修改管理员密码或者启用SSH这样的操作时,系统应该要求用户输入管理员密码,而这样就可以防止攻击者利用一些简单的XSS漏洞来进行攻击了。
演示视频:
总结
网络管理员和供应商都应该从这种攻击中学到一些东西。对于网络管理员而言,即便是一个系统处于内部网络结构中,也并不意味着我们就可以使用弱密码。在这篇文章所描述的攻击中,攻击者可以在外部网络发动CSRF攻击,并且对内部网络系统中的登录凭证进行暴力破解攻击。因此,内部网络系统必须使用健壮的密码,而且还要及时对系统中的应用进行更新升级。除此之外,在面对关键系统访问权限的时候,管理员应该采用分层的处理方式来进行管理。
对于供应商而言,安全漏洞必须得到彻底的修复。如果对漏洞机制分析得不够深入,那么漏洞就得不到彻底的修复,仅仅解决表面问题是没有任何意义的。而这就要求安全技术人员能够深入了解漏洞的成因,并且能够解决漏洞背后所蕴含的真正安全问题。比如说在上述的攻击场景中,系统的PHP代码在没有增加引用计数的情况下就添加了引用。对于Kerio Control产品而言,真正的问题存在于其使用的旧版PHP之中,但是Kerio仅仅只修复了其中的序列化漏洞。同样的,Kerio此前也只修复了其中的一个RCE漏洞,却没有修复那个XSS漏洞。
文章原文链接:https://www.anquanke.com/post/id/84651