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

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

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

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

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

Категории

Все категории
Loading categories
SentinelNav — SentinelNav: инструмент для визуализации бинарных данных и криминалистики на чистом Python без зависимостей. | Kitploit
Инструменты/GitHubGitHub/smolfiddle/sentinelnav
Криминалистика памятиОбратная инженерияФорензикаВосстановление ДанныхЦифровая криминалистикаАнализ Бинарных ФайловАнализ Прошивок
GitHubsmolfiddle/sentinelnav

SentinelNav

SentinelNav: инструмент для визуализации бинарных данных и криминалистики на чистом Python без зависимостей.

Репозиторий
14681610 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

SentinelNav

SentinelNav — это инструмент для визуализации и криминалистического анализа бинарных данных, написанный на чистом Python без внешних зависимостей. Он преобразует бинарные данные в интерактивную спектральную карту, позволяя аналитикам визуально выявлять структуры файлов, аномалии энтропии, секции кода и потенциальные криптографические блоки.

Инструмент объединяет многопроцессорный бэкенд для быстрого сканирования файлов с локальным веб-интерфейсом для интерактивного исследования, просмотра шестнадцатеричного дампа и определения архитектуры.

Первый скриншот Второй скриншот


Быстрый старт

Поскольку SentinelNav использует только стандартную библиотеку Python, установка внешних пакетов не требуется.

  1. Сохраните скрипт как sentinelnav.py.
  2. Запустите скрипт в интерактивном режиме:
python3 sentinelnav.py
  1. Перетащите целевой файл в окно терминала, когда будет предложено.
  2. Откройте браузер по адресу http://localhost:8000.


Возможности

Основной анализ

  • Без зависимостей: Работает на любой стандартной установке Python 3 без pip install.
  • Гибридные режимы сканирования:
    • Фиксированный блок: Разбивает файл на фрагменты одинакового размера (например, 1024 байта). Идеально подходит для бинарных файлов и образов дисков.
    • Sentinel: Разбивает файл на основе разделителя (например, 0x0A для журналов или текстовых протоколов).
  • Определение архитектуры (ArchID):
    • Обнаруживает заголовки файлов (MZ, ELF, Mach-O, PDF, PNG, JPEG).
    • Выполняет эвристический частотный анализ для предположения архитектуры ЦП (x86, x64, ARM64) для сырых бинарных фрагментов.
  • Энтропия и обнаружение аномалий:
    • Вычисляет энтропию Шеннона для каждого блока.
    • Обнаруживает события «Флюкс»: внезапные всплески (начало шифрования/кода) или падения (окончание потоков данных).

Визуализация

  • Спектральное отображение: Преобразует распределение байтов в цвета RGB, чтобы визуально различать типы данных (текст, код, заполнение).
  • Рендеринг на холсте: Высокопроизводительный рендеринг на холсте HTML5, способный обрабатывать миллионы фрагментов благодаря пагинации.
  • Интерактивный шестнадцатеричный инспектор: Нажмите на любой блок, чтобы просмотреть сырой шестнадцатеричный дамп, декодировку ASCII и анализ ArchID.
  • Экспорт в BMP: Создание полноценного изображения тепловой карты файла для внешней отчетности.

Производительность

  • Параллельная обработка: Использует concurrent.futures.ProcessPoolExecutor для задействования всех ядер ЦП во время сканирования.
  • Бэкенд на SQLite: Сохраняет результаты анализа во временной базе данных SQLite для эффективной пагинации и запросов по большим файлам (ГБ+).

Архитектура

SentinelNav следует архитектуре «Производитель-Потребитель» с интерфейсом «Клиент-Сервер».

1. Криминалистический движок (Бэкенд)

  • Интерфейс сканера:
    • Абстрагирует процесс чтения файла.
    • FixedScanner: Последовательно читает N байт.
    • SentinelScanner: Читает в буфер и возвращает фрагменты при обнаружении определенных байтов (например, нулевых байтов или символов новой строки).
  • Рабочий процесс:
    • Processor создает пул рабочих процессов в зависимости от количества ЦП.
    • FastMath: Вычисляет энтропию и частоту байтов (спектральные данные).
    • Heuristics: Определяет, является ли фрагмент преимущественно ASCII, нулевым или высокобитовым.
  • Движок данных (Хранилище):
    • Эфемерная база данных sqlite3 создает структурированный индекс бинарного файла.
    • Хранит: смещение, длину, энтропию, значения RGB, оценки аномалий.
    • Это позволяет инструменту обрабатывать файлы, превышающие объем доступной ОЗУ, за счет постраничной подгрузки данных.

2. Веб-сервер

  • Использует http.server.ThreadingMixIn для параллельной обработки HTTP-запросов.
  • Эндпоинты API:
    • /data: Возвращает страницы JSON с данными фрагментов (цвет + энтропия).
    • /read: Возвращает шестнадцатеричные дампы для панели инспектора.
    • /search: Ищет шестнадцатеричные последовательности в физическом файле.
    • /download: Извлекает сырые бинарные блоки или генерирует BMP-визуализацию.

3. Фронтенд

  • Одностраничное приложение (SPA), встроенное непосредственно в скрипт Python.
  • Рендеринг: Использует API холста HTML5 для попиксельного рендеринга блоков.
  • Навигация: Реализует пространственную навигационную логику для привязки клавиатурного ввода (WASD) к координатной сетке.

Руководство по визуальному отображению

Инструмент использует специальный алгоритм RGB для представления типов бинарных данных.

ЦветКомпонентЗначение
КрасныйВысокий битБайты 0x80 - 0xFF. Указывает на скомпилированный машинный код, сжатые данные, зашифрованные блоки или данные изображений.
ЗеленыйASCIIБайты 0x20 - 0x7E. Указывает на обычный текст, исходный код, JSON, XML или журналы.
СинийУправлениеБайты 0x00 - 0x1F. Указывает на нулевое заполнение, заголовки или управляющие символы протоколов.

Типичные паттерны:

  • Ярко-зеленый: Текстовый файл или исходный код.
  • Розовый/Фиолетовый: Смесь кода и данных (исполняемые секции).
  • Сплошной синий: Заполнение нулями или пустое пространство.
  • Статичный/Серый: Высокоэнтропийный шум (зашифрованные данные).

Установка

Требования

  • Python 3.6 или выше.

Настройка

Устанавливать библиотеки не требуется. Просто скачайте файл.

# Клонируйте или скачайте скрипт
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py

Использование и аргументы командной строки

Вы можете запустить инструмент в интерактивном режиме или с помощью аргументов командной строки.

Интерактивный мастер

Запуск без аргументов запускает мастер:

python3 sentinelnav.py

Аргументы командной строки

Для автоматизации или опытных пользователей используйте флаги, чтобы пропустить мастер.

python3 sentinelnav.py <целевой_файл> [опции]
АргументОписаниеПо умолчанию
--modeРежим сканирования: fixed или sentinel.fixed
--sizeРазмер блока (в байтах) для режима fixed или макс. буфер для sentinel.1024
--hexБайт-разделитель для режима sentinel (например, 0A для перевода строки).00
--portПорт веб-сервера.8000
--windowРазмер скользящего окна для вычислений обнаружения аномалий.5

Пример: Сканировать образ прошивки с разрешением 256 байт на порту 8080:

python3 sentinelnav.py firmware.bin --size 256 --port 8080

Управление с клавиатуры

После загрузки веб-интерфейса доступны следующие элементы управления:

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