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

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

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

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

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

Категории

Все категории
Loading categories
sandfly-entropyscan — Сканер энтропии для Linux для обнаружения упакованных или зашифрованных двоичных файлов, связанных с вредоносным ПО. Находит вредоносные файлы и процессы Linux и выводит результат с криптографическими хэшами. | Kitploit
Инструменты/GitHubGitHub/sandflysecurity/sandfly-entropyscan
ФорензикаАнализ вредоносных программАнализ Бинарных ФайловРеагирование на Инциденты
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Сканер энтропии для Linux для обнаружения упакованных или зашифрованных двоичных файлов, связанных с вредоносным ПО. Находит вредоносные файлы и процессы Linux и выводит результат с криптографическими хэшами.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Сайт
17026572 лет назадПроверено Kitploit
Поделиться

Что такое sandfly-entropyscan?

sandfly-entropyscan — это утилита для быстрого сканирования файлов или запущенных процессов и отчета об их энтропии (мере случайности) и о том, являются ли они исполняемыми файлами типа ELF для Linux/Unix. Некоторые вредоносные программы для Linux упакованы или зашифрованы и показывают очень высокую энтропию. Этот инструмент может быстро находить исполняемые файлы и процессы с высокой энтропией, которые часто являются вредоносными.

Особенности

  • Написан на Golang и переносим на множество архитектур без модификаций.
  • Автономный бинарный файл не требует зависимостей и может использоваться немедленно без загрузки каких-либо библиотек на подозрительные машины.
  • Не подвержен влиянию руткитов типа LD_PRELOAD, которые скрывают файлы.
  • Встроенное обнаружение PID для поиска скрытых/замаскированных процессов от некоторых типов руткитов загружаемых модулей ядра (LKM).
  • Генерирует энтропию, а также хэш-значения MD5, SHA1, SHA256 и SHA512 файлов.
  • Может использоваться в скриптах сканирования для автоматического обнаружения проблем.
  • Может использоваться специалистами по реагированию на инциденты для быстрого сканирования и выявления потенциальных вредоносных программ на хосте Linux.

Зачем сканировать энтропию?

Энтропия — это мера случайности. Для двоичных данных 0.0 означает «не случайно», а 8.0 — «идеально случайно». Хорошая криптография выглядит как случайный белый шум и будет близка к 8.0. Хорошее сжатие удаляет избыточные данные, делая их более случайными, чем несжатые, и обычно составляет 7.7 или выше.

Многие вредоносные исполняемые файлы упакованы, чтобы избежать обнаружения и усложнить обратную разработку. Большинство стандартных бинарных файлов Linux не упакованы, потому что они не пытаются скрыть свою сущность. Поиск файлов с высокой энтропией — хороший способ найти программы, которые могут быть вредоносными, просто по двум признакам: высокая энтропия и исполняемость.

Как это использовать?

Использование sandfly-entropyscan:

