美文网首页
使用QEMU模拟IOT固件

使用QEMU模拟IOT固件

作者: 烤土豆啦 | 来源:发表于2018-05-23 15:12 被阅读0次

简介

在IOT设备测试中,有很多时候可以拿到设备的固件去做进一步的测试。这时就需要某种方式将固件中的程序运行起来,为下一步渗透测试做进一步的准备。

注意:

1.使用qemu不能直接运行固件,也就是不能直接将固件当作Linux启动,只能运行固件中的程序,例luci(User-mode模式模拟运行)。例如,现在有一个tp-link xxx摄像头,在tp-link网站中下载固件,使用firmware-mod-kit解压缩固件。并使用qemu运行其中/bin/uhttpd。即可成功启动web管理界面。因为只是单独启动IOT设备的web管理界面,没有启动其他相应的运行程序,故模拟的效果不是很理想。

操作

1. 获取固件

1.设备的支持网站上查找关于设备的离线升级包

2.使用设备的系统升级功能,抓包分析升级请求包。一般IOT升级下载固件的操作都是使用http,抓包可以获取到下载链接,然后自行使用wget下载

2.解压缩固件

1.使用firmware-mod-kit,执行 extract.sh 即可成功解压,解压缩后的文件目录结构类似于Linux。

2.如果更改固件的内容,可以使用build.sh重新打包固件

3.使用qemu运行固件

qemu的两种运行方式

  • User mode模拟模式,亦即是用户模式。QEMU能引导那些为不同中央处理器编译的Linux程序。而Wine是其主要目标。
  • System mode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上模拟不同虚拟电脑。

一般使用用户模式较多,在确定系统架构后,使用sudo chroot. ./qemu-mips-static bin/busybox即可运行固件中的某一程序。

常见问题
  1. 某些设备的运行程序需要从nvram中获取配置,可以使用nvram-faker这个库去模拟nvram https://github.com/zcutlip/nvram-faker

相关文章

  • 使用QEMU模拟IOT固件

    简介 在IOT设备测试中,有很多时候可以拿到设备的固件去做进一步的测试。这时就需要某种方式将固件中的程序运行起来,...

  • 物联网设备固件模拟流程

    Iot安全之漏洞挖掘。为了对智能设备进行渗透测试,固件模拟可以在没有设备的情况下对固件进行分析。--- 环境 操作...

  • 深入浅出KVM(三) 丨 I/O 全虚拟化和准虚拟化

    在 QEMU/KVM 中,客户机可以使用的设备大致可分为三类: 1. 模拟设备:完全由 QEMU 纯软件模拟的设备...

  • Emulator: qemu: available lcd de

    在使用Mac Android Studio添加安卓模拟器后,启动模拟器如下报错 Emulator: qemu: a...

  • qemu-kvm、qemu-img命令使用方式

    本文介绍使用qemu-kvm管理vms: 一、Qemu的作用: 处理器模拟器 仿真各种IO设备 将仿真设备连接至主...

  • 从头写一个操作系统 08

    版权提示:授权steem@geyu使用 我们一直用qemu来装载.bin文件,模拟计算机启动的过程,qemu很好,...

  • ubuntu文件系统

    1. 安装qemu模拟器 sudo apt install qemu-user-static//sudo apt ...

  • IOT固件爬虫

    前言 最近在看自动化分析固件漏洞,需要爬取很多厂商固件,找到一个不错的爬虫项目记录一下,美中不足的是这个项目很久不...

  • 转qemu使用入门

    转qemu使用入门 使用 qemu 搭建内核开发环境 本文主要介绍在 MacOS 上使用 qemu 搭建 Linu...

  • Ubuntu使用QEMU模拟ARM环境

    注:实验环境是 Ubuntu 16.04.1 gnome 安装交叉编译工具、GDB 和 QEMU 配置编译内核 创...

网友评论

      本文标题:使用QEMU模拟IOT固件

      本文链接:https://www.haomeiwen.com/subject/wzmrjftx.html