
Desofuscador algorítmico de PE, radar de entropia de Shannon e motor de triagem de incidentes
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
A maioria dos malwares modernos se esconde atrás de packers, loaders ofuscados ou stagers criptografados projetados para passar despercebidos por scanners ingênuos de entropia de arquivo inteiro. Em vez de depender de assinaturas estáticas de bytes, o entropystrip avalia:
UuidFromString, RtlIpv4StringToAddress) e detecta clusters de shellcode em formato UUID.IMAGE_SCN_MEM_WRITE e IMAGE_SCN_MEM_EXECUTE).WIN_CERTIFICATE para distinguir certificados verdadeiros de droppers.T1027, T1027.001, T1027.002, T1055, T1497, T1129).0xdeadbeef) e de setup para eliminar falsos positivos em softwares legítimos.--dump extrai seções e overlays suspeitos diretamente para o disco para desobfuscação offline.Requisitos: Python 3.8+ no Windows, Linux ou macOS.
pip install entropystrip
Ou instale diretamente do código-fonte:
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
Analisar um único binário:
python main.py target.exe
Triagem forense profunda com mapeamento MITRE ATT&CK & desmontagem:
python main.py suspicious.exe --deep
Analisar e extrair buffers de payload ocultos:
python main.py suspicious.exe --dump
Os payloads extraídos são gravados em extracted_payloads/<target>_<section>.bin.
Exportar um relatório HTML autônomo:
python main.py sample.exe --html report.html
Triar um diretório inteiro de arquivos desconhecidos:
python main.py "C:\IncidentTriage" -r
A entropia de Shannon mede a densidade de informação de 0,00 a 8,00 bits por byte:
$$H(X) = -\sum_{i=0}^{255} P(x_i) \log_2 P(x_i)$$
| Faixa de Entropia | Conteúdo Esperado | Notas |
|---|---|---|
0.00 - 2.00 | Preenchimento com zeros, tabelas esparsas | Comum em dados não inicializados ou preenchimento de alinhamento |
2.00 - 5.50 | ASCII padrão, configurações | Metadados normais de aplicação, strings |
5.50 - 6.60 | Código de máquina compilado nativo | Instruções x86/x64 padrão (.text) |
6.60 - 7.30 | Assets comprimidos | Bitmaps, ícones, streams zlib/deflate |
7.40 - 8.00 | Texto cifrado criptográfico | Payloads criptografados AES/RC4 ou shellcode fortemente empacotado |
Licença MIT. Consulte LICENSE para detalhes.