0x02 Cisco RV345路由器漏洞研究分享(CVE-2020-3451)

本文详述了一位安全研究员如何发现并利用Cisco RV345路由器高版本固件中的命令执行漏洞。通过降级固件版本,分析CGI脚本,特别是upload.cgi中的fileparam参数,最终确认了命令执行的可行性。通过重定向输出和上传 BusyBox,研究员成功获取了ROOT权限。文章还讨论了补丁如何通过正则匹配防止了漏洞的利用。
摘要由CSDN通过智能技术生成

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://www.freebuf.com/vuls/267193.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值