
Desofuscador algorítmico de PE, radar de entropía de Shannon y motor de triaje de incidentes
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
La mayoría del malware moderno se oculta detrás de empaquetadores, cargadores ofuscados o stagers cifrados diseñados para evadir escáneres ingenuos de entropía de archivo completo. En lugar de depender de firmas de bytes estáticas, entropystrip evalúa:
UuidFromString, RtlIpv4StringToAddress) y detecta clústeres de shellcode con formato UUID.IMAGE_SCN_MEM_WRITE y IMAGE_SCN_MEM_EXECUTE).WIN_CERTIFICATE para distinguir certificados reales de droppers.T1027, T1027.001, T1027.002, T1055, T1497, T1129).0xdeadbeef) y de instalación para eliminar falsos positivos en software legítimo.--dump extrae secciones y superposiciones sospechosas directamente a disco para desofuscación offline.Requisitos: Python 3.8+ en Windows, Linux o macOS.
pip install entropystrip
O instalar directamente desde el código fuente:
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
Analizar un único binario:
python main.py target.exe
Triaje forense profundo con mapeo MITRE ATT&CK y desensamblado:
python main.py suspicious.exe --deep
Analizar y extraer búferes de carga útil ocultos:
python main.py suspicious.exe --dump
Las cargas útiles extraídas se escriben en extracted_payloads/<target>_<section>.bin.
Exportar un informe HTML independiente:
python main.py sample.exe --html report.html
Triaje de un directorio completo de archivos desconocidos:
python main.py "C:\IncidentTriage" -r
La entropía de Shannon mide la densidad de información de 0.00 a 8.00 bits por byte:
$$H(X) = -\sum_{i=0}^{255} P(x_i) \log_2 P(x_i)$$
| Rango de entropía | Contenido esperado | Notas |
|---|---|---|
0.00 - 2.00 | Relleno de ceros, tablas dispersas | Común en datos no inicializados o relleno de alineación |
2.00 - 5.50 | ASCII estándar, configuraciones | Metadatos de aplicación normales, cadenas |
5.50 - 6.60 | Código máquina compilado nativo | Instrucciones x86/x64 estándar (.text) |
6.60 - 7.30 | Recursos comprimidos | Bitmaps, iconos, flujos zlib/deflate |
7.40 - 8.00 | Texto cifrado criptográfico | Cargas útiles cifradas AES/RC4 o shellcode empaquetado |
Licencia MIT. Consulte LICENSE para más detalles.