文档章节

qemu模拟执行固件文件

Cnlouds
 Cnlouds
发布于 2016/05/18 16:32
字数 530
阅读 711
收藏 3
点赞 2
评论 0

转眼间近半年多没写文章了,年后来京后换了家公司,工作性质也有了些变化,从以前的杂七杂八干活到如今的杂七杂八...

大面上的一些转变是从服务器/web安全转到了智能硬件/web安全,还是很杂吧,学习的太广,没有非常精通的一门也是个一直以来缺陷。

================正题=============

kali下qemu的安装:

apt-get install qemu 

使用Docker容器进行操作

https://hub.docker.com/r/asmimproved/qemu-mips/

分析某路由器固件包:

binwalk -Me bcrm.bin # -M 递归解压看情况可加可不加 -e 自动化提取

一般固件解压后的文件系统有squashfs和cpio,进入相应的文件夹

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-mipsel -L . bin/ls
bin/ls: Invalid ELF image for this architecture

# qemu-mipsel qemu user模式模拟运行 -L . 设置库路径为当前目录

一般报上面的这种错误目前我知道的会有两种情况

  1. 老版本的qemu会存在,新版本一般都不存在,参考解决链接:
    http://www.devttys0.com/2011/12/qemu-vs-sstrip/ 
  2. 文件的打开方式不正确,使用了错误的程序执行了ELF文件

针对第2种的解决方法及常识:

# 使用file识别当前文件的格式

# 识别为:ARM格式的ELF文件
root@kali:~/work/openwrt/_brcm/squashfs-root# file bin/busybox 
bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped

# 识别为:MIPS格式的ELF文件
root@kali:~/work/openwrt/_openwrt-we800g-squashfs.bin.extracted/squashfs-root# file bin/busybox 
bin/busybox: ELF 32-bit LSB executable, MIPS, MIPS32 version 1, dynamically linked, interpreter /lib/ld-uClibc.so.0, corrupted section header size

依据上面类型使用不同的qemu程式模拟即可

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-arm -L . bin/ls
bin  etc  opt  proc  readonly  sbin  usr

先写这些,后续遇到问题再补充,至于漏洞挖掘的慢慢来。

期待各位同道中人交流~

最后弹弹弹~算漏洞么?其实也不算,仅限部分Firefox ESR版本触发 。

 

© 著作权归作者所有

共有 人打赏支持
Cnlouds
粉丝 13
博文 91
码字总数 56136
作品 0
海淀
程序员
使用 QEMU 进行跨平台开发

虚拟化的一个优势就是扩展了计算硬件的功能,可允许一台计算机(主机)通过运行多个客户 操作系统实现多个角色。然而当今很多流行的虚拟化工具在体系结构上还有所限制 — 只允许在同一架构下...

小编辑 ⋅ 2010/03/30 ⋅ 0

路由器漏洞复现分析第二弹:CNVD-2018-01084

  *本文原创作者:kczwa1,本文属FreeBuf原创奖励计划,未经许可禁止转载      感谢基友zBetweener一直与我讨论此次分析中遇到的各种问题,没有他的帮助我无法完成此文。      1月...

FreeBuf ⋅ 02/21 ⋅ 0

路由器固件安全分析技术(一)

前言 本文可作为路由器安全的入门学习教程,一起学习从零基础从搭建环境开始入门路由器固件安全分析的技术。 搭建环境篇 演示系统:debian 3.16.0-4-686-pae 本篇重在演示路由器固件分析及运...

广岛秋泽 ⋅ 2017/06/24 ⋅ 0

从零开始手敲次世代游戏引擎(Android特别篇)-2

在从零开始手敲次世代游戏引擎(Android特别篇)-1当中我们构建了一个基于docker的Android开发环境,并且实现了我们引擎代码的交叉编译。为了验证我们编译出的程序是否能够在Android设备上正...

陈文礼 ⋅ 01/08 ⋅ 0

Qemu 简述

Qemu 架构 Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出...

chambai ⋅ 2017/11/19 ⋅ 0

QEMU 1: 使用QEMU创建虚拟机

QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor, VMM)。QEMU主要提供两种功能给用户使用。一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码。二是作为...

宅蓝三木 ⋅ 2014/05/15 ⋅ 21

KVM系列之KVM Server 部署

介绍 什么是虚拟化? 通过虚拟化工具,将真实的硬件资源模拟划分成更少的虚拟硬件资源。 虚拟话技术分为软件模拟、虚拟化层翻译、容器虚拟化。 虚拟化层翻译分为 软件模拟出所有的硬件设备又...

Kry1702 ⋅ 2017/04/26 ⋅ 0

QEMU用户模式学习笔记

QEMU用户模式学习笔记 @(QEMU)[QEMU用户模式学习笔记] [TOC] 笔记 学习资料:QEMU Emulator User Documentation QEMU用户模式模拟:QEMU可以在当前CPU上执行被编译为支持其他CPU的程序(例如...

i不歪 ⋅ 2016/03/20 ⋅ 0

windows下用qemu搭建android

1.下载Qemu for windows 版本为qemu-0.9.0-windows 2.下载qemuwith-kqemu-support 安装kqemu的目的就是为了加快qemu的子系统运行速度.在X86的硬件平台上模拟x86的操作系统可以飙到真实机器速...

天空下的 ⋅ 2012/12/18 ⋅ 0

KVM之初体验——手动及自动化安装KVM脚本

一,什么是KVM KVM包括很多部件:首先,它是一个Linux内核模块(现在包括在主线中)用于转换处理器到一种新的用户 (guset) 模式。用户模式有自己的ring状态集合,但是特权ring0的指令会陷入...

zyx1990zm ⋅ 2016/01/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 47分钟前 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部