---
title: Binwalk
categories: Forensics Tools
tags: [binwalk,forensics,kali linux]
date: 2017-09-07 07:15:00
---
0x00 Binwalk介紹
-------------
Binwalk是用于搜索給定二進制鏡像文件以獲取嵌入的文件和代碼的工具。 具體來說,它被設計用于識別嵌入固件鏡像內的文件和代碼。 Binwalk使用libmagic庫,因此它與Unix文件實用程序創建的魔數簽名兼容。 Binwalk還包括一個自定義魔數簽名文件,其中包含常見的諸如壓縮/存檔文件,固件頭,Linux內核,引導加載程序,文件系統等的固件映像中常見文件的改進魔數簽名。
<!--more-->
[主頁][1] | [倉庫][2]
- 作者:Craig Heffner
- 證書:MIT
0x01 功能
----------------
一個固件分析工具
```plain
root@kali:~# binwalk -h
Binwalk v2.1.1
Craig Heffner,http://www.binwalk.org
用法:binwalk [選項] [文件1] [文件2] [文件3] ...
掃描選項:
-B,-- signature 掃描目標文件的常見文件簽名
-R,--raw = <str> 掃描目標文件的指定字符序列
-A,--opcodes 掃描目標文件中常見可執行代碼
-m,--magic = <file> 指定要使用的自定義魔數簽名文件
-b,--dumb 禁用智能簽名關鍵字
-I,--invalid 顯示結果標記為無效
-x,--exclude = <str> 排除與<str>匹配的結果
-y,--include = <str> 只顯示匹配<str>的結果
提取選項:
-e,--extract 自動提取已知的文件類型
-D,--dd = <type:ext:cmd> 提取<type>簽名,為文件擴展名為<ext>,然后執行<cmd>
-M,--matryoshka 遞歸掃描提取的文件
-d,--depth = <int> 限制matryoshka遞歸深度(默認值:8級深)
-C,--directory = <str> 將文件/文件夾提取到自定義目錄(默認值:當前工作目錄)
-j,--size = <int> 限制每個提取的文件的大小
-n,--count = <int> 限制提取文件的數量
-r,--rm 提取后刪除刻錄文件
-z,--carve 從文件中讀取數據,但不執行提取實用程序
熵分析選項:
-E,--entropy 計算文件熵
-F,--fast 計算更快,但不太詳細的熵分析
-J,--save 將熵圖保存為PNG圖像
-Q,--nlegend 從熵圖圖中省略圖例
-N,--nplot 不生成熵圖
-H,--high = <float> 設置上升沿熵觸發閾值(默認值:0.95)
-L,--low = <float> 設置下降沿熵觸發閾值(默認值:0.85)
原始壓縮選項:
-X, --deflate 掃描原始deflate壓縮流
-Z, --lzma 掃描原始LZMA壓縮流
-P, --partial 淺度掃描,速度更快
-S, --stop 找到第一個結果后停止掃描
二進制差異選項:
-W,--hexdump 執行文件或文件的hexdump/diff
-G,--green 只顯示包含所有文件中相同字節的行
-i,--red 僅顯示包含所有文件中不同字節的行
-U,--blue 只顯示一些文件中包含不同字節的行
-w,--terse 只顯示第一個文件的十六進制轉儲
一般選項:
-l,--length = <int> 要掃描的字節數
-o,--offset = <int> 以此偏移開始掃描
-O,--base = <int> 向所有打印的偏移量添加基址
-K,--block = <int> 設置文件塊大小
-g,--swap = <int> 掃描前每n個字節反轉一次
-f,--log = <file> 將結果記錄到文件
-c,--csv 將結果記錄到CSV格式的文件中
-t,--term 格式化輸出以適合終端窗口
-q,--quiet 禁止輸出
-v,--verbose 詳細輸出
-h,--help 顯示幫助
-a,--finclude = <str> 只掃描名稱與此正則表達式匹配的文件
-p,--fexclude = <str> 不掃描名稱與此正則表達式匹配的文件
-s,--status = <int> 啟用指定端口上的狀態服務器
```
0x02 用法示例
---------
在給定的固件文件(dd-wrt.v24-13064_VINT_mini.bin)上運行文件簽名掃描(-B):
```plain
root@kali:~# binwalk -B dd-wrt.v24-13064_VINT_mini.bin
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
0 0x0 TRX firmware header, little endian, header size: 28 bytes, image size: 2945024 bytes, CRC32: 0x4D27FDC4 flags: 0x0, version: 1
28 0x1C gzip compressed data, from Unix, NULL date: Wed Dec 31 19:00:00 1969, max compression
2472 0x9A8 LZMA compressed data, properties: 0x6E, dictionary size: 2097152 bytes, uncompressed size: 2084864 bytes
622592 0x98000 Squashfs filesystem, little endian, DD-WRT signature, version 3.0, size: 2320835 bytes, 547 inodes, blocksize: 131072 bytes, created: Mon Nov 2 07:24:06 2009
```
[1]: http://binwalk.org/
[2]: http://git.kali.org/gitweb/?p=packages/binwalk.git;a=summary
- Information Gathering
- acccheck
- ace-voip
- Amap
- Automater
- bing-ip2hosts
- braa
- CaseFile
- CDPSnarf
- cisco-torch
- Cookie Cadger
- copy-router-config
- DMitry
- dnmap
- dnsenum
- dnsmap
- DNSRecon
- dnstracer
- dnswalk
- DotDotPwn
- enum4linux
- enumIAX
- Fierce
- Firewalk
- fragroute
- fragrouter
- Ghost Phisher
- GoLismero
- goofile
- hping3
- InTrace
- iSMTP
- lbd
- Maltego Teeth
- masscan
- Metagoofil
- Miranda
- nbtscan-unixwiz
- Nmap
- ntop
- p0f
- Parsero
- Recon-ng
- SET
- smtp-user-enum
- snmp-check
- sslcaudit
- SSLsplit
- sslstrip
- SSLyze
- THC-IPV6
- theHarvester
- TLSSLed
- twofi
- URLCrazy
- Wireshark
- WOL-E
- Xplico
- Vulnerability Analysis
- BBQSQL
- BED
- cisco-auditing-tool
- cisco-global-exploiter
- cisco-ocs
- cisco-torch
- copy-router-config
- Doona
- Exploitation Tools
- Wireless Attacks
- Ghost-Phisher
- mfoc
- Forensics Tools
- Binwalk
- bulk-extractor
- Web Applications
- apache-users
- BurpSuite
- sqlmap
- w3af
- Sniffing-Spoofing
- Bettercap
- Burp Suite
- DNSChef
- Fiked
- hamster-sidejack
- HexInject
- Password Attacks
- crunch
- hashcat
- John the Ripper
- Johnny
- Hardware Hacking
- android-sdk
- apktool
- Arduino
- dex2jar
- Sakis3G
- Reverse Engineering
- apktool