
Desofuscador algorítmico de PE, radar de entropía de Shannon y motor de triaje de incidentes
Una herramienta CLI rápida para el triaje de PE de Windows, el análisis de entropía por ventana deslizante y la detección de cargas útiles ocultas en loaders y crypters.
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
La mayoría de las herramientas de triaje rápido calculan la entropía de Shannon sobre secciones PE completas o archivos enteros. Los atacantes explotan este efecto de promediado en los cargadores modernos:
.rdata de 1 MB rellenada con ceros mantiene la entropía de toda la sección por debajo de 5.5.0x90) o delimitadores repetidos reduce la puntuación a niveles de código benigno.UuidFromStringA) o direcciones IPv4 (RtlIpv4StringToAddressA) mantiene la entropía en disco alrededor de 4.0 hasta el reensamblado en tiempo de ejecución.EntropyStrip aborda estos puntos ciegos con análisis a nivel de subsección y comprobaciones estructurales.
UuidFromString y RtlIpv4StringToAddress y grupos de cadenas UUID con formato.--yara [PATH]. Incluye un escáner de respaldo en Python puro para ejecución sin dependencias.RT_RCDATA.--bazaar para clasificar familias de malware, etiquetas de la comunidad y tasas de detección de VirusTotal sin filtrar telemetría forense por defecto.WIN_CERTIFICATE del PE y las cabeceras NSIS 0xdeadbeef para que el software firmado y los instaladores no reciban puntuaciones falsas.--dump para extraer búferes sospechosos directamente a disco para Ghidra o x64dbg.Requiere Python 3.8+ en Windows, Linux o macOS.
pip install entropystrip
O instalar desde el código fuente:
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)
Analizar un único binario con escaneo YARA:
entropystrip target.exe --yara
Escanear con reglas YARA personalizadas y consultar la inteligencia de amenazas de MalwareBazaar:
entropystrip suspicious.exe --yara my_rules.yar --bazaar
Triaje forense profundo con mapeo de MITRE ATT&CK y desensamblado:
entropystrip suspicious.exe --deep
Extraer búferes de payload ocultos y recursos incrustados:
entropystrip suspicious.exe --dump
Los payloads extraídos se escriben en extracted_payloads/payload_<sha256>_sec<index>_<section>.bin.
Exportar un informe HTML independiente:
entropystrip sample.exe --html report.html
Clasificar un directorio completo con agrupación automatizada de campañas:
entropystrip "C:\IncidentTriage" -r --html incident_report.html
La entropía de Shannon mide la densidad de información de 0.00 a 8.00 bits por byte:
| Rango de entropía | Contenido típico | Notas |
|---|---|---|
0.00 - 2.00 | Relleno de ceros, tablas dispersas | Relleno de alineación, búferes no inicializados |
2.00 - 5.50 | ASCII estándar, configuraciones | Metadatos de la aplicación, cadenas legibles |
5.50 - 6.60 | Código máquina nativo compilado | Instrucciones estándar x86/x64 (.text) |
6.60 - 7.30 | Recursos comprimidos | Mapas de bits, iconos, flujos zlib/deflate |
7.40 - 8.00 | Texto cifrado criptográfico | Cargas útiles cifradas o shellcode empaquetado |
Licencia MIT. Consulte LICENSE para más detalles.