Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
FACT_core — Инструмент анализа и сравнения прошивок | Kitploit
Инструменты/GitHubGitHub/fkie-cad/fact_core
Безопасность встроенных системСтатический анализДинамический анализ (песочница)Безопасность IoTАнализ уязвимостейОбратная инженерияФорензикаАппаратная БезопасностьАнализ Бинарных ФайловАнализ Прошивок
GitHubfkie-cad/fact_core
1.5k25016 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

FACT_core

Инструмент анализа и сравнения прошивок

РепозиторийСайт

FACT logo with magnifying glass as the C
Инструмент анализа и сравнения прошивок (FACT)

codecov Codacy Badge Gitter chat CI Build License: GPL v3

Содержание

  • Зачем нужен FACT?
  • Установка
  • Использование
  • Документация
  • Вклад в проект
  • Дополнительные плагины
  • Импорт/Экспорт анализа
  • Презентации
  • Сообщество
  • Благодарности
  • Лицензия

Зачем нужен FACT?

Анализ прошивок может использоваться для достижения нескольких интересных целей. Главные из них — выявление функциональности, компонентов и потенциальных уязвимостей безопасности в прошивках типа «чёрный ящик».

Инструмент анализа и сравнения прошивок (FACT) предназначен для максимальной автоматизации ручной работы по анализу прошивок. FACT объединяет растущий набор мощных анализов, создавая единый интерфейс, который позволяет пользователю перейти от произвольного образца прошивки к готовому анализу. Некоторые из ключевых особенностей анализа FACT заключаются в том, что результаты

  • просматриваемы
  • доступны для поиска
  • и сравнимы.

Кроме того, FACT предлагает несколько способов навигации и визуализации результатов анализа и содержимого прошивки для удобного доступа. Основной интерфейс FACT — это веб-интерфейс на основе HTML/js/css, который может быть размещён локально или доступен по сети. Кроме того, FACT предоставляет REST-подобный HTTP API, который можно исследовать с помощью встроенного SwaggerUI. Некоторые ключевые функции веб-интерфейса:

  • Удобная визуализация прошивки с помощью отображения дерева файлов всех компонентов прошивки.
  • Быстрая навигация по результатам анализа путём просмотра сводок результатов по всем компонентам прошивки.
  • Выделение релевантных результатов анализа в виде тегов на каждой странице.
  • Различные варианты загрузки прошивки и компонентов для перехода к углублённому анализу.

Хотя FACT поддерживается как исследовательский прототип, проект хорошо протестирован, включает базовую документацию и предлагает множество функций производственного уровня. Мы всегда открыты для обратной связи и запросов на новые функции.

Более подробная информация и несколько скриншотов доступны на нашей странице проекта.

Установка

Требования

FACT спроектирован как многопроцессное приложение: чем больше ядер и оперативной памяти, тем лучше.

МинимальныеРекомендуемые
4 ядра16 ядер
8 ГБ ОЗУ64 ГБ ОЗУ
10 ГБ дискового пространства10* ГБ дискового пространства

[!NOTE] Около 10 ГБ требуется для установки кода FACT, контейнера и бинарных файлов. Дополнительное пространство необходимо для хранения распакованных файлов и результатов анализа. Оно может располагаться на отдельном разделе или диске.

Локальная установка

В принципе, FACT можно установить на любой дистрибутив Linux, но установщик ограничен

  • Debian 12/13 или совместимые (стабильные)
  • Ubuntu 22.04/24.04/26.04 или совместимые (стабильные)
  • Kali (экспериментально)

Установка на более старых дистрибутивах (например, Debian 11 «Bullseye» или Ubuntu 20.04 «Focal») может по-прежнему работать, но не считается стабильной, поскольку эти дистрибутивы достигли конца своего жизненного цикла.

FACT требует Python 3.10–3.14 (должен быть по умолчанию во всех поддерживаемых дистрибутивах).

Процесс установки в основном автоматизирован и объединён в один скрипт. Однако некоторые функции можно выбрать отдельно. Подробное руководство по установке FACT см. в INSTALL.md.

[!IMPORTANT] Обратите внимание: хотя FACT широко использует контейнеры, он всё ещё содержит много зависимостей (и функция удаления не предусмотрена). Если вы хотите сохранить чистоту системы, вы можете попробовать один из вариантов установки, приведённых ниже.

