Binwalk создан в далеком 2010 году Крейгом Хеффнером, но до сих пор не теряет актуальности. Это бесплатный, но мощный инструмент с открытым исходным кодом для анализа, извлечения и реверс-инжиниринга образов прошивок.
Еще по теме: Все для взлома и реверс-инжиниринга Android приложений
Вы можете использовать Binwalk для извлечения компонентов из образа прошивки и реверс-инжиниринга, чтобы понять как она устроена. Искать в бинарных файлах уязвимости, извлекать файлы и искать бекдоры или цифровые сертификаты.
Инструмент можно установить и использовать в операционных системах Linux, OSX, FreeBSD, Cygwin и Windows.
Binwalk в Windows
В этой главе я покажу, как установить Binwalk в Windows, но имейте ввиду, если вы хотите использовать все функции, лучше его использовать в Linux.
Установка Binwalk в Windows
Чтобы установить в Windows, вам необходимо сначала загрузить и установить Python. Следующим шагом будет установка модуля python-lzma. После успешного выполнения вышеуказанных шагов необходимо загрузить архив Binwalk из репозитория на GitHub.
Затем нужно распаковать загруженный файл и открыть его. Теперь откройте командную строку.
Введите следующую команду:
1 |
python setup.py install |
После выполнения этой команды будет установлен Binwalk.
На следующем этапе необходимо скачать скрипт binwalk.py. Обратите внимание, что этот файл будет помещен в отдельную папку на рабочем столе.
Следует отметить, что вы должны открыть командную строку в указанной выше папке. Затем для установки pyinstaller введите следующую команду.
1 |
pip install pyinstaller |
Чтобы создать исполняемый файл (.exe) из binwalk.py, вы должны ввести следующую команду:
1 |
pyinstaller --onefile binwalk.py |
Вы можете найти исполняемый файл, перейдя в текущую папку. Затем вам нужно скопировать его в C:\Windows\System32.
После того, были выполнены предыдущие шаги, можно удалить папку, созданную на рабочем столе.
Использование Binwalk в Windows
В этой главе покажу пример использования. Как вы можете видеть на изображении ниже, у нас есть файл изображения с именем brain.jpg.
Чтобы проанализировать это изображение с помощью Binwalk, надо использовать следующую команду:
1 |
binwalk brain.jpg |
Выполнив указанную выше команду, вы увидите следующее:
Как видите, это не просто изображение, оно содержит ZIP-архив с файлом flag.txt. Извлечь из образа файлы, можно командой:
1 |
binwalk -e brain.jpg |
Тулза извлекает содержимое изображения и помещает в папку с именем _brain.jpg.extracted.
Еще по теме: Удаленная отладка вредоносных программ
Binwalk в Kali Linux / Linux
Установить Binwalk в Linux просто, но немного сложнее чем установка в Windows.
Использование плагина Binwalk IDA
Установите плагин Binwalk IDA с помощью setup.py. В нем будет указан путь к вашему установочному каталогу IDA.
1 |
python setup.py idainstall --idadir=/home/user/ida |
Когда вы устанавливаете плагин IDA, появятся два пункта меню в раскрывающемся списке меню поиска IDA:
- Binwalk signatures — сканирует загруженный IDB на предмет подписей файлов.
- Binwalk opcodes — сканирует загруженный IDB на предмет общих подписей опкодов.
Установка Binwalk в Kali Linux
Инструмент установлен в Kali Linux по умолчанию. Чтобы установить Binwalk и любые другие пакеты, от которых он зависит, используйте следующую команду:
1 |
sudo apt-get install binwalk |
Заключение
Я показал, как установить Binwalk и, как с его помощью извлекать файлы. Вы также можете использовать Binwalk для выполнения анализа энтропии. Если вы занимаетесь реверсом, тогда, рекомендую прочитать статью «Лучшие инструменты для реверс-инжиниринга».
Если честно — нихрена непонятно!