使用binwalk进行二进制分析的简单教程(附kali中分离文件的简单实例)
使用binwalk进行二进制分析的简单教程(附kali中分离文件的简单实例)
Moonbeaut使用binwalk进行二进制分析的简单教程(附kali中分离文件的简单实例)
这篇文章最早发布在CSDN上https://blog.csdn.net/ttovlove_/article/details/135070900?spm=1001.2014.3001.5502
一、引言
- 介绍binwalk的作用和应用场景
- 作为一款开源的二进制分析工具,binwalk可以帮助用户提取、识别和分析各种文件中的隐藏信息,如文件类型、字符串、关键字等。
- 为什么选择binwalk作为二进制分析工具
- binwalk具有强大的功能和灵活的参数设置,适用于多种操作系统和文件类型,且易于学习和使用。
二、安装binwalk
- 系统要求
- Windows、Linux和macOS系统均可使用。
- 下载binwalk安装包
- 访问binwalk官方网站(https://github.com/ReFirmLabs/binwalk)下载最新版本的安装包。
kali中使用apt命令来安装
$sudo apt-get install binwalk |
- 安装binwalk
- 对于Windows用户,运行安装包并按照提示进行操作;对于Linux和macOS用户,使用包管理器(如apt、yum或brew)进行安装。
- 验证安装是否成功
- 打开命令行或终端,输入“binwalk –version”并按回车键,若显示binwalk的版本信息,则表示安装成功。
binwalk --version |
三、基本使用方法
- 获取待分析文件
- 从网络下载、从设备中提取或从其他来源获取待分析的二进制文件。
- 使用binwalk分析文件
- 在命令行或终端中输入“binwalk 文件路径”并按回车键,binwalk将自动开始分析文件。
- 常用选项说明:
- -e:指定文件扩展名,用于过滤分析结果。 |
- 查看分析结果
- 提取文件信息:使用
--dd |
或
--disasm |
选项查看文件的详细信息和汇编代码。
- 识别文件类型:使用
--file-type |
选项查看文件的类型和格式。
- 查找特定字符串或关键字:使用
--string |
或
--keyword |
选项搜索文件中的特定内容。
- 提取隐藏信息(如密码、密钥等):使用
--entropy |
或
--crc |
选项检查文件中的加密和完整性信息。
四、高级功能与技巧
- 使用脚本自动化分析
- 编写自定义脚本,实现批量分析和处理二进制文件的功能。
- 与其他工具结合使用(如Wireshark、IDA Pro等)
- 将binwalk的分析结果导入到其他工具中,进行进一步的处理和分析。
- 自定义输出格式和报告生成
- 使用“–output”选项指定输出格式,如CSV、JSON等;使用“–report”选项生成详细的分析报告。
- 常见问题与解决方法
- 解决分析过程中遇到的各种问题,如错误提示、分析失败等。
五、实例演示
- 分析一个已知的恶意软件样本
- 使用binwalk提取恶意软件中的隐藏信息,如加密算法、通信协议等。
- 分析一个加密的文件或数据包
- 使用binwalk识别加密算法和密钥,辅助解密和破解工作。
- 分析一个包含隐藏信息的二进制文件
- 使用binwalk查找文件中的敏感信息,如用户名、密码等。
以下是分离图片中隐藏文件的一个简单实例:
题目:png食用
用010以及stegsolve查看过图片,没有异常,怀疑是图片中隐藏文件,使用binwalk分析
命令如下:
binwalk 图片路径 |
通过binwalk分析可以发现在70658字节有一个zip的文件,将它分离出来,使用–dd命令:
dd if ="文件路径" of="输出文件" skip=从哪个字节开始 bs=1 |
在文件中找到分离出来的文件解压,得到隐藏内容。