研究人员说,设备固件的网络服务器中的一个未打补丁的漏洞为攻击者提供了root权限。
他们说,研究人员在Netkit路由器的固件中发现了一个未打补丁的零日漏洞,使79个设备型号面临完全接管的风险。
根据两份独立的报告,该漏洞是固件的httpd网络服务器中存在的一个内存安全问题,使得攻击者能够绕过受影响的Netkit路由器安装上的身份验证:一份是越南邮电集团一位名为“d4rkn3ss”的研究人员关于零日倡议(ZDI)的;另一篇是网络安全公司Grimm的亚当·尼科尔斯(Adam Nichols)撰写的另一篇博客文章。
根据ZDI的报告,“特定的缺陷存在于httpd服务中,该服务默认侦听TCP端口80”,该报告涵盖了R6700系列Netkit路由器中存在的漏洞。此问题是由于在将用户提供的数据拷贝到固定长度、基于堆栈的缓冲区之前,没有正确验证其长度造成的。
根据该报告,利用该漏洞不需要身份验证,攻击者可以利用该漏洞获得root权限。
ZDI表示,它在1月份向Netkit通报了该漏洞,但供应商仍未为受影响的设备提供补丁。供应商曾要求将公开披露延长至6月底,但ZDI拒绝了。Threatpost已经联系Netkit寻求评论和补丁时间表的细节。
就尼科尔斯而言,他最初在Netkit R7000路由器系列中发现了这个缺陷,但最终发现了79种不同的Netkit设备和758个固件映像,其中包括一个易受攻击的Web服务器副本。
“这个漏洞早在2007年就会影响固件(WGT624v4,2.0.6版),”他在他的帖子中说。“考虑到大量的固件映像,手动查找合适的小工具是不可行的。相反,这是实现小工具检测自动化的好机会。“
尼科尔斯表示,问题在于缺乏对一种名为堆栈Cookie或堆栈金丝雀的功能的支持。堆栈金丝雀指的是“煤矿中的金丝雀”的使用,他解释说,这些功能用于在恶意代码执行之前检测堆栈缓冲区溢出。他说,虽然一些Netkit路由器支持此功能-即D8500固件版本1.0.3.29和R6300v2固件版本1.0.4.12-1.0.4.20-但大多数其他路由器不支持。
Nichols在帖子中解释说:“D8500和R6300v2的更高版本不再使用堆栈cookie,这使得该漏洞再次被利用。”“与其他现代软件相比,这只是SOHO设备安全落后的又一个例子。”
他说,SOHO设备固件中的Web服务器通常是系统中最易受攻击的方面,因为它们“必须解析来自网络的用户输入,并运行使用该输入的复杂CGI功能”。
尼科尔斯说:“此外,Web服务器是用C语言编写的,几乎没有经过测试,因此它经常容易受到微不足道的内存损坏错误的攻击。”
尼科尔斯在他的帖子中解释说,可以通过两种方式利用零日漏洞。一种方法是通过一系列最终导致堆栈缓冲区溢出的步骤来利用Web服务器中的http解析器中使用的Recv函数。
他解释说,攻击者还可以使用跨站点请求伪造(CSRF)攻击来利用该漏洞,尽管他或她需要知道他们的目标路由器的型号和版本才能成功实现这一点。
“如果使用易受攻击的路由器的用户浏览到恶意网站,该网站可能会利用用户的路由器…。通过为HTML页面提供服务,该页面向目标设备发送包含利用漏洞的AJAX请求:“Nichols说。但是,由于CSRF网页无法从目标服务器读取任何响应,因此无法远程识别设备。
根据ZDI的报告,目前该漏洞的唯一缓解措施是将与该服务的交互限制在受信任的计算机上。
报告称:“只有与该服务有合法程序关系的客户端和服务器才应被允许与其通信。”这可以通过多种方式实现,最明显的是使用防火墙规则/白名单。
3月份,Netkit修补了一个关键的远程代码执行漏洞,该漏洞可能会使未经验证的攻击者能够控制其运行1.0.2.68之前固件版本的无线AC路由器Nighthawk(R7800)硬件。它还解决了影响夜鹰路由器的两个高度严重的缺陷,21个中等严重的缺陷和一个评级为低的缺陷。
内部威胁在工作中是不同的-与家庭时代不同。6月24日下午2点。ET,加入Threatpost编辑团队和我们的特邀嘉宾,Gurucul首席执行官Saryu Nayyer,参加一个免费的网络研讨会,主题是“内部的敌人:内部威胁是如何变化的。”获取有用的、真实的信息,了解内部威胁如何随着WFH的变化,新的攻击载体是什么,以及公司可以对此做些什么。请在这里注册参加这个Threatpost网络研讨会。