Cisco RV345路由器高危漏洞研究分享

0x0 前言
思科公司是全球领先的网络解决方案供应商。依靠自身的技术和对网络经济模式的深刻理解,思科成

为了网络应用的成功实践者之⼀。

0x1 简介

  1. 关键点:upload.cgi中的fileparam参数,可以参考:https://www.zerodayinitiative.com/advisories/ZDI-20-1100/

0x2 准备
固件版本 1.0.00.33:https://software.cisco.com/download/home/286288298/type/282465789/release/1.0.03.20?catid=268437899

0x3 工具
1.静态分析工具:IDA

2.系统文件获取:binwalk

3.抓包改包工具:Brup Suite

0x4 测试环境
Cisco RV345路由器真机测试,可以在某宝上或者某鱼上购买(学到的知识是无价的)。

0x5 漏洞分析
1.可以通过binwalk -Me参数进行解包。

2.find -name "*cgi" 主要目的是搜索根目录在哪,可以看到如下图,路径比较长,所以通过find是最 好找到根目录的办法。


3.通过详细的描述可以发现,漏洞点出现在upload.cgi文件中(如果是低版本的1.0.00.33版本的话, 没有这个文件,只有高版本才有),那么漏洞点也出现在fileparam参数中,可以大致推测出漏洞点应该存在于固件更新页面。

4.本人想通过reboot命令对路由器进行探测是否执行命令成功,发现貌似不能执行reboot,执行其他 命令也没什么反应,可能到这里有的兄弟就已经放弃了,就觉得是不是没有这个漏洞,或者漏洞点 不在这,但是...

5.本人将固件版本降低重刷回 v1.0.00.33(官方最低版本)。

6.然后使用我们已经构造好的POC并放到Burp Suite中,并使用reboot命令,发现路由器重启,证明存在命令执行漏洞。但是想查看有什么命令能执行。

7.本人就想了一个办法,通过重定向符号">",将打印的数据重定向到能访问的页面,或者创建一个可以访问的页面(xxx.html)。


8.低版本的Cisco RV345是没有telnetd这个命令的,但是高版本是存在telnetd的,本人便想通过上传高版本的busybox执行telnetd,发现居然不可以(可能是高版本的内核或者其他什么的不兼容低版本吧),那这样只能在网上找一个busybox上传了。最终获取到ROOT权限。

9.经过各种测试,发现高版本是存在漏洞的,但是权限是比较低的 www-data 用户权限,和漏洞详细描述的一样,所以不能执行reboot命令,只能执行比较简单的命令。

0x6 补丁对比
1.没有补过漏洞的,没有过滤直接通过sprintf 复制给v11,最终执行system。

2.多了一个match_regex函数的正则表达式,这样便不能输入特殊字符,也就无法导致命令执行漏洞了。

0x7 总结
固件为高版本,感觉不能执行命令时,可以切换一下思路,将版本降低,再重试,或许有不同的收获,然后结合低版本的思路,再去灰盒高版本固件。
当漏洞存在时,使用 ls 等命令都无法输出命令结果时,那么此时就可以换一下思维,通过 ">" 重定向符号或者其他方式将数据打印到访问的页面中。

本文来源于: https://xz.aliyun.com/t/9449

相关推荐

记一次对某收费协同办公系统的审计(.Net审计)

概述 这系统是二、三月份的时候朋友发我的,叫我审计一下,大概看了一下漏洞挺多的,引擎搜索了一下发现没人报出来,但应该不少人知道了,以为只是一个小型的系统,但没想到关键字一查有1W多个,算中型了,由于是收费的系统,不好透露,怕厂商警告,这里简

ThinkPHP3.2.3 反序列化&sql注入漏洞分析

ThinkPHP3.2.3 反序列化&sql注入漏洞分析 环境 php5.6.9 thinkphp3.2.3 漏洞分析 首先全局搜索 __destruct,这里的 $this->img 可控,可以利用其来调用 其他类的destroy() 方

网络层ICMP隧道研究

网络层ICMP隧道研究 [TOC] ICMP隧道概念 介绍:ICMP协议常用于我们判断网络是否可达的ping命令,它不同于其他通讯协议的地方在于:它在进行通讯时不需要开放端口,并且计算机防火墙不会屏蔽ping数据包,实现不受限制的网络访问。

test

测试

大数据框架Hue命令执行技巧

目前大数据是一个流行趋势,多数企业采用开源大数据框架来处理复杂的大体量数据,大数据管理平台Hue 是一个Web应用,用来简化用户和Hadoop集群的交互,技术架构从总体上来讲采用的是B/S架构,该web应用的后台采用python编程语言编写

Fuzz Server With AFL

Problem 因为个人偏爱AFL,习惯用AFL做模糊测试,发现一些CVE,但是一直苦于AFL的工作方式,由于AFL只能够从stdin/file获取输入,变异。 而网络应用多是socket或者其他network相关的通信方式,而且默认情况下

记一次曲折的edu挖洞

记一次曲折的edu挖洞 在挖edusrc时,对着某站的搜索框进行测试时突然发现了sql注入,但没想到这才是噩梦的开始。 尝试联合查询 访问url/search.jsp?key=12'页面显示了500,但是访问url/search.jsp?k

MS12-027及利用样本分析

0x00 前言 分析环境: OS版本:Windows 7 Service Pack 1 x86 Office版本:Professional 2007 MSCOMCTL.OCX版本:6.01.9545 该版本MSCOMCTL.OCX存在两处缓

记一次不曲折的校内站点渗透

前言 备考的时候偶然点了进了本校内网的某个站点 , 停下了复习(直接拔剑) 测试到注入 http://url/newdetail.aspx?id=11999' or 1=1 -- 直接Sqlmap一把过 , 连waf都没得(狗头) 随便看看

网康防火墙前台RCE及分析

漏洞描述 网康下一代防火墙(NGFW)是网康科技推出的一款可全面应对网络威胁的高性能应用层防火墙。凭借超强的应用识别能力,下一代防火墙可深入洞察网络流量中的用户、应用和内容,借助全新的高性能单路径异构并行处理引擎,在互联网出口、数据中心边界

记一次不曲折的校内站点渗透

前言 备考的时候偶然点了进了本校内网的某个站点 , 停下了复习(直接拔剑) 测试到注入 http://url/newdetail.aspx?id=11999' or 1=1 -- 直接Sqlmap一把过 , 连waf都没得(狗头) 随便看看