美国网件Netgear RAX30路由器RCE漏洞分析

admin 2023年3月9日14:11:37评论121 views字数 2068阅读6分53秒阅读模式

Netgear RAX30 漏洞分析

2022年Pwn2Own比赛前一天,Netgear官方修复了RAX30设备多个高危漏洞。

设备品牌: Netgear

设备型号: RAX30

固件版本:  [RAX30 1.0.7.70](Nighthawk RAX30 | WiFi 6 Router | NETGEAR Support)


01

漏洞概述
  • CVE-2022-47208
默认情况下运行的“puhttpsniff”服务由于用户输入不当导致容易受到命令注入的影响。与路由器位于同一网段上的用户可无需身份验证即可在设备上执行任意命令。
  • CVE-2022-47209
默认情况下,设备上有四个用户帐户。
美国网件Netgear RAX30路由器RCE漏洞分析
admin -> 常规用户,通常为web服务和其他服务
support->后台技术支持后门账户
  • 未查到CVE号
默认情况下运行的/bin/pucfu程序在boot过程中将会尝试连接Netgear域名并获得JSON响应数据。使用DHCP服务器去控制DNS服务器给路由器WAN口分配地址。通过控制DNS 查询响应报文触发命令注入。

02

漏洞分析

2.1 CVE-2022-47208

查看命令注入危险函数,发现获取User-Agent参数没有进行过滤,导致命令注入。
美国网件Netgear RAX30路由器RCE漏洞分析

漏洞利用条件

伪造User-Agent

漏洞原理

Web服务在获取客户端请求包中User-Agent数据字段未能有效筛选危险字符导致设备任意命令执行。

2.2 CVE-2022-47209

硬编码

admin:$1$redacted:0:0:Administrator:/:/bin/sh
support:$1$QkcawmV.$VU4maCah6eHihce5l4YCP0:0:0:Technical Support:/:/bin/sh
user:$1$9RZrTDt7$UAaEbCkq.Qa4u0QwXpzln/:0:0:Normal User:/:/bin/sh
nobody:$1$OWpQjger$j7CFLUn8yoD8agVf6x5gA0:0:0:nobody for ftp:/:/bin/sh
美国网件Netgear RAX30路由器RCE漏洞分析

2.3 pucfu 引发的命令注入

漏洞原理

pucfu在启动过程中会向域名https://devcom.up.netgear.com/的netgear官网获取一个json数据,该数据最终北SetFileValue函数接卸,该函数存在命令执行漏洞,如果获取得到的json数据可以伪造的话,就会执行任意命令。

漏洞触发

/bin/pucfu->/usr/lib/fwcheck.so(get_check_fw)->fw_check_api->curl_post
/lib/libpu_util.so(SetFileValue)->pegaPopen->libc.so(execve)
graph LR
A[pucfu] -->B(fwcheck.so) -->C(fw_check_api) -->D(curl_post) -->E(libpu_tuil.so) -->F(SetFileValue) -->G(pegaPopen) -->H(libc.so) -->J(execve)

2.3.1 pucfu

美国网件Netgear RAX30路由器RCE漏洞分析

将获取得到的json数据存储到v29变量中,最后将v29数据传递给SetFileValue函数。

2.3.2 get_check_fw

美国网件Netgear RAX30路由器RCE漏洞分析

从D2数据库中获取UpBaseURL,调用Netgear API 将从服务器端获取的数据进行保存。

2.3.3 fw_check_api

美国网件Netgear RAX30路由器RCE漏洞分析

最终pucfu bufferA获取到的数据就是url对应的数据内容,strcpy(bufferB,bufferA)

2.3.4 SetFileValue

美国网件Netgear RAX30路由器RCE漏洞分析

判断是否有'/'

SetFileValue("/tmp/fw/cfu_url_cache", "lastURL", bufferB); #lastURL 可控
sed -i 's|^lastURL=.*|lastURL=/'可控数据;# /'/tmp/fw/cfu_url_cache
sed -i 's|^lastURL=.*|lastURL=|'可控数据;# |'/tmp/fw/cfu_url_cache

pegaPopen

美国网件Netgear RAX30路由器RCE漏洞分析

构造数据,实现命令执行

"url":"';reboot#"

漏洞利用条件

运行DHCP和DNS服务端劫持路由器原来指向的域名,然后通过伪造响应来实现任意命令执行。


03

漏洞修复
固件版本:1.0.9.90

3.1 puhttpsniff 漏洞修复

美国网件Netgear RAX30路由器RCE漏洞分析

使用带参数的调用而不是直接命令调用。

3.2 pucfu漏洞修复

美国网件Netgear RAX30路由器RCE漏洞分析

使用带参数的调用而不是直接命令调用。


04

总结

此次Netgear RAX30设备漏洞,主要还是开发者没能处理好数据是否可控、是否存在危险字符。Netgear官方在Pwn2own比赛前一天修复漏洞,对参赛选手来说也是一种考验。

固件下载地址:https://www.netgear.com/support/product/RAX30#download

原文始发于微信公众号(山石网科安全技术研究院):美国网件Netgear RAX30路由器RCE漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月9日14:11:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   美国网件Netgear RAX30路由器RCE漏洞分析https://cn-sec.com/archives/1593448.html

发表评论

匿名网友 填写信息