百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

微软发现新的NETGEAR 固件漏洞,可能导致身份盗用和整个系统受损

liuian 2025-02-07 18:19 43 浏览

译文声明

本文是翻译文章,文章原作者microsoft,文章来源:microsoft.com
原文地址:https://www.microsoft.com/security/blog/2021/06/30/microsoft-finds-new-netgear-firmware-vulnerabilities-that-could-lead-to-identity-theft-and-full-system-compromise/


译文仅供参考,具体内容表达以及含义原文为准

×

安全解决方案的不断改进迫使攻击者探索危及系统的替代方法。在操作系统以内或者之外的通过VPN设备和其他面向互联网的系统发起固件攻击和勒索软件攻击数量在不断增加案例,这些攻击会变得越来越常见,用户必须确保运行硬件类路由器中固件的安全,我们最近在 NetGear DGN2200v1系列路由器中发现了可能危及网络安全的漏洞。
在我们的研究中,我们解开了路由器的固件,发现了三个可以被利用的漏洞,我们通过微软安全漏洞研究中心(MSVR)的协同漏洞披露给NetGear我们的发现,并且与NetGear安全团队密切合作,在保持向后兼容性的同时提供缓解这些问题的建议。关键的安全问题(CVSS评分:7.1 – 9.4)已被NETGEAR修复。关于DGN2200v1上的多个HTTPd认证漏洞,请参阅NETGEAR的安全咨询。

获取和解压固件

固件可从供应商的网站上获得,这使我们更容易获得副本进行检查。它是一个简单的 .zip 文件,包含发行说明 (.html) 和固件映像本身(.chk 文件)。在 .chk 文件上运行binwalk最终提取了文件系统 ( squashfs)。

路由器固件文件系统本身是一个标准的 Linux 根文件系统,并添加了一些小功能。我们关心和研究有以下几点

  1. /www — 包含html页面和.gif图片
  2. /usr/sbin – 包含 NETGEAR 的各种自定义二进制文件,包括 HTTPd、FTPC 等

由于我们看到异常通信使用 httpd 服务的标准端口,因此我们将重点放在 httpd 上。httpd 本身是一个 32 位大端 MIPS ELF,针对 uClibc (嵌入式设备的标准 libc)编译,似乎整个服务器端逻辑 (CGI) 都被编译到 httpd 中。

探索

在探索嵌入式web服务时,首先要考虑以下几个问题

  1. Web 服务是否显示一些未经身份验证的页面?如果是这样,他们是如何治理的?
  2. Web 服务如何执行身份验证?
  3. Web服务是否正确处理请求(即是否存在内存损坏错误)?
  4. Web 服务是否实施了某些安全措施,例如(反)跨站点请求伪造令牌或内容安全策略?

为了回答这些问题,我们对 httpd 二进制文件进行了静态分析,并通过运行 QEMU(一个开源模拟器)对固件进行仿真模拟,另外使用了hook(例如 NVRAM getter 和 setter)进行了一些动态分析。

DGN 2200V1路由器中存在的漏洞

绕过身份验证访问路由器管理界面

在检查 httpd 如何规定哪些页面应该在没有身份验证的情况下提供时,我们发现了以下伪代码:

这些代码是httpd中的第一个页面处理代码,它会自动允许一些页面,例如form.css或者func.js,正常来说,这些设置并没有问题,但是异常点在于NetGear使用strstr函数来检查是否有“.jpg”“.gif”或者“ess_“字符串,用来匹配整个 url 。
因此我们可以使用GET 方式在URL中带有strstr检查的字符串(如 “?.gif” )来访问设备的任意界面,其中包括身份验证的界面,使用如下

https://ip/WAN_wan.htm?pic.gif

就可以成功绕过身份验证访问路由器管理界面了。

通过加密侧信道攻击推断路由器凭证