Vagrant

Мы предоставляем ежемесячные и готовые к использованию Vagrant-коробки нашей ветки master. Vagrant — это простой и удобный способ начать работу с FACT без установки на свою машину. Просто настройте Vagrant и импортируйте предоставленную нами коробку в VirtualBox. Наши коробки можно найти на сайте vagrantup!

О том, как начать работу с FACT и Vagrant, читайте в нашем учебнике.

Docker

Существует также версия в Docker, но в настоящее время она не поддерживается. (см. репозиторий FACT_docker для получения дополнительной информации).

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

Вы можете запустить FACT, выполнив скрипт start_fact.py. Скрипт автоматически определяет все установленные компоненты.

root@kitploit:~
src/start_fact.py

После этого FACT будет доступен по адресу http://localhost:5000 (по умолчанию) или https://localhost (если FACT установлен с nginx).

Вы можете завершить систему, нажав Ctrl + c или отправив сигнал SIGTERM скрипту start_fact.py.

[!CAUTION] FACT не предназначен для использования в качестве публичного интернет-сервиса. Веб-интерфейс не является закалённым приложением. Мы стараемся ограничить проблемы безопасности, применяя SecDevOps, но FACT всё равно может содержать уязвимости. Обязательно сбросьте все пароли в конфигурации FACT, если планируете размещать FACT в ненадёжных сетях.

Документация

[!TIP] Дополнительная документация по использованию FACT доступна на наших страницах вики.

Вы также можете ознакомиться с нашей документацией Sphinx.

Информацию о том, что такое FACT и как он работает, можно найти в слайдах в папке docs.

REST API

FACT предоставляет REST API. Дополнительную информацию можно найти на странице вики.

Управление пользователями

FACT предоставляет необязательную базовую аутентификацию, управление ролями и пользователями. Дополнительную информацию можно найти на странице вики.

Вклад в проект

Самый простой способ внести вклад — написать собственный плагин. Наше руководство разработчика можно найти в вики на GitHub.

Дополнительные плагины

В настоящее время доступны следующие дополнительные плагины:

  • Codescanner (⚠️ другая лицензия)
    • Классификация сегментов (например, ascii / код / высокая энтропия) в произвольных бинарных файлах
    • Классификация архитектуры процессора в сегментах кода

Импорт / Экспорт анализа

Скрипт src/firmware_import_export.py можно использовать для экспорта распакованных файлов и результатов анализа и импорта их в другой экземпляр FACT. Данные сохраняются в виде ZIP-архива, и это же формат, который скрипт ожидает при импорте. Чтобы экспортировать файлы и данные анализа проанализированных образов прошивок, выполните

root@kitploit:~
python3 firmware_import_export.py export FW_UID [FW_UID_2 ...] [-o OUTPUT_DIR]

[!NOTE] Экспортированные архивы могут занимать значительный объём дискового пространства. Фиксированной зависимости нет, но размер может превышать размер исходной прошивки в 2–10 раз.

После этого вы можете импортировать экспортированные файлы с помощью

root@kitploit:~
python3 firmware_import_export.py import FW.zip [FW_2.zip ...]

Презентации

BlackHat Arsenal

Мы были рады показать FACT на нескольких сессиях BlackHat Arsenal.

  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal

Прочие

  • Hardwear.io 2017 / Слайды
  • Pass the salt 2019 / Слайды / Видео
  • Hardwear.io 2019

Сообщество

  • Twitter
  • Gitter

Благодарности

Спасибо @botlabsDev, который изначально предоставил Vagrantfile, который, однако, теперь устарел.

Этот проект частично финансируется Федеральным управлением по информационной безопасности Германии (BSI) и другими организациями.

Лицензия

Инструмент анализа и сравнения прошивок (FACT)

Copyright (C) 2015-2026 Fraunhofer FKIE

Эта программа является свободным программным обеспечением: вы можете распространять её и/или изменять её в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ. См. Стандартную общественную лицензию GNU для получения дополнительных сведений. Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если нет, см. http://www.gnu.org/licenses/.

Некоторые плагины могут иметь другие лицензии. Если это так, файл с лицензией предоставляется в папке плагина.

Скачать инструмент