binwalk工具(CTF中的隐写工具)
2022-12-8 17:54:4 Author: www.secpulse.com(查看原文) 阅读量:34 收藏

x38Vij.png

工具简介

Binwalk 是一种快速、易于使用的工具,用于分析、逆向工程和提取固件映像。

工具环境

  • Linux

Linux环境下安装

  1. 直接使用apt/yum进行安装

apt install binwalk

  1. 根据文档进行安装 https://github.com/ReFirmLabs/binwalk/blob/master/INSTALL.md

  • Python3 (官方建议 Python3.6)

Python依赖

pip install nose coverage

pip install pycryptodome # 解密已知的加密固件映像

pip install pyqtgraph # 用于pyqtgraph生成可视化图形

pip install capstone # 用于--disasm选项

典型用法

  • 获取帮助

binwalk -h

binwalk --help

  • 固件扫描

binwalk firmware.bin  # 通过扫描能够智能的发现目标文件中包含的所有可识别的文件类型。

binwalk firmware.bin | head

  • 提取文件

binwalk -e pcat.bin # 分解出文件,使用此命令,可以无视伪加密压缩包、多分割压缩包以及其他文件分解。

binwalk -D=jpeg pcat.bin

#可以指定某种类型的文件进行分解。(--dd与此命令相同,并且均支持正则表达式) binwalk -eM pcat.bin # -M选项和--matroshak 为 递归提取,仅支持 “-e” 和 “--dd”,递归依据是根据magic签名。 binwalk --dd 'zip archive:zip:unzip %e' pcat.bin # 指定文件分解 正则

  • 固件文件的比较

选项“-W”或“-hexdump”对给定文件进行字节比较,可以指定多个文件,这些文件的比较结果会按照hexdump方式显示,绿色表示在所有文件中这些字节都是相同的,红色表示在所有文件中这些字节都是不同的,蓝色表示这些字节仅在某些文件中是不同的。该选项可以与“--block”、“--length”、“--offset” 、“--terse”选项一起使用。

binwalk -W 1 2 3

x38uQ0.png

1,2,3有两个文件内容相同,1个内容不同,所以是蓝色。

x38leU.png

1,2,3三个文件都不相同,所以是红色。

  • 日志记录

选项“ -f ” 或 “ --log= ”可以将扫描的结果保存到一个指定的文件中,示例如下。(如果不与“ -q ” 或 “ --quit ”合用,会同时在stdout和文件中输出。如需要保存CSV格式的log文件,可使用 “--csv”选项。)

binwalk -f logs.log -q pcat.bin binwalk -f binwalk.log --csv pcat.bin

  • 指令系统分析

  • 熵分析

选项“-E”、“--entropy”用于对输入文件执行熵分析,打印原始数据并生成熵图,可与“ --signature ”、“ --raw ”以及“--opcodes”选项合用,对分析更有利。

binwalk -E firmware.bin # 注意要区别于“小e”的使用[提取文件]

  • 启发式分析

遇到的问题

  1. binwalk itself must be run as root

需要在binwalk命令后添加 --run-as=root

┌──(root㉿kali)-[~]

└─# binwalk -e 1.jpg --run-as=root

工具归属

本文作者:青少年CTF

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/193088.html


文章来源: https://www.secpulse.com/archives/193088.html
如有侵权请联系:admin#unsafe.sh