NetGear路由器可以通过命令注入获取ROOT权限

安全 漏洞
国外某大牛研究发现,NetGear路由器wndr3700v4的固件存在认证漏洞。一旦Web界面认证绕过了,后续可以做的事情就会很多。

国外某大牛研究发现,NetGear路由器wndr3700v4的固件存在认证漏洞。一旦Web界面认证绕过了,后续可以做的事情就会很多。

 

NetGear的wndr3700v4固件中有一个可执行脚本 net-cgi ,这个功能很像busy-box。所以里面有很多的地方可以研究,这里我们比较感兴趣的是 cmd_ping6() 这个模块。

NetGear路由器可以通过命令注入获取ROOT权限

 

这个功能利用char *host函数来工作的,主要的功能是通过机器名或者IPv6来进行ping操作。这个是一个很常见的功能,不过这个固件里面,它使用了sprintf()这个函数,它将字符串复制到shell命令中去执行了,这是一个最简单的缓冲区溢出漏洞,最终他会将输入内容传递到system()这个函数来执行。

那如果这个用户没有使用IPv6怎么办呢?没关系,只要命令被system()执行了,管它ping命令是否成功执行干毛?

回头看一下,这个漏洞是如何产生的。

NetGear路由器可以通过命令注入获取ROOT权限

 

cmd_ping6()通过cgi_commit()调用,cgi_commit()通过sub_4052d0()调用。

页面执行的时候,是使用的ping6_traceroute6_hidden_info.htm这个页面。

NetGear路由器可以通过命令注入获取ROOT权限

 

我们来试着执行一些小命令测试一下:

NetGear路由器可以通过命令注入获取ROOT权限

 

虽然是一个小测试,但是效果是立竿见影的,就算是远端,你也可以轻易的知道命令是否执行成功了。

NetGear路由器可以通过命令注入获取ROOT权限

 

对与这个漏洞,这名外国大牛利用Python写出了一个EXP,这个EXP主要执行了以下几个功能:

1.通过指纹识别,验证是否存在漏洞。

2.将该设备的Web认证禁用。

3.通过命令注入,设置iptables,开启telnet,对外网开启2323端口并监听。

4.重新启用Web认证,恢复其原始状态。

NetGear路由器可以通过命令注入获取ROOT权限

下载EXP:

Github https://github.com/zcutlip/exploit-poc/blob/master/netgear/wndr3700v4/ping6_cmd_injection/ping6_inject.py

运行该EXP需要安装Bowcaster。

https://github.com/zcutlip/bowcaster

美国网件公司-NETGEAR Inc.(NETGEAR)于1996年1月创立,长期致力于为中小规模企业用户与 SOHO 用户提供简便易用并具有强大功能的网络综合解决方案。总部设在美国加州硅谷圣克拉拉市,业务遍及世界多个国家和地区,是美国高科技企业连续八年增长速度最快的50家之一,并于2003年作为唯一的计算机网络公司在美国 Nasdaq 交易所成功上市(股票代码:NTGR)。

责任编辑:蓝雨泪 来源: FreebuF
相关推荐

2015-01-12 11:05:40

路由器漏洞华硕路由器

2013-05-09 09:38:44

2014-01-07 09:18:35

路由器后门后门Netgear路由器

2012-03-22 13:50:48

NETGEAR无线路由WDS

2013-06-07 11:06:20

路由技术静态路由配置路由器

2015-10-12 11:11:56

2009-12-08 13:33:51

无线路由器WDS功能

2009-12-04 14:23:44

2009-11-29 17:10:01

NetgearLinux系统路由器

2010-07-28 15:26:10

路由器命令

2013-06-26 16:25:08

2015-03-04 11:06:13

2013-06-13 17:18:46

NETGEAR无线路由器

2009-12-10 17:12:48

NETGEAR无线路由

2010-08-09 10:31:00

华为路由器路由配置命令

2010-07-30 09:57:34

路由器设置

2010-08-06 14:08:50

路由器配置命令

2010-08-09 13:48:22

路由器配置命令

2009-11-10 11:21:41

2010-08-09 10:11:04

华为路由器display命令
点赞
收藏

51CTO技术栈公众号