当前位置: 首页 > news >正文

Cisco RV160W 固件模拟

Cisco RV160W 固件模拟

本次进行的固件模拟,依旧是基于 Cyberangel 师傅的博客进行学习。指北: Cyberangle 公开知识库

先对获得的固件进行解压、打包备用。

固件:
RV16X_26X-v1.0.01.01-2020-08-17-11-09-01-AM.img

image

设置网桥、启动虚拟机,给出代码和截图。

# 创建网桥
sudo brctl addbr ms_br # 创建一个名为`ms_br`的网桥设备
sudo ip link set ms_br up  # (启动)刚刚创建的网桥`ms_br`,使其处于活动状态
sudo ip addr add 192.168.10.1/24 dev ms_br # 给网桥`ms_br`分配一个IP地址`192.168.10.1`# 创建并连接TAP设备
sudo ip tuntap add dev ms_tap mode tap  # 创建一个TAP设备,命名为`ms_tap`
sudo brctl addif ms_br ms_tap # 将TAP设备`ms_tap`添加到网桥`ms_br`中
sudo ip link set ms_tap up # 启用TAP设备`ms_tap`
sudo ip addr add 192.168.10.10/24 dev ms_tap # 给`my_tap`分配一个IP地址`192.168.10.10`

开启虚拟机:

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 console=tty0" \-net nic \-net tap,ifname=ms_tap,script=no,downscript=no \-nographic

以默认账户 root:root 登陆

ip addr add 192.168.10.2/24 dev eth0 # 配置网络IP
service ssh start

image

scp ./ubifs-root.tar.gz root@192.168.10.2:/root/

image

tar -xzvf ./ubifs-root.tar.gz
chmod -R 777 ubifs-root/
mount -o bind /dev ./ubifs-root/dev
mount -t proc /proc ./ubifs-root/proc
chroot ./ubifs-root/ sh # 将当前进程的根目录切换到 ./ubifs-root/ 下/etc/init.d/boot boot
generate_default_cert
/etc/init.d/confd start
/etc/init.d/mini_httpd.init start # 这个系统的 web 服务是由 mini_httpd 提供的

image
image
image
image

这里出现了致命的错误,导致服务没有正常启动,我们对 /usr/sbin/mini_httpd 程序进行逆向逆向分析,查找问题发生点。

搜索关键字 SO_REUSEADDR,可以知道问题出于29行的 setsockopt 失败,在这里我们直接 patch 掉使得运行正常即可,可以通过直接修改跳过判断或对 setsockopt 函数进行hook。

image

首先,可以考虑直接对程序进行patch操作,取消这个错误判断跳转。

image

image

此时可以看到伪C代码变成了下图的样子,也就是跳过了对setsockopt返回值的检查。

image

此时,我们可以把patch之后的内容替换到模拟的固件中,进行替换和重新运行最后一步。

image

image

访问 192.168.10.2,发现虽然开启了http服务,但是我们没有运行的权限,在刚刚的服务中寻找在哪里导致了Forbidden。通过查找字符串,可以知道最后是 FUN_0001b5f0 处理了这个拒绝服务请求,我们尝试将这个 callnop 掉来避免被拒绝。

image

image

image

image

最后,我们成功运行了这个固件。

image

http://www.sczhlp.com/news/8763/

相关文章:

  • Code is cheap, show me your chat!
  • AutoCodeRover: Autonomous Program Improvement 论文笔记
  • Xshell连接主机
  • LGP6329 [LG TPLT] 点分治II 学习笔记
  • 题解:QOJ7899 Say Hello to the Future
  • 【问题】Edge浏览器点击标签、收藏夹、设置等无反应
  • Edge浏览器点击标签、收藏夹、设置等无反应
  • Windows右键菜单注册表位置
  • WPF 实现的车机界面
  • PWM
  • 20250810 做题记录
  • 余数(求子序列之和模m的最大值)
  • 题解:[NOIP2023] 双序列拓展
  • java学习(8月9号)
  • 去做自己的山-大大方方做自己摘要
  • 数据库语句
  • 软考系统分析师每日学习卡 | [日期:2025-08-09] | [今日主题:分布式数据库]
  • 8.9总结
  • 2025年8月9日
  • 2025杭电暑期多校第七场(持续更新)
  • Code of Transformer 学习
  • 有用的网站 - Chao
  • cursor + mcp + mysql以及postgresql
  • ubuntu找不到启动盘
  • Gemma 3:单GPU/TPU可运行的最强开源模型
  • 【转】[C#] WPF 的 DataGrid 对指定类型格式化显示
  • AcWing466. 回文日期
  • 深入解析:深入UniApp X:掌握复杂列表与全局状态管理的艺术
  • OpenAI 的最新 AI 模型 GPT-5 现已在 GitHub Models 上提供!
  • 20th智能车渡众组游记 | 国一回忆录