
Алгоритмический деобфускатор PE, радар энтропии Шеннона и движок триажа инцидентов
Быстрый CLI-инструмент для триажа Windows PE, анализа энтропии методом скользящего окна и обнаружения скрытых полезных нагрузок в загрузчиках и криптерах.
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
Большинство инструментов быстрой триажной проверки вычисляют энтропию Шеннона по целым секциям PE или по всему файлу. Злоумышленники эксплуатируют этот эффект усреднения в современных загрузчиках:
.rdata, дополненной нулями, удерживает энтропию всей секции ниже 5.5.0x90) или повторяющимися разделителями снижает оценку до уровня доброкачественного кода.UuidFromStringA) или IPv4-адреса (RtlIpv4StringToAddressA) удерживает энтропию на диске около 4.0 вплоть до сборки во время выполнения.EntropyStrip устраняет эти слепые зоны с помощью анализа на уровне подсекций и структурных проверок.
UuidFromString и RtlIpv4StringToAddress и кластеры форматированных UUID-строк.--yara [PATH]. Включает резервный сканер на чистом Python для работы без зависимостей.RT_RCDATA.--bazaar для классификации семейств вредоносного ПО, тегов сообщества и показателей обнаружения VirusTotal без утечки криминалистической телеметрии по умолчанию.WIN_CERTIFICATE в PE и заголовки NSIS 0xdeadbeef, чтобы подписанное ПО и установщики не получали ложных оценок.--dump для извлечения подозрительных буферов непосредственно на диск для Ghidra или x64dbg.Требуется 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] [-v] [-r] [--dump] [--deep] [-i] [--install]
[--uninstall] [--html HTML] [--json JSON]
[--yara [RULE_PATH]] [--bazaar] [--bazaar-key KEY]
[target]
EntropyStrip: PE De-obfuscator, Shannon Entropy Radar, and Incident Triage Engine
positional arguments:
target Path to Windows executable (.exe / .dll) or directory
options:
-h, --help show this help message and exit
-v, --version Show program's version number and exit
-r, --recursive Recursively scan subdirectories
--dump Carve high-entropy payloads to extracted_payloads/
--deep Deep forensic triage: MITRE ATT&CK mapping, entry point disassembly, hashes
-i, --interactive Launch interactive triage wizard
--install Install EntropyStrip globally to Windows PATH
--uninstall Uninstall EntropyStrip from Windows PATH
--html HTML Path to write standalone HTML report
--json JSON Path to write machine-readable JSON telemetry
--yara [RULE_PATH] Scan with YARA rules (uses bundled threats.yar by default, or custom file/dir)
--bazaar Query MalwareBazaar (abuse.ch) for sample hash intelligence and signatures
--bazaar-key KEY MalwareBazaar API Auth-Key (overrides MALWAREBAZAAR_API_KEY environment variable)
Анализ одного бинарного файла с помощью YARA-сканирования:
entropystrip target.exe --yara
Сканирование с помощью пользовательских правил YARA и запрос киберразведки MalwareBazaar:
entropystrip suspicious.exe --yara my_rules.yar --bazaar
Глубокий криминалистический триаж с сопоставлением с MITRE ATT&CK и дизассемблированием:
entropystrip suspicious.exe --deep
Извлечение скрытых буферов полезной нагрузки и встроенных ресурсов:
entropystrip suspicious.exe --dump
Извлечённые полезные нагрузки записываются в extracted_payloads/payload_<sha256>_sec<index>_<section>.bin.
Экспорт автономного HTML-отчёта:
entropystrip sample.exe --html report.html
Триаж всего каталога с автоматической кластеризацией кампаний:
entropystrip "C:\IncidentTriage" -r --html incident_report.html
Энтропия Шеннона измеряет плотность информации в диапазоне от 0,00 до 8,00 бит на байт:
| Диапазон энтропии | Типичное содержимое | Примечания |
|---|---|---|
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 | Криптографический шифротекст | Зашифрованные полезные нагрузки или упакованный шелл-код |
Лицензия MIT. Подробности см. в LICENSE.