欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Ruckus AP 设备多个漏洞分析利用研究

来源:本站整理 作者:佚名 时间:2020-02-14 TAG: 我要投稿

0x01  介绍
Ruckus Networks是一家销售有线和无线网络设备及软件的公司,本文介绍了在Ruckus接入点上的漏洞研究,它导致了3种不同的预认证远程代码执行漏洞。利用各种漏洞,例如信息和凭据泄漏,身份验证绕过,命令注入,路径遍历,堆栈溢出和任意文件读/写。在整个研究过程中,检查了33个不同访问点的固件。全部被发现存在漏洞,本文还会介绍并共享本研究中使用的框架。包含一个Ghidra脚本和一个dockerized QEMU完整系统仿真,可实现简单的跨体系结构研究设置。
这项研究是在参加“ BlackHat USA 2019”之后开始的。注意到Ruckus无线接入点提供了访客WiFi。本文重点介绍“ R510”访问点。但是,认为运行固件版本200.7.10.102.64及以下的Ruckus的所有室内和室外AP都容易受到以下漏洞的影响。检查了C110,E510,H320,H510,M510,R310,R500,R510 R600,R610,R710,R720,T300,T301n,T310d,T610,T710和T710s。一些漏洞也会影响ZoneDirector 1200(10.1.1.0.55)。使用“ shodan.io”对某些设备进行了指纹识别,注意到可以从Internet访问数千个设备。

0x02  固件分析
嵌入式设备漏洞研究,从下载最新固件开始。决定专注于研究使用ARMv7 CPU架构的“ R510 Unleashed”。Ruckus提供依赖WiFi控制器的常规WiFi接入点以及不依赖控制器的“ Unleashed”版本。
Dockerized QEMU:
提取固件后,决定在QEMU中模拟固件的二进制文件。这项研究完全是通过系统仿真完成的,在发现三个漏洞后,才购买R510设备。在此dockerhub中,获得了针对以下架构的预构建QEMU系统:armv7,armv6,mips和mipsel。在本研究中,使用了一个包装了运行Debian内核的ARMv7 QEMU系统的docker。使用此设置,设法运行了大多数用户空间代码。
所需要做的就是运行docker:
 docker run -it -p 5575:5575 waveburst/qemu-system-armhf
容器包括一个SSH服务器,因此squashfs可以将chroot从固件提取的目录复制到的QEMU中。

完成后,在5分钟内得到了chroot的设备仿真。
Web服务器配置:
R510使用“ Embedthis-Appweb / 3.4.2”作为其Web界面服务器。其默认配置位于上/bin/webs.conf,查看配置文件后,发现服务器的根目录为/web。还可以看到服务器端逻辑使用ejs处理程序。ejs是嵌入式JavaScript引擎,此外,了解到文件获取没有任何限制。这意味着可以从/web目录中获取任何文件,而不管其文件扩展名或类型如何。接下来,想查看/web目录,看看是否有任何有趣的文件可以检索。
0x03  攻击场景1
此攻击情形包括Web界面凭据泄露漏洞(CVE-2019-19843)和CLI越狱漏洞(CVE-2019-19834),以在访问点上获取root shell。
服务器Web目录:CVE-2019-19837
该/web目录包含大量的文件和目录。其中大多数是标准的html / js / css / images文件,但也有很多带有jsp和mod扩展名的文件。由于某种原因,jsp是代表ejs源文件和mod代表已编译ejs文件的扩展名。稍后演示,不一定需要mod文件来运行ejs功能。除了这些文件之外,还有指向不同文件和目录的符号链接。由于没有访问控制,因此这些链接文件都是可提取的!
 ➜  web ls -ld `find . -type l| grep -v "css\|js\|jpg\|ico\|png\|gif\|mod\|jsp"`
 lrwxrwxrwx 1 wave wave 27 Apr 15  2019 ./tmp/temp_banner -> /tmp/uploadguestbanner_file
 lrwxrwxrwx 1 wave wave 28 Apr 15  2019 ./tmp/temp_bgimage -> /tmp/uploadguestbgimage_file
 lrwxrwxrwx 1 wave wave 18 Apr 15  2019 ./tmp/temp_debug -> /tmp/my_debug_file
 lrwxrwxrwx 1 wave wave 25 Apr 15  2019 ./tmp/temp_logo -> /tmp/uploadguestlogo_file
 lrwxrwxrwx 1 wave wave 19 Apr 15  2019 ./tmp/temp_map -> /tmp/uploadmap_file
 lrwxrwxrwx 1 wave wave 26 Apr 15  2019 ./tmp/temp_weblogo -> /tmp/uploadguestlogo_file2
 lrwxrwxrwx 1 wave wave 24 Apr 15  2019 ./uploaded -> /etc/airespider/uploaded
 lrwxrwxrwx 1 wave wave 21 Apr 15  2019 ./user/upgrade_progress -> /tmp/upgrade_progress
 lrwxrwxrwx 1 wave wave  4 Apr 15  2019 ./user/wps_tool_cache -> /tmp
 lrwxrwxrwx 1 wave wave 33 Apr 15  2019 ./wpad.dat -> /etc/airespider/uploaded/wpad.dat
指向符号/tmp的链接:CVE-2019-19843
上面的命令向显示了从目录/web/user/wps_tool_cache到/tmp目录的符号链接。由于在完整的QEMU系统中运行R510,因此注意到/tmp目录中存储了一些系统逻辑。特别rpm.log是将其编写为系统初始化的一部分,在检查此日志文件时,注意到每天都rpmd创建一个名为/var/run/rpmkey新版本号的备份文件。

幸运的是,/var/run它也象征性地链接到/tmp/,因此也可以获取此文件。rpmkey包含一些二进制数据。为了检查其内容,使用了strings命令。strings输出显示了两个有趣的字段:all_powerful_login_name和all_powerful_login_password。这些是设备的明文管理员凭证,rpmkey版本号存储在/var/run/rpmkey.rev中。这帮助编写了一个bash代码来检索设备的凭据:

[1] [2] [3] [4] [5]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载