
Desofuscador algorítmico de PE, radar de entropia de Shannon e motor de triagem de incidentes
Uma ferramenta CLI rápida para triagem de PE do Windows, análise de entropia por janela deslizante e detecção de payloads ocultos em loaders e crypters.
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
A maioria das ferramentas de triagem rápida calcula a entropia de Shannon em seções PE inteiras ou em arquivos completos. Atacantes exploram esse efeito de média em loaders modernos:
.rdata de 1 MB preenchida com zeros mantém a entropia da seção abaixo de 5.5.0x90) ou delimitadores repetidos reduz a pontuação para níveis de código benigno.UuidFromStringA) ou endereços IPv4 (RtlIpv4StringToAddressA) mantém a entropia em disco em torno de 4.0 até a remontagem em tempo de execução.O EntropyStrip aborda esses pontos cegos com análise de subseções e verificações estruturais.
UuidFromString e RtlIpv4StringToAddress e agrupamentos de strings UUID formatadas.--yara [PATH]. Inclui um scanner alternativo em Python puro para execução sem dependências.RT_RCDATA criptografados.--bazaar para classificar famílias de malware, tags da comunidade e taxas de detecção do VirusTotal sem vazar telemetria forense por padrão.WIN_CERTIFICATE do PE e os cabeçalhos NSIS 0xdeadbeef para que softwares assinados e instaladores não sejam pontuados falsamente.--dump para extrair buffers suspeitos diretamente para o disco para uso no Ghidra ou x64dbg.Requer Python 3.8+ no Windows, Linux ou macOS.
pip install entropystrip
Ou instale a partir do código-fonte:
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)
Analisar um único binário com verificação YARA:
entropystrip target.exe --yara
Faça uma varredura com regras YARA personalizadas e consulte a inteligência de ameaças do MalwareBazaar:
entropystrip suspicious.exe --yara my_rules.yar --bazaar
Triagem forense profunda com mapeamento MITRE ATT&CK e desmontagem:
entropystrip suspicious.exe --deep
Extrair buffers de payload ocultos e recursos incorporados:
entropystrip suspicious.exe --dump
Os payloads extraídos são gravados em extracted_payloads/payload_<sha256>_sec<index>_<section>.bin.
Exportar um relatório HTML autónomo:
entropystrip sample.exe --html report.html
Triar um diretório inteiro com agrupamento automatizado de campanhas:
entropystrip "C:\IncidentTriage" -r --html incident_report.html
A entropia de Shannon mede a densidade de informação de 0,00 a 8,00 bits por byte:
| Faixa de Entropia | Conteúdo Típico | Observações |
|---|---|---|
0.00 - 2.00 | Preenchimento com zeros, tabelas esparsas | Preenchimento de alinhamento, buffers não inicializados |
2.00 - 5.50 | ASCII padrão, configurações | Metadados de aplicação, strings legíveis |
5.50 - 6.60 | Código de máquina nativo compilado | Instruções x86/x64 padrão (.text) |
6.60 - 7.30 | Recursos comprimidos | Bitmaps, ícones, fluxos zlib/deflate |
7.40 - 8.00 | Texto cifrado criptográfico | Payloads criptografados ou shellcode empacotado |
Licença MIT. Consulte LICENSE para obter detalhes.