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

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

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

译文声明

本文是翻译文章,文章原作者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组件的逆向中,看到了如下的伪代码

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

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

相关推荐

磁盘被保护了如何取消保护(磁盘被保护了如何取消保护设置)

1、打开磁盘分区管理窗口中选择要去掉被写保护的磁盘。2、选中磁盘后单击鼠标右键可显示出选项列表下选择属性。3、打开磁盘属性对话框中选择点击硬件选项卡。4、然后在硬件页面中选中所有磁盘后再单击属性按钮。...

win7系统硬盘分区教程(win7如何对硬盘分区)

在Win7中,你可以使用磁盘管理工具来给硬盘分区。首先,打开控制面板,点击“系统和安全”,然后选择“管理工具”。在管理工具中,找到“计算机管理”,点击打开。在计算机管理窗口中,选择“磁盘管理”。在磁盘...

电脑不识别移动硬盘怎么办(笔记本电脑不识别移动硬盘怎么办)

电脑无法识别移动硬盘的原因有很多,以下是一些可能的原因和相应的解决方法:1.USB供电不足:移动硬盘功率较大,可能需要更多的电压。前置USB接口可能无法提供足够的电压。解决方法是将移动硬盘接到...

cf穿越火线烟雾头盔怎么调(cf的最新烟雾头盔怎么调)

cf新版烟雾保护头盔调置:?cf这款游戏中,更新后调整烟雾头的方法是打开NVIDIA控制面板,在NVIDIA控制面板中选择调整视频颜色设置,接着点击通过NVIDIA设置选项,然后将亮度调整到79%,对...

u盘怎样格式化最安全(u盘怎么格式化最干净)

只需将U盘插入到电脑之后,然后在我的电脑中找到U盘的盘符,使用鼠标右键点击打开菜单,其中就可以看到【格式化】的选项,根据需要选择然后点击【快速格式化】即可U盘格式是FAT32格式,那么其传输速度会明显...

移动路由器怎么改wifi密码(移动网络路由器怎么改密码wifi密码)
移动路由器怎么改wifi密码(移动网络路由器怎么改密码wifi密码)

1.打开手机设置,找到wifi点击进入,点击已连接的wifi。2.里面有一个路由器的选项,记住路由器后面一串数字。3.打开手机网页,在地址栏输入刚记住的那串数字,点击进入,选择继续访问网页版,输入管理员密码,点击确定。4.点击路由设置,点击...

2025-12-23 16:05 liuian

手机五笔输入法怎么使用(手机五笔怎么用新手教程)
手机五笔输入法怎么使用(手机五笔怎么用新手教程)

手机使用五笔输入法操作方法1、打开手机,点击应用商店,下载搜狗输入法,并安装。2、打开下载后的搜狗输入法,在打开页面勾选搜狗输入法,然后点击启用。3、在弹出页面,点击搜狗输入法。在编辑文字页面,点击如图所示按钮。4、在弹出页面,点击其他输入...

2025-12-23 15:55 liuian

天翼网关怎么设置wifi(天翼网关怎么设置wifi密码)

天翼网关设置wifi的方法步骤如下:首先打开浏览器,在地址栏中输入198.168.1.1,确定。输入用户名、密码,如果以前没改过,这个密码就在网关背面的标签上面,可以去查看一下,输入后点击“确定”。点...

十大软件免费下载安装(软件大全下载)

以下是十大永久免费电视直播软件APP:央视频(手机端)):官方看电视直播软件,画质清晰,需要借助手机投屏操作。央视投屏助手(盒子端):与央视频配合使用,提供高清电视直播。电视家:智能电视、电视盒子或智...

电脑死机咋办(电脑开机蓝屏怎么办)

可按照如下方式重启:1、直接按下“CTRL+ALT+DEL”键,然后选择重启;2、如方式1无效,可按住电源键数秒进行强制关机,然后再次启动即可;3、最后一个办法就是,拔出电池和电源适配器,然后重新安装...

追剧神器免费下载(苹果手机免费追剧软件)

是正规网站茶杯狐官方网站是一款正规的视频播放软件。茶杯狐官方网站拥有各种电影、电视剧、综艺、动漫等视频任由用户们在线自由观看。茶杯狐官方网站所有的视频画质也非常的超清流畅,很安全。茶杯狐软件是很好用的...

平板电脑一键root工具(平板电脑 root)

1、下载APP:ROOT大师;2、打开小米平板USB调试模式;3、安装驱动,提示连接成功4、获取ROOT权限。5、显示更新成功后依次选择:返回-重新启动-系统6、重启后打开桌面的super...

autocad2010激活码怎么获取(cad2010最新激活码密钥免费领取)
  • autocad2010激活码怎么获取(cad2010最新激活码密钥免费领取)
  • autocad2010激活码怎么获取(cad2010最新激活码密钥免费领取)
  • autocad2010激活码怎么获取(cad2010最新激活码密钥免费领取)
  • autocad2010激活码怎么获取(cad2010最新激活码密钥免费领取)
手机u盘驱动器下载(手机u盘驱动器下载安装)

不能直接手机下载到u盘,可以下到手机,然后手机连电脑copy到u盘你只需把你心爱的U盘插到电脑上,然后它会有一个新硬安装向导当它要搜索驱动程序时,你只需将其浏览到你所下载的usb万能驱动文件夹点下...

组装电脑配置价格表(组装电脑顶级配置清单及价格)
  • 组装电脑配置价格表(组装电脑顶级配置清单及价格)
  • 组装电脑配置价格表(组装电脑顶级配置清单及价格)
  • 组装电脑配置价格表(组装电脑顶级配置清单及价格)
  • 组装电脑配置价格表(组装电脑顶级配置清单及价格)