CTF论坛

[全平台] [CTF工具]binwalk_多重文件分析

2019-6-10 19:18
380
工具介绍:
Binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具, 具体来说,它被设计用于识别嵌入固件镜像内的文件和代码。 Binwalk使用libmagic库,因此它与Unix文件实用程序创建的魔数签名兼容。 Binwalk还包括一个自定义魔数签名文件,其中包含常见的诸如压缩/存档文件,固件头,Linux内核,引导加载程序,文件系统等的固件映像中常见文件的改进魔数签名。
在CTF中Binwalk常用于分析隐藏文件

Windows下安装:
1.你需要先安装python
2.从github下载代码到本地 https://github.com/ReFirmLabs/binwalk
3.进入Binwalk所在文件夹 执行命令 程序将会自动安装
  1. python setup.py install
复制代码
bugku20190610190725.jpg

4.安装完成后在python安转目录下的Script目录里有个名字叫做binwalk的文件
然后在本文文件夹启动命令行就可以使用Binwalk了


这样每次使用都需要到这个文件夹比较麻烦 ,可以添加环境变量解决这个问题
bugku20190610191026.jpg

Linux下安装:
linux下安装就比较简单了
Installation
Binwalk follows the standard Python installation procedure:
  1. $ sudo python setup.py install
复制代码
If you're running Python 2.x, installing the optional Python lzma module is strongly recommended (but not required):
  1. $ sudo apt-get install python-lzma
复制代码

Binwalk命令介绍

  1. 扫描选项:
  2. -B,-- signature 扫描目标文件的常见文件签名
  3. -R,--raw = <str>扫描目标文件的指定字符序列
  4. -A,--opcodes扫描目标文件中常见可执行代码
  5. -m,--magic = <file> 指定要使用的自定义魔数签名文件
  6. -b,--dumb 禁用智能签名关键字
  7. -I,--invalid显示结果标记为无效
  8. -x,--exclude = <str>排除与<str>匹配的结果
  9. -y,--include = <str>只显示匹配<str>的结果

  10. 提取选项:
  11. -e,--extract自动提取已知的文件类型
  12. -D,--dd = <type:ext:cmd>提取<type>签名,为文件扩展名为<ext>,然后执行<cmd>
  13. -M,--matryoshka 递归扫描提取的文件
  14. -d,--depth = <int>限制matryoshka递归深度(默认值:8级深)
  15. -C,--directory = <str>将文件/文件夹提取到自定义目录(默认值:当前工作目录)
  16. -j,--size = <int> 限制每个提取的文件的大小
  17. -n,--count = <int>限制提取文件的数量
  18. -r,--rm 提取后删除刻录文件
  19. -z,--carve从文件中读取数据,但不执行提取实用程序
  20. 熵分析选项:
  21. -E,--entropy 计算文件熵
  22. -F,--fast计算更快,但不太详细的熵分析
  23. -J,--save将熵图保存为PNG图像
  24. -Q,--nlegend 从熵图图中省略图例
  25. -N,--nplot 不生成熵图
  26. -H,--high = <float>设置上升沿熵触发阈值(默认值:0.95)
  27. -L,--low = <float> 设置下降沿熵触发阈值(默认值:0.85)

  28. 原始压缩选项:
  29. -X, --deflate扫描原始deflate压缩流
  30. -Z, --lzma 扫描原始LZMA压缩流
  31. -P, --partial浅度扫描,速度更快
  32. -S, --stop 找到第一个结果后停止扫描

  33. 二进制差异选项:
  34. -W,--hexdump 执行文件或文件的hexdump/diff
  35. -G,--green 只显示包含所有文件中相同字节的行
  36. -i,--red 仅显示包含所有文件中不同字节的行
  37. -U,--blue只显示一些文件中包含不同字节的行
  38. -w,--terse 只显示第一个文件的十六进制转储

  39. 一般选项:
  40. -l,--length = <int>要扫描的字节数
  41. -o,--offset = <int>以此偏移开始扫描
  42. -O,--base = <int>向所有打印的偏移量添加基址
  43. -K,--block = <int> 设置文件块大小
  44. -g,--swap = <int>扫描前每n个字节反转一次
  45. -f,--log = <file>将结果记录到文件
  46. -c,--csv 将结果记录到CSV格式的文件中
  47. -t,--term格式化输出以适合终端窗口
  48. -q,--quiet 禁止输出
  49. -v,--verbose 详细输出
  50. -h,--help显示帮助
  51. -a,--finclude = <str>只扫描名称与此正则表达式匹配的文件
  52. -p,--fexclude = <str>不扫描名称与此正则表达式匹配的文件
  53. -s,--status = <int>启用指定端口上的状态服务器
复制代码



bugku20190610190842.jpg
分享到 :
0 人收藏
有人的地方就有江湖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Bugku! X3.4 © 2017-2019 CTFbbs.

返回顶部