Firmwalker

Hardware & Industrial

Bash-скрипт быстрого поиска чувствительных данных в распакованных прошивках IoT. Ищет: пароли, ключи SSH/SSL, конфигурационные файлы, URL и IP-адреса, скрипты с опасными командами, базы данных SQLite, бинарники с SUID и hardcoded credentials.

Добавлен 13.07.2026 · Обновлён 13.07.2026 · Hardware & Industrial
Установка
git clone https://github.com/craigz28/firmwalker
# Распаковать прошивку сначала:
binwalk -e firmware.bin
bash firmwalker.sh /tmp/_firmware.bin.extracted/
переведено ИИ

логотип

firmwalker

Простой bash-скрипт для поиска в распакованной или смонтированной файловой системе прошивки.

Он будет искать в распакованной или смонтированной файловой системе прошивки элементы, представляющие интерес, такие как:

  • etc/shadow и etc/passwd
  • вывод списка директории etc/ssl
  • поиск файлов, связанных с SSL, таких как .pem, .crt и т.д.
  • поиск конфигурационных файлов
  • поиск файлов скриптов
  • поиск других .bin файлов
  • поиск ключевых слов, таких как admin, password, remote и т.д.
  • поиск типичных веб-серверов, используемых в IoT-устройствах
  • поиск типичных бинарных файлов, таких как ssh, tftp, dropbear и т.д.
  • поиск URL-адресов, адресов электронной почты и IP-адресов
  • Экспериментальная поддержка вызовов API Shodan с помощью Shodan CLI

Использование

  • Если вы хотите использовать компонент статического анализа кода в скрипте, пожалуйста, установите eslint: npm i -g eslint
  • ./firmwalker {путь к корневой файловой системе} {путь для firmwalker.txt}
  • Пример: ./firmwalker linksys/fmk/rootfs ../firmwalker.txt
  • Файл firmwalker.txt будет создан в той же директории, что и файл скрипта, если вы не укажете другое имя файла в качестве второго аргумента
  • Не помещайте файл firmwalker.sh внутрь директории, которая будет сканироваться, это приведет к тому, что скрипт будет искать сам себя и создаваемый им файл
  • chmod 0700 firmwalker.sh

Как расширить

  • Посмотрите в раздел 'data', где находятся проверки, или добавьте правила eslint - http://eslint.org/docs/rules/ в eslintrc.json

Примеры файлов - https://1drv.ms/f/s!AucQMYXJNefdvGZyeYt16H72VCLv

  • squashfs-root.zip - содержит файлы из случайно распакованной прошивки маршрутизатора. Против этой файловой системы можно запустить firmwalker.
  • rt-ac66u.txt - файл вывода firmwalker
  • xc.txt - файл вывода firmwalker от устройства Ubiquiti

Скрипт создан Крэгом Смитом (Craig Smith) и расширен:

  • Афанасиосом Костопулосом (Athanasios Kostopoulos)
  • misterch0c

Ссылки

  • https://craigsmith.net
  • https://woktime.wordpress.com
  • https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project#tab=Firmware_Analysis
Комментарии
Войдите, чтобы оставить комментарий