工具学习_Binwalk

Binwalk是一个功能强大且广泛使用的开源工具,旨在分析和提取二进制文件(包括固件映像)中的数据。它是任何信息安全研究人员(比如你自己)武器库中必不可少的工具。Binwalk是专门为识别二进制数据中各种类型的嵌入式文件、压缩和加密方法而设计的。

Binwalk 安装

下载 binwalk:

$ wget https://github.com/ReFirmLabs/binwalk/archive/master.zip
$ unzip master.zip

安装 Binwalk ;如果您之前安装了 binwalk 版本,建议您在升级前卸载它:

$ (cd binwalk-master && sudo python setup.py uninstall && sudo python setup.py install)

Debian 用户可以使用附带的deps.sh脚本安装所有可选和建议的提取器/依赖项(推荐):

$ sudo ./binwalk-master/deps.sh

如果您不是 Debian 用户,或者只想安装选定的依赖项,请参阅install文档以获取更多详细信息。

固件扫描

Binwalk 的主要特征,也是迄今为止最受欢迎的特征是它的签名扫描。Binwalk 可以扫描固件映像以查找许多不同的嵌入式文件类型和文件系统;只需给它一个要扫描的文件列表:

$ binwalk firmware.bin

DECIMAL   	HEX       	DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
0         	0x0       	DLOB firmware header, boot partition: "dev=/dev/mtdblock/2"
112       	0x70      	LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 3797616 bytes
1310832   	0x140070  	PackImg section delimiter tag, little endian size: 13644032 bytes; big endian size: 3264512 bytes
1310864   	0x140090  	Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 3264162 bytes,  1866 inodes, blocksize: 65536 bytes, created: Tue Apr  3 04:12:22 2012

Binwalk采用基于签名的扫描来识别二进制数据中的已知文件类型、页眉和页脚。

binwalk -y firmware.bin

此标志-y用于对提供的二进制文件执行基于签名的扫描。它扫描已知的文件类型、页眉和页脚。

场景示例:当您有一个固件二进制文件,并希望快速识别其中嵌入的可识别文件类型时。

文件熵分析

如果 Binwalk 没有报告任何签名,会发生什么?或者,你怎么知道 Binwalk 没有错过任何有趣的东西?熵分析可以帮助识别固件映像中有趣的数据部分:

$ binwalk -E firmware.bin

此标志-E触发对给定二进制文件的熵分析。它计算不同数据区域的熵,以识别潜在的压缩或加密部分。您可以将其他扫描与熵扫描相结合。例如,您可以将签名扫描与熵扫描相结合:

$ binwalk -B -E firmware.bin

场景示例:当您怀疑二进制文件的某些部分可能被压缩或加密,并且您想定位这些区域时。

文件提取

您可以使用 -e 选项告诉 Binwalk 提取它在固件映像中找到的任何文件:

$ binwalk -e firmware.bin

如果您还指定了 -M 选项,Binwalk 甚至会在提取文件时递归扫描文件:

$ binwalk -Me firmware.bin

如果指定了 -r 选项,则任何无法提取的文件签名或导致文件大小为 0 的文件签名都将被自动删除:

$ binwalk -Mre firmware.bin

要提取一个特定的签名类型,请指定一个或多个 -D 类型选项:

$ binwalk -D 'png image:png' firmware.bin

场景示例:当您想从固件二进制文件中自动提取所有可识别的文件以进行进一步分析时。

固件分析

Binwalk可帮助您识别固件映像中使用的架构、文件系统和压缩方法。

binwalk -I firmware.bin

-I标志提供有关固件二进制文件中的体系结构、文件系统和压缩方法的信息。

场景示例:当您需要深入了解固件映像的内部结构和组件时。

自定义扫描

您可以定义自定义签名和规则来检测二进制数据中的特定模式。

binwalk -D="signature:description" firmware.bin

场景示例:处理默认签名未涵盖的专有文件格式或二进制文件中的特定模式时。

结果可视化

Binwalk可以创建它所找到的数据的可视化,从而更容易理解二进制文件的结构。

binwalk -G firmware.bin

-G标志生成二进制数据结构的可视化。

场景示例:当您想获得二进制文件组织的高级概述并识别潜在的嵌入式文件时。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值