在这个阶段,我们已经完全控制了路由器管理界面,但是我们继续研究身份验证本身是如何实现的。
我们注意到httpd 组件对http界面进行基础认证,需要将username和password 使用base64来进行编译,然后在http header中发送,最后在路由器内存中保存的用户名和密码进行验证,路由器将这些信息存储在NVRAM中。
在我们检查身份验证的过程中,我们发现了一种可以让攻击者获取正确凭据的旁道攻击:

这里要注意,username 和 password 是使用strcmp来进行比较的,strcmp 在 libc 中的实现是通过逐个字符比较直到观察到 NUL 终止符或直到发生不匹配来工作。

攻击者可以通过测量失败所需的时间来利用后者。例如,在测量第一个字符的次数时,我们得到如下图:

这表示第一个字符是“n”。攻击者可以重复此过程(“na”、“nb”、“nc”等)以获取第二个字符,直到泄露整个用户名和密码。

我们向 NETGEAR 建议他们可以通过执行基于 XOR 的内存比较来避免此类攻击,例如:

即使字节不匹配,该功能也会继续。类似的方法可以在加密安全库中看到,例如OpenSSL 的 CRYPTO_memcmp。

检索存储在设备中的密钥

当完成身份验证绕过漏洞之后,我们仍然想看看是否可以利用其他现有的漏洞来恢复路由器使用的username和密码,因为我们决定使用路由器的配置备份\恢复功能。
我们可以使用身份绕过获取文件:
hxxp://router_addr:8080/NETGEAR_DGN2200[.]cfg?pic[.]gif.
这个文件具有高熵,这表明它已被加密,我们无法直接读取内容,并且binwalk也没有任何结果。

当我们对“备份\恢复“的功能进行逆向后,我们的问题被解决了。

可以看到文件内容是使用 “NtgrBak”的密钥进行DES加密。因此也可以通过这种方式来获取存储在NVRAM中的密码。

拓展

Ex6100v2 固件分析

看完这边漏洞分析文章之后,根据以往对Netgear固件分析中,发现这种情况存在许多版本的固件中,于是我翻出了实验室的NetGear Ex6100v2 路由设备,下载到对应版本的固件,然后对固件进行解包分析。
根据/etc/init.d/rcS文件中的内容,找到uhttpd 的组件(uHTTPd 是一个 OpenWrt/LUCI 开发者从头编写的 Web 服务器),可以看到这个固件是使用NX的保护措施。

在我分析/etc/boot文件中,看到如下内容,也可以证明这是一个OpenWRT类型的web组件。

在uhttpd组件的逆向中,看到了如下的伪代码

本来以为这也是一个存在身份验证绕过的固件,但是继续查看引用,看到这个函数需要在用户认证之后才会触发。

于是在经过实际的测试,确实是需要在经过认证后才能触发漏洞(鸡肋)

相关推荐

驱动网卡(怎么从新驱动网卡)
驱动网卡(怎么从新驱动网卡)

网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...

2026-01-30 00:37 liuian

win10更新助手装系统(微软win10更新助手)

1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...

windows11专业版密钥最新(windows11专业版激活码永久)

 Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...

手机删过的软件恢复(手机删除过的软件怎么恢复)
手机删过的软件恢复(手机删除过的软件怎么恢复)

操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...

2026-01-29 23:55 liuian

一键ghost手动备份系统步骤(一键ghost 备份)

  步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。  步骤...

怎么创建局域网(怎么创建局域网打游戏)

  1、购买路由器一台。进入路由器把dhcp功能打开  2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。  3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...

精灵驱动器官方下载(精灵驱动手机版下载)

是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...

一键还原系统步骤(一键还原系统有哪些)

1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。  2、在弹出的“准备安装”窗口中,可...

电脑加速器哪个好(电脑加速器哪款好)

我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...

任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)

是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...

u盘怎么恢复文件(u盘文件恢复的方法)

开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...

系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)

1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...

剪贴板权限设置方法(剪贴板访问权限)
剪贴板权限设置方法(剪贴板访问权限)

1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...

2026-01-29 21:37 liuian

平板系统重装大师(平板重装win系统)

如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...

联想官网售后服务网点(联想官网售后服务热线)

联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...