Cisco RV340仿真

漏洞介绍

Cisco RV340在2023年爆出了一个CVE-2023-20073漏洞,该漏洞是由于文件上传时授权执行机制不充分造成的,攻击者可通过向受影响设备发送伪造的 HTTP 请求来利用此漏洞。成功利用漏洞后,攻击者可向受影响设备上传任意文件。需要研究该漏洞,首先得对Cisco RV340固件进行仿真。
在CVE官网上可以搜素到CVE-2023-20073漏洞的相关信息
在这里插入图片描述
Cisco RV340、RV340W、RV345 和 RV345P Dual WAN Gigabit VPN 路由器中基于 Web 的管理界面中存在一个漏洞,未经身份验证的远程攻击者可将任意文件上传到受影响的设备。

环境搭建

固件下载

在思科官网(https://software.cisco.com/download/home/286287791/type/282465789/release/1.0.03.29)中下载最新的RV340固件。
在这里插入图片描述

文件系统提取

下载好固件后,拖入虚拟机中,使用binwalk进行固件解析
使用常用的-Me参数

binwalk -Me RV34X-v1.0.03.29-2022-10-17-13-45-34-PM.img

在这里插入图片描述

中间会报一些编码上的错误,但是不妨碍我们对文件系统进行提取
提取后,可以在ubifs-root文件夹中看到文件系统
在这里插入图片描述

网络环境搭建

通过qemu进行固件模拟时,免不了和宿主机进行通信,需要配置一定的网络环境,一般的方法是设置一个网桥,开一个接口,将这个接口给qemu,然后流量的发送都通过这个网桥。示意图如下:
在这里插入图片描述

具体创建命令如下,一般都是通用的:

#!/bin/sh
#sudo ifconfig eth0 down                 # 首先关闭宿主机网卡接口
sudo brctl addbr br0                     # 添加一座名为 br0 的网桥
sudo brctl addif br0 ens33                # 在 br0 中添加一个接口
sudo brctl stp br0 off                   # 如果只有一个网桥,则关闭生成树协议
sudo brctl setfd br0 1                   # 设置 br0 的转发延迟
sudo brctl sethello br0 1                # 设置 br0 的 hello 时间
sudo ifconfig br0 0.0.0.0 promisc up     # 启用 br0 接口
sudo ifconfig ens33 0.0.0.0 promisc up    # 启用网卡接口
sudo dhclient br0                        # 从 dhcp 服务器获得 br0 的 IP 地址
sudo brctl show br0                      # 查看虚拟网桥列表
sudo brctl showstp br0                   # 查看 br0 的各接口信息
sudo tunctl -t tap0 -u root              # 创建一个 tap0 接口,只允许 root 用户访问
sudo brctl addif br0 tap0                # 在虚拟网桥中增加一个 tap0 接口
sudo ifconfig tap0 0.0.0.0 promisc up    # 启用 tap0 接口
sudo brctl showstp br0

注意:如果是eth0的话,则需要将ens33全部换成eth0。
可以在命令行中一条一条输入,也可以将所有命令写入一个sh文件,例如net.sh,接着给文件赋予可执行权限chmod +x net.sh,最后执行文件./net.sh即可
在这里插入图片描述
在这里插入图片描述

运行net.sh后,可以使用ifconfig看到配置的信息
在这里插入图片描述

启动qemu环境

首先需要明确,需要仿真的环境类型是什么。
查看bin文件下的busybox类型
在这里插入图片描述

可以看到文件系统是arm架构,小端序列。
在https://people.debian.org/~aurel32/qemu/armhf/上下载对应的启动文件
在这里插入图片描述

qemu启动命令如下:

sudo qemu-system-arm -M vexpress-a9 -kernel vmlinuz-3.2.0-4-vexpress \
  -initrd initrd.img-3.2.0-4-vexpress -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 \
  -append "root=/dev/mmcblk0p2" -net nic -net tap,ifname=tap0,script=no,downscript=no \
  -nographic -smp 4

命令解释如下:

  1. qemu-system-arm是qemu中用于模拟ARM架构的系统。
  2. -M参数指定需要模拟的硬件平台,这里指定为VEXPRESS-A9,是一个ARM Cortex-A9处理器
  3. -kernel参数指定加载的linux内核,vmlinuz-3.2.0-4-vexpress是一个针对VEXPRESS-A9架构的3.2.0-4版本的内核
  4. -initrd参数指定初始RAM磁盘(initrd)的文件
  5. -drive参数设置虚拟硬盘,if=sd 表示使用SCSI设备接口,file=debian_wheezy_armhf_standard.qcow2 指定了硬盘映像文件的路径。
  6. root=/dev/mmcblk0p2 指定了根文件系统的设备,在这里是一个模拟的MMC(内存卡)设备。
  7. -net nic参数添加网络接口控制器,即NIC
  8. -net tap参数配置了一个虚拟网络接口,tap0 是接口的名称。script=no,downscript=no 表示不使用网络启动脚本。
  9. -nographic 表示不使用图形界面,即以命令行模式运行。
    10.-smp参数用于启动SMP(对称多处理)&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值