如何在企业硬件设备中挖掘安全漏洞
作者:星期三, 八月 17, 20160

研究发现,亚马逊上销量最好的50种消费级路由器都存在有安全漏洞,其中20款是出厂固件就可被黑客利用。但功能之战和利润收窄可能会导致进入不安全路由器时代。为确定该问题是否仅局限于消费市场,有必要对企业网络应用的无线路由器进行评估。

1298417399

买得起的消费级路由器品牌很多,企业设备就没那么便宜了,能检测完一个产品系列已是预算极限。于是,先用安卓WiFi分析器挑出真实世界环境被安装最广泛的品牌便是十分自然的事。Dell’Oro Group 的一份报告指出,Ruckus占据了2014年第4季度安装数量的42%左右。因此,安全公司Tripwire选中了Ruckus作为用来评估的企业级路由器品牌。下面的内容是如何在硬件设备中查找漏洞的方法和过程。

测试方法

为使对比有效,最好将测试限制在HTTP接口,并使用与查找消费级路由器漏洞相同的方法。

由于之前的一些路由器安全评估已建立起了一套有效测试过程,方法选择上十分容易。在较高层级,测试员采用了手动模糊测试与部分自动化查询相结合的方法,其中自动化查询是建立在从固件抽取的信息和可用Shell访问的信息上的。

今年早些时候,这些测试技术就在题为《洗脑嵌入式系统》的AusCERT教程中展示过。今年的 DEF CON 24 讨论会和 SecTor 2016 训练课也同样分享了这些技术。

第一印象

在对昂贵的高端Ruckus型号测试前,不妨先用二手 Ruckus ZoneFlex 进行测试,当然,固件要升级到2015年10月27号的最新版。

经过几分钟的设置,一个指令注入漏洞被发现。该漏洞源于缺乏跨站请求伪造(CSRF)标记的缺乏,因而通过一个简单的伪造请求就便可轻松利用。在以前测试过的消费级路由器上,ZoneFlex为管理员提供执行诊断的选项,包括了简单的ping测试,但明显没有任何的输入检测。存在此漏洞的每一款消费级路由器上,这都是致命的。

尽管轻量级消费嵌入式设备通常都用root权限运行所有进程,想必一款企业级产品是会采用权限隔离的。ping操作明显用不到什么特殊权限,用个访问受限的普通用户权限就够了。但测试结果颠覆了想象。通过构造ping参数来产生一个telnet守护进程的测试竟然成功了,很轻松地拿到了root shell。

这一结果让人确信:在当前型号中进行测试是有意义的。

分析 Ruckus HTTP 接口

谷歌一搜就会发现,找到这个明显的指令注入漏洞的人还真不少。

实验用ZoneFlex机型早已停产,上面的固件自然是老到不能再老的。本以为这种触手可及的漏洞在新系列产品中应该已被补上,但用带最新固件(版本号:100.1.0.0.432)的 Ruckus H500 做测试时,结果再一次令人震惊:这么简单的ping注入竟然依然可以大行其道!从 Ruckus H500 设置的接入点获取到shell后,还可以获取到Web服务器文档根目录所含文件的列表,将黑客行动进一步深入。这一微不足道的过程既可以通过shell完成,也可以通过固件抽取来达成,甚至还可以定位嵌入到服务器二进制文件中的URI(统一资源标识符)。

对H500机型的测试中,除了固件更新里可见的文件,测试员并没有染指其他文件。然后,文件列表被馈送给爬虫脚本进行处理。该脚本可以爬取HTTP服务器并记录下哪些文件不需要身份验证就可读取。

结果

与消费级设备中常见现象一样,这一相当简单的过程暴露出了一系列问题:

  • 验证规避:含有特定字符串的全部请求都收到了‘200 OK’响应。通过往其他请求中添加上该字符串,仅用于已验证查询的响应数据也可以被得到。NETGEAR、TrendNET、华硕,这些厂家的路由器中都存在这个问题。
  • 拒绝服务:有个不需要身份验证就能用HTTP访问的特定页面,如果通过SSL(安全套接字层)请求,会导致管理界面不可用。这对作为热点使用时依靠HTTP的该产品而言,有可能造成严重后果。
  • 信息暴露:该设备的序列号可被HTTP服务器暴露。这一问题会不会造成什么直接安全影响尚未可知,但攻击者显然可以将之用作社工工程策略的一部分。其他产品里面也发现了把序列号用作设备所有者证明的现象。

另外,特定页面的验证请求可能会触发额外的内存消耗,导致HTTP服务器重载,可能会影响到其他服务。这一攻击方式可通过GET请求实现,因此,HTML文档或电子邮件里的恶意图像标签,就可以作为跨站请求伪造(CSRF)攻击的途径了。

Ruckus的响应

这不是Ruckus接入点的唯一漏洞,因此,测试员联系了厂商。

与某些需要大费周章才能找到相应安全联系人的厂商不同,Ruckus有网页列出了PGP密钥和电子邮件地址供报告漏洞。虽然这通常是有责任感企业的标志,但测试员不断的报告尝试还是遭到了踢皮球的待遇。

早在2016年1月,距离第一次向Ruckus报告1个月之后,测试员又向其他公布出来的安全联系人电邮地址报告了多次。一名网站管理员回复说会建立个账户,但在重新发送了报告并要求接收确认后,没有了下文。于是,当月稍晚些时候,测试员联系了为该漏洞分配编号VU#974320的CERT,确认他们也无法获得Ruckus的回复。

Ruckus不承认有收到过任何漏洞报告,直到Tripwire首席研究官大卫·梅尔泽尔直接通过LinkedIn联系到Ruckus的高层。

然后,测试员收到了自己1月份漏洞报告加密邮件的转发副本,附带一条收到确认请求。在之后的电话沟通中,测试员被告知,Ruckus未能解密该邮件信息,因而忽略了此份漏洞报告邮件,并且也根本不知道CERT曾尝试联系过他们。Ruckus还说,这些在HTTPS接口呈现的漏洞除非是在单机模式下运行,否则不会暴露出来。

这些声明是否属实尚未验证,不过,对Ruckus产品做个全面的安全审计似乎是有必要的。

经验教训

本次研究项目似乎证明了,“企业级”硬件在安全意义上未必具备企业级品质。

Ruckus设备审计经历与其他当地计算机商店无线路由器的审计经历十分类似。事实上,身份验证规避和指令注入基本上也是100~200美元的SOHO设备常见问题。

最大的不同在于,给Ruckus提交的安全报告被完全无视了几个月之久,要等到“高管对高管”级的沟通出现,报告才会会承认。使用Ruckus设备的公司企业有可能承受被黑的风险,尤其是这些接入点被用于为客户提供WiFi接入的时候。

这些系统中混进了一个入侵者,就可能对该无线网络中所有其他用户形成中间人攻击威胁,留下广泛的漏洞利用机会。Ruckus宣称只有单机接入点才会受影响,但测试员还没找到机会评估这一断言的真伪,也不清楚单机模式的使用频率到底有多高。

本次企业级硬件安全漏洞找寻过程仅耗时一个晚上,评测机型也就一种,因此,觉得问题不会更多,或者其他运行模式就更安全的想法,是不严谨的。

想要了解该怎样防护自己的嵌入式设备,可以看看这篇文章:《嵌入式设备防护5条安全建议》。

本次探寻过程时间线如下:

Ruckus-V2-3-768x2976

 

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章