查看: 2830|回复: 6
收起左侧

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

[复制链接]
hochanmoke
发表于 2013-11-2 08:01:03 | 显示全部楼层 |阅读模式
国外某大牛研究发现,NetGear 路由器 wndr3700v4 的固件存在认证漏洞。一旦 Web 界面认证绕过了,后续可以做的事情就会很多。

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



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

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

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



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

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



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



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



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

1. 通过指纹识别,验证是否存在漏洞。2.将该设备的 Web 认证禁用。3.通过命令注入,设置 iptables,开启 telnet,对外网开启 2323 端口并监听。4.重新启用 Web 认证,恢复其原始状态。


下载 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)。

转载请注明:软件山

1

1

2

2
3.jpg
4.jpg
5.jpg
6.jpg
ones
发表于 2013-11-2 08:22:51 | 显示全部楼层
是故意留个漏洞给美国监控的吧?
烟花雨
头像被屏蔽
发表于 2013-11-2 09:09:36 | 显示全部楼层
cisco route
lotnhiro
发表于 2013-11-4 06:46:18 | 显示全部楼层
我就是用这货
panzhubiao
发表于 2013-11-4 07:22:57 | 显示全部楼层
还好不是这型号~~
blueid
发表于 2013-11-4 08:46:03 | 显示全部楼层
3400有问题吗?一直用网件啊
gemini09
发表于 2013-11-4 09:52:59 | 显示全部楼层
固件漏洞
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-5-7 05:33 , Processed in 0.129014 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表