
Algorithmischer PE-Deobfuskator, Shannon-Entropie-Radar und Incident-Triage-Engine
___________ __ _________ __ .__
\_ _____/ _____/ |________ ____ ______ ___.__./ _____// |________|__|_____
| __)_ / \ __\_ __ \/ _ \\____ < | |\_____ \\ __\_ __ \ \____ \
| \ | \ | | | \( <_> ) |_> >___ |/ \| | | | \/ | |_> >
/_______ /___| /__| |__| \____/| __// ____/_______ /|__| |__| |__| __/
\/ \/ |__| \/ \/ |__|
Die meiste moderne Malware versteckt sich hinter Packern, obfuskierten Loadern oder verschlüsselten Startern, die darauf ausgelegt sind, naive Entropie-Scanner, die die gesamte Datei untersuchen, zu umgehen. Anstatt sich auf statische Byte-Signaturen zu verlassen, bewertet entropystrip:
UuidFromString, RtlIpv4StringToAddress) und erkennt formatierte UUID-Shellcode-Cluster.IMAGE_SCN_MEM_WRITE und IMAGE_SCN_MEM_EXECUTE).WIN_CERTIFICATE-Authenticode-Tabellen strukturell, um echte Zertifikate von Droppern zu unterscheiden.T1027, T1027.001, T1027.002, T1055, T1497, T1129).0xdeadbeef) und Setup-Header, um Fehlalarme bei legitimer Software zu eliminieren.--dump extrahiert verdächtige Abschnitte und Overlays direkt auf die Festplatte zur Offline-Deobfuskierung.Voraussetzungen: Python 3.8+ unter Windows, Linux oder macOS.
pip install entropystrip
Oder direkt aus dem Quellcode installieren:
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
Eine einzelne Binärdatei analysieren:
python main.py target.exe
Tiefe forensische Triage mit MITRE ATT&CK-Mapping & Disassembly:
python main.py suspicious.exe --deep
Versteckte Payload-Puffer analysieren und extrahieren:
python main.py suspicious.exe --dump
Extrahierte Payloads werden nach extracted_payloads/<target>_<section>.bin geschrieben.
Einen eigenständigen HTML-Bericht exportieren:
python main.py sample.exe --html report.html
Ein gesamtes Verzeichnis unbekannter Dateien triagieren:
python main.py "C:\IncidentTriage" -r
Die Shannon-Entropie misst die Informationsdichte von 0,00 bis 8,00 Bit pro Byte:
$$H(X) = -\sum_{i=0}^{255} P(x_i) \log_2 P(x_i)$$
| Entropiebereich | Erwarteter Inhalt | Hinweise |
|---|---|---|
0.00 - 2.00 | Null-Padding, spärliche Tabellen | Häufig in nicht initialisierten Daten oder Ausrichtungs-Padding |
2.00 - 5.50 | Standard-ASCII, Konfigurationen | Normale Anwendungsmetadaten, Strings |
5.50 - 6.60 | Nativer kompilierter Maschinencode | Standard x86/x64-Instruktionen (.text) |
6.60 - 7.30 | Komprimierte Assets | Bitmaps, Icons, zlib/deflate-Streams |
7.40 - 8.00 | Kryptografischer Chiffretext | AES/RC4-verschlüsselte Payloads oder dicht gepackter Shellcode |
MIT-Lizenz. Siehe LICENSE für Details.