-csv вывод результатов в формате CSV (имя_файла, путь, энтропия, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim изменяет разделитель по умолчанию для CSV-файлов с "," на выбранный вами ("|" и т.д.)

-dir string имя каталога для анализа

-file string полный путь к одному файлу для анализа

-proc проверка запущенных процессов (по умолчанию только проверка ELF)

-elf проверять только исполняемые файлы ELF

-entropy float показывать любой файл/процесс с энтропией, большей или равной этому значению (мин. 0.0, макс. 8.0, по умолчанию 0 для отображения всех файлов)

-version показать версию и выйти

Примеры

Поиск любого исполняемого файла в /tmp:

sandfly-entropyscan -dir /tmp -elf

Поиск исполняемых файлов с высокой энтропией (7.7 и выше) (часто упакованных или зашифрованных) в /var/www:

sandfly-entropyscan -dir /var/www -elf -entropy 7.7

Генерация энтропии и криптографических хэшей всех запущенных процессов в формате CSV:

sandfly-entropyscan -proc -csv

Поиск любого процесса с энтропией выше 7.7, указывающей на то, что он, вероятно, упакован или зашифрован:

sandfly-entropyscan -proc -entropy 7.7

Генерация энтропии и криптографических хэш-значений всех файлов в /bin и вывод в формате CSV (например, для сохранения и сравнения хэшей):

sandfly-entropyscan -dir /bin -csv

Сканирование каталога на наличие всех файлов (ELF или нет) с энтропией выше 7.7: (потенциально большой список файлов, таких как сжатые, png, jpg, объектные файлы и т.д.)

sandfly-entropyscan -dir /path/to/dir -entropy 7.7

Быстрая проверка файла с генерацией энтропии, криптографических хэшей и отображением, является ли он исполняемым:

sandfly-entropyscan -file /dev/shm/suspicious_file

Варианты использования

Проводите выборочные проверки систем, в которых подозреваете наличие вредоносного ПО. Или автоматизируйте сканирование, чтобы получать вывод, если мы найдем что-то с высокой энтропией в неожиданном месте. Или просто помечайте любой исполняемый файл типа ELF, который находится в странном месте (например, в /tmp или в HTML-каталоге пользователя). Например:

Появился ли бинарный файл с высокой энтропией в каталоге /var/www? Возможно, кто-то разместил дроппер вредоносного ПО на вашем сайте:

sandfly-entropyscan -dir /var/www -elf -entropy 7.7

Настройте задание cron для сканирования каталогов /tmp, /var/tmp и /dev/shm на наличие любых исполняемых файлов, независимо от их энтропии. Исполняемые файлы во временных каталогах часто могут быть дропперами вредоносного ПО.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Настройте еще одно cron-задание или автоматическую проверку безопасности для выборочной проверки систем на наличие сильно сжатых или зашифрованных бинарных файлов, которые выполняются:

sandfly-entropyscan -proc -entropy 7.7

Сборка

  • Установите последнюю версию golang (www.golang.org)
  • Клонируйте репозиторий:

git clone https://github.com/sandflysecurity/sandfly-entropyscan.git

  • Перейдите в каталог репозитория и соберите:

go build

  • Запустите бинарный файл с вашими параметрами:

./sandfly-entropyscan

Скрипты сборки

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

build.sh — сборка для текущей ОС, на которой вы выполняете скрипт.

Обнаружение ELF

Мы используем простой метод для определения, является ли файл исполняемым типом ELF. Мы можем обнаруживать файлы формата ELF для нескольких платформ. Даже если вредоносное ПО содержит бинарные файлы-дропперы для Intel/AMD, MIPS и Arm, мы все равно сможем их обнаружить.

Ложные срабатывания

Возможно срабатывание на легитимный бинарный файл с высокой энтропией из-за того, как он был скомпилирован, или потому что он был упакован по легитимным причинам. Другие файлы, такие как .zip, .gz, .png, .jpg и подобные, также имеют очень высокую энтропию, поскольку они являются сжатыми форматами. Сжатие удаляет избыточность в файле, что делает его более случайным и увеличивает энтропию.

В Linux вы можете обнаружить, что некоторые типы библиотек (.so файлы) отмечаются при сканировании каталогов библиотек.

Однако, по нашему опыту, исполняемые бинарные файлы с высокой энтропией часто являются вредоносными. Это особенно верно, если они находятся в областях, где исполняемые файлы обычно не должны быть (например, в каталогах tmp или html).

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

Расчет энтропии требует чтения всех байтов файла и их подсчета для получения конечного числа. Это может потреблять много процессорного времени и операций ввода-вывода, особенно для очень больших файловых систем или очень больших файлов. Программа имеет внутренний предел: она не будет вычислять энтропию для файлов размером более 2 ГБ, а также не будет пытаться вычислить энтропию для файлов, не являющихся обычными файлами (например, не будет пытаться вычислить энтропию для устройств типа /dev/zero).

Затем мы вычисляем хэши MD5, SHA1, SHA256 и SHA512. Каждый из них требует повторного прохода по файлу. Скорость работы адекватна на современных системах, но если вы сканируете очень большую файловую систему, это может занять некоторое время.

Если вы укажете программе проверять только файлы ELF, то вычисления энтропии/хэшей не будут выполняться, если файл не является типом ELF, что сэкономит много времени (например, будут игнорироваться массивные файлы баз данных, которые не являются исполняемыми).

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