
Алгоритмический деобфускатор PE, радар энтропии Шеннона и движок триажа инцидентов
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
Большинство современных вредоносных программ скрываются за упаковщиками, обфусцированными загрузчиками или зашифрованными стейджерами, предназначенными для обхода наивных сканеров энтропии всего файла. Вместо того чтобы полагаться на статические байтовые сигнатуры, entropystrip оценивает:
UuidFromString, RtlIpv4StringToAddress) и обнаруживает кластеры форматированного UUID-шеллкода.IMAGE_SCN_MEM_WRITE и IMAGE_SCN_MEM_EXECUTE).WIN_CERTIFICATE, чтобы отличить настоящие сертификаты от дропперов.T1027, T1027.001, T1027.002, T1055, T1497, T1129).0xdeadbeef) и setup, чтобы исключить ложные срабатывания на легитимном программном обеспечении.--dump извлекает подозрительные секции и оверлеи прямо на диск для офлайн-деобфускации.Требования: Python 3.8+ на Windows, Linux или macOS.
pip install entropystrip
Или установка напрямую из исходников:
git clone https://github.com/dwexi/entropystrip.git
cd entropystrip
pip install -e .
usage: entropystrip [-h] [-r] [--dump] [--deep] [--html HTML] [--json JSON] target
EntropyStrip: PE De-obfuscator & Triage Engine
positional arguments:
target Path to Windows executable (.exe / .dll) or directory to scan
options:
-h, --help show this help message and exit
-r, --recursive
recursively scan subdirectories if target is a folder
--dump carve and write high-entropy payloads to extracted_payloads/
--deep deep forensic triage: MITRE ATT&CK mapping, entry point disassembly, hashes
--html HTML write minimalist HTML report to specified path
--json JSON write machine-readable JSON telemetry to specified path
Анализ одного бинарного файла:
python main.py target.exe
Глубокий форензик-триаж с сопоставлением MITRE ATT&CK и дизассемблированием:
python main.py suspicious.exe --deep
Анализ и извлечение скрытых буферов полезной нагрузки:
python main.py suspicious.exe --dump
Извлечённые полезные нагрузки записываются в extracted_payloads/<target>_<section>.bin.
Экспорт автономного HTML-отчёта:
python main.py sample.exe --html report.html
Триаж целого каталога неизвестных файлов:
python main.py "C:\IncidentTriage" -r
Энтропия Шеннона измеряет плотность информации от 0.00 до 8.00 бит на байт:
$$H(X) = -\sum_{i=0}^{255} P(x_i) \log_2 P(x_i)$$
| Диапазон энтропии | Ожидаемое содержимое | Примечания |
|---|---|---|
0.00 - 2.00 | Нулевое заполнение, разреженные таблицы | Часто встречается в неинициализированных данных или выравнивающем заполнении |
2.00 - 5.50 | Стандартный ASCII, конфигурации | Обычные метаданные приложения, строки |
5.50 - 6.60 | Нативный скомпилированный машинный код | Стандартные инструкции x86/x64 (.text) |
6.60 - 7.30 | Сжатые ресурсы | Растровые изображения, иконки, потоки zlib/deflate |
7.40 - 8.00 | Криптографический шифротекст | Зашифрованные полезные нагрузки AES/RC4 или плотно упакованный шеллкод |
Лицензия MIT. Подробности см. в LICENSE.