DIR-823路由器固件模拟环境搭建

2023-10-18 11:10

本文主要是介绍DIR-823路由器固件模拟环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0X01 想说的话😴

最近的工作内容是复现各种路由器的Nday漏洞,对于我这种在固件安全方面一无所知的小白来说,特别的迷茫,于是在网上搜集各种资料来看,搭建固件漏洞复现的环境。遇到各种坑,各种不懂的错误。终于把路由器固件模拟环境搭建出来了。
对路由器漏洞挖掘一无所知的同学可以先去看看《揭秘家用路由器0day漏洞挖掘技术》这本书,看完之后,虽然会有一些不太懂,但总体上会对路由器有所了解。

0x02 环境搭建🏄

系统:Ubuntu 16.04
这里我搭建的环境实在ubuntu16.04上,有的博客说要搭建在ubuntu14.04上才行,不过我在14.04上搭建也会出现各种问题。
请诸位看我最终安装完的目录

固件分析工具包

自动化分析固件文件的一系列脚本

git clone --recursive https://github.com/attify/firmware-analysis-toolkit.git


进入到firmware-analysis-toolkit里面,打开setup.sh 咱们来看一下里面的内容,line 4 是下载一些依赖包和qemu, line 6-12是下载binwalk,边我注释了,我在执行setup.sh 脚本的时候,这边一直卡着,下载不了。然后line 15-18 是下载firmadyne。 后面的就自动执行。

执行 ./setup.sh
下一步就是安装binwalk

安装binwalk

Binwalk是一款十分强大的固件分析工具,常用于固件分析及提取文件系统。

cd firmware-analysis-toolkits
sudo git clone https://github.com/devttys0/binwalk.git
cd binwalk 
sudo ./deps.sh
sudo python3 ./setup install
sudo -H pip3 install git+https://github.com/ahupp/python-magic
sudo -H pip install git+https://github.com/sviehb/jefferson

上面的弄完之后嘞,验证一下binwalk 是否能用 , 这里要注意的是,binwalk 版本现在都是2.0以上的,我之前方便看到别人的博客都是用apt-get install binwalk,没想到是1.0的,然后解包解不开。

下一步安装qemu

【qemu】

qemu和vmware一样,一种虚拟机软件,只不过qemu能够虚拟的平台更加丰富一些。能够虚拟很多嵌入式平台的设备。

sudo apt-get install qemu 
#user mode,包含qemu-mips-static,qemu-mipsel-static,qemu-arm-static等
sudo apt-get install qemu-user-static
#system mode,包含qemu-system-mips,qemu-system-mipsel,qemu-system-arm等
sudo apt-get install qemu-system

qemu 的简单使用,这里让大家看看qemu是干嘛的。
1.首先用binwalk 解包 binwalk -Me XXX.bin,然后大家会看到Squashfs 这样的文件系统。

并且还会看到文件夹里面多了一个.extracted的东西。并且进去里面还有一个squashfs-root文件夹,里面就是标准的linux结构。


2. 使用file /bin/busybox,查看文件类型,发现是mips 的。然后cp qemu-mipsel-static ./ 把qemu 的一个模块复制过来。可以看一下上面的图,需要根据文件的类型,使用相应的qemu 模块运行。不然会报Invalid ELF image for this architecture这个错误。

3. 运行sudo chroot . ./qemu-mipsel-static /bin/busybox。前面的是. ./ 有空格的,记住不是…/
显示这样就说明qemu 正常使用了。

firmadyne在执行setup.sh的时候就安装好了,这里我没有出什么问题

0x03 运行固件包

首先运行固件包的前提需要firmware-analysis-toolkit里面的fat.py。

修改配置文件fat.config

fat.py 运行的时候需要获取sudo 密码,和firmadyne的路径,这里需要根据自己需要修改。
感兴趣可以看一下fat.py里面的代码。

运行固件 😃

这里使用固件 HG832固件包,注意固件包运行的是bin.不是binwalk 解开的固件文件夹。
运行固件包如下:

./fat.py /home/XXX/Desktop/DIR823GA1_FW102B03.bin

下图所示,里面有一个IP对吧。去浏览器运行吧,少年,你成功了😱。
噢,对了,你在复现一些漏洞的时候,这里也可以看到固件包会有什么反应😃。

浏览器运行192.168.0.1 😃

0X04 写在最后 😏

这些工具在EMbedded_2020 和 AttifyOS v3.0 这两种虚拟机里面都有,并且这两种虚拟机是专门做IOT渗透的虚拟机。但是EMbedded 系统的qemu 有点问题,也不知道是怎么回事,于是自己搭了一套。

这篇关于DIR-823路由器固件模拟环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232168

相关文章

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt