CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

firmware.bin

2017年5月24日 922点热度 0人点赞 0条评论

firmware.bin

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

逆向路由器固件之解包 Part1

xd_xd2015-08-26+10共376228人围观 ,发现 13 个不明物体工具

这个系列的文章以逆向路由器固件的方式来挖掘路由器中存在的漏洞。

本篇文章主要以介绍解包固件工具为主。文中演示用的固件可以在这里下载。由于针对设备的攻击越来越多,很多厂商把不提供固件下载作为一种安全策略。所以有些时候只能通过物理的方式从设备中导出固件。后续的文章中会介绍相关技术。

通用的linux RE工具

file — 用来检测是否是有效的文件和文件类型
hexdump —16进制导出工具
strings 跟hexdump类似但是可以以可读的形式展示
dd — 从二进制文件中挖掘数据
lzma — 解压LZMA文件

第三方工具

binwalk — 通过固件文件头来分析文件和文件系统
Fireware Mod Kit — 自动化分析固件文件的一系列脚本
squashfs-tools — 可以通过apt-get squashfs-tools 来安装。用来处理squashfs的一系列工具

初步分析

通常来说逆向工程的第一步就是使用上面列出的通用linux工具从要分析的文件中挖掘出尽量多的信息。通过这些信息来决定下一步进行的分析。比如使用hexdump发现sqsh意味着文件中有一个squashfs文件系统或者识别出了固件包中常用的boot loader U-Boot。

File Tool

文件工具通常只是告诉我们这个文件是否是已知的文件类型,某些情况下可以识别出文件的种类,比如数据文件。

使用file分析路由器固件如下:

file分析的结果可以告诉我们该文件是否是已知的类型,是否需要进一步分析。这里的结果我们可以看到仅仅是显示数据文件。

hexdump

hexdump 工具可以让你分析文件中的每一个字节,这是非常有价值的。使用hexdump分析固件如下:

上面的命令会把hexdump的结果写入到文件hexTP.txt中做进一步分析。-C选项是设置hexdump输出为hex+ASCII的方式,更便于阅读。输出的文件十分巨大,这个例子中我们可以从文件头的地方看到这个固件是属于TP-Link的,但是这个信息我们已经知道了。所以下一步就是尝试strings命令,看看是否可以获得更多的信息。

strings

作为初始的信息收集,strings可能是最常用和做好用的工具之一,因为它可以显示文件中所有可打印的数据。跟使用hexdump一样,最好把strings的结果写入文件分析,以免下次想要分析的时候还需要重复一遍strings命令。

从strings的结果中,我们发现了一些有趣的信息。这个信息就在strings结果文件开始的地方,稍微往后翻一下或者搜索一下文件系统常用的boot loader名字比如U-boot,就可以找到这些信息。现在我们已经知道这个嵌入式系统使用U-boot作为boot loader,而且知道了它的版本信息。

Binwalk

binwalk会分析二进制文件中可能的固件头或者文件系统,然后输出识别出的每个部分以及对应的偏移量。使用binwalk分析固件如下:

binwalk给出了大量有用的信息。从这些信息中可以得知这个固件是运行在MIPS架构上的一个linux系统。使用了squashfs文件系统。同时也再次确认boot loader是U-boot。关于binwalk的更详细的用法可以参考Binwalk:后门(固件)分析利器。

提取文件系统

终于到了最关键的一步,我们要从固件镜像中分离出文件系统的内容。因为是linux系统,可以预见一些标准的linux文件比如passwd和shadow可能会有一些敏感信息。很多人使用dd来分离文件系统的内容。使用binwalk和Firmware Modification Kit来解包最简单方便。

使用binwalk的-e参数可以自动把固件镜像中的所有文件都解出来。

binwalk -e <input file>

使用Firmware Modification Kit中的extract-firmware.sh脚本会更加高效。如果你想重打包修改之后的固件的话可以使用build-firmware.sh来打包固件。这样可以节省大量时间自己解包和管理所有的偏移。

极路由安全设计架构分析这里分析的极路由的那个固件包,使用FMK就可以一键解包。如下:

*参考来源:secforce,翻译整理/xd_xd,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

xd_xd

xd_xd5 篇文章等级: 3级
|
|
  • 上一篇:轻量级社工钓鱼框架SPF (SpeedPhish Framework)
  • 下一篇:匿名操作系统Whonix v11发布
发表评论

已有 13 条评论

  • 大屌哥 2015-08-26回复1楼

    吊啊!太吊了 这个工具

    亮了(2)
  • 分开的小数点 2015-08-26回复2楼

    最后基于鸡路由9013版本的固件的FMK解包……用FMK打包就不能成功啦~github上的firmware-tools你找找有个倒霉熊图标的作者的工具~很棒!

    亮了(2)
  • susftp (5级)中 2015-08-26回复3楼

    part1好少

    亮了(1)
  • py_zhu 2015-08-26回复4楼

    之前一直找类似的工具–Binwalk 有时间试试看。

    亮了(1)
  • JackFree (8级)冒个泡,表示我还关注着FB······ 2015-08-26回复5楼

    很好很不错,赞一个。

    亮了(1)
  • BigCat (1级) 2015-08-27回复6楼

    FMK只能解部分固件,并且对文件系统支持也不好,比如下面的:
    Unsupported file system ‘jffs2′! Quitting…
    Unsupported file system ‘wind’! Quitting…
    No supported file system found! Aborting…
    楼主是怎么解决的呢?

    亮了(2)
  • You (1级) 2015-08-28回复7楼

    $ ./firmware-mod-kit/extract-firmware.sh wr841nv8_en_3_13_33_up_boot\(130506\).bin
    Firmware Mod Kit (extract) 0.99, (c)2011-2013 Craig Heffner, Jeremy Collake

    Preparing tools …
    ZLib.cpp:183:31: error: expected initializer before ‘OF’
    ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
    ^
    makefile:34: recipe for target ‘ZLib.o’ failed
    make[2]: *** [ZLib.o] Error 1
    Makefile:13: recipe for target ‘mksquashfs-lzma’ failed
    make[1]: *** [mksquashfs-lzma] Error 2
    Makefile:7: recipe for target ‘all’ failed
    make: *** [all] Error 2
    Tools build failed! Check pre-requisites. Quitting…

    亮了(0)
  • davie80 (3级) 2015-08-31回复8楼

    看起来很不错的样子。。。。

    亮了(0)
  • xdzj (1级) 2015-09-03回复9楼

    太牛了吧

    亮了(0)
  • 网络安全伞 (1级) 2015-09-04回复10楼

    我只是想知道怎么在电脑上吧固件跑起来

    亮了(0)
  • weng1603835180 2016-04-20回复11楼

    为什么不解不了包呢?
    aa@ubuntu:~/Downloads/firmware-mod-kit$ ./extract-firmware.sh fwbackup.bin
    Firmware Mod Kit (build-ng) 0.83, (c)2011-2013 Craig Heffner, Jeremy Collake

    File does not exist!

    亮了(2)
    • 安瑞熙 (1级) 2016-07-18回复

      @ weng1603835180 解决没有呢

      亮了(0)
  • Kios (1级) 2017-02-25回复12楼

    mark

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

xd_xd

xd_xd

http://xdxd.love

5 篇文章13 条评论

相关阅读

  • 逆向破解H.Koenig 遥控器 Part 2
  • 工具推荐:Inspeckage,安卓动态分析工具
  • 运营商发行的大量路由器包含高危漏洞,大部分“问题路由器”IP位于中国
  • 逆向工厂(一):从hello world开始
  • SSCTF线上赛解题报告Part1(逆向部分)

特别推荐

关注我们 分享每日精选文章

不容错过

  • WAF产品经理眼中比较理想的WAF兜哥2017-01-22
  • 愤怒的白帽子:被Facebook拒绝支付赏金后,白帽子编写大规模攻击工具JohnChu2014-08-04
  • 走近科学:揭秘在线DDoS攻击平台(上)ArthurKiller2016-06-23
  • DedeCMS全版本通杀SQL注入漏洞利用代码及工具千秋丶千年2014-02-28

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月24日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me