CVE-2020-3331-RV110W

环境复现:

这里根据这个github上的命令继续敲即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
git clone git@github.com:Vu1nT0tal/IoT-vulhub.git
unzip iot-vulhub.zip && cd iot-vulhub

#构建ubuntu1604基础镜像
cd baseImage/ubuntu1604 && docker build -t firmianay/ubuntu1604 .

#binwalk容器的构建,笔者这里没有拉取成功,所以使用本地进行解包
binwalk -Me RV110W_FW_1.2.2.5.bin

cd Cisco/CVE-2020-3331

#解包如上

#搭建firmianay/qemu-system:mipsel
cd baseImage/qemu-system/mipsel && sudo docker build -t firmianay/qemu-system:mipsel .

#初始化
./init_env.sh mipsel

#自动化编译环境
sudo docker compose -f docker-compose-system.yml build

#启动容器
sudo docker compose -f docker-compose-system.yml up

#等待启动完成,重新打开一个窗口
sudo docker exec -it 2e /bin/bash

这里讲一下踩坑点,环境搭建比较困难,尤其是ubuntu16的镜像拉取和binwalk的容器,镜像是找别的师傅拉取导入的,binwalk是选择本地进行解包。

在build时遇到的最大的问题就是会报错

image-20250326112130214

这里我们就需要,先拉取一下firmianay/qemu-system:mipsel . 如上命令。

但是我们仔细看一下脚本你就会发现

image-20250326112322756

它把这几行注释掉了。所以我们就需要自己手动下载一下

image-20250326112627262

然后我们在上一级拉取即可

1
>sudo docker build -t firmianay/qemu-system:mipsel .

然后我们回去在build就不会报错了

image-20250326112812813

然后我们正常起环境

BUT!!!!!

image-20250326153349482

这里觉得是解包的时候的问题,所以还是准备继续安装一下sasquatch

上午搜一下报错,找到文章binwalk缺少sasquatch报错-CSDN博客

1
2
3
4
git clone git@github.com:devttys0/sasquatch.git
cd sasquatch
wget https://github.com/devttys0/sasquatch/pull/51.patch && patch -p1 <51.patch
./build.sh

然后我们发现安装成功了也是解决了拆包问题

所以更新一下指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
git clone git@github.com:Vu1nT0tal/IoT-vulhub.git
unzip iot-vulhub.zip && cd iot-vulhub

#构建ubuntu1604基础镜像
cd baseImage/ubuntu1604 && docker build -t firmianay/ubuntu1604 .

#binwalk容器的构建
cd baseImage/binwalk && docker build -t firmianay/binwalk .

cd Cisco/CVE-2020-3331

#解包固件
docker run --rm -v $PWD/firmware:/root/firmware firmianay/binwalk -Mer "/root/firmware/RV110W_FW_1.2.2.5.bin"

#搭建firmianay/qemu-system:mipsel
cd baseImage/qemu-system/mipsel && sudo docker build -t firmianay/qemu-system:mipsel .

#初始化
./init_env.sh mipsel

#自动化编译环境
sudo docker compose -f docker-compose-system.yml build

#启动容器
sudo docker compose -f docker-compose-system.yml up

#等待启动完成,重新打开一个窗口
sudo docker exec -it 2e /bin/bash

下载sasquatch

这里可以看一下笔者这篇文章:CNVD-2013-11625

这里时间跨度也是比较长,也是讲一下踩坑点:这里笔者的ubuntu环境是20.04和22.04。但是笔者的20.04环境起不起来,但是能解包,而22.04能起环境去解包不了,所以一直放着。

OK,2025.3.26,看上面的解决方法

OK先放着