Un outil d'analyse statique automatisé, portable et conçu pour les environnements de production (SOC / Blue Team). Ce script Python permet de disséquer des exécutables Windows (PE : EXE, DLL, SYS) sans les exécuter, et de générer un rapport JSON complet prêt à être ingéré par d'autres outils.
Le script orchestre plusieurs moteurs d'analyse pour extraire un maximum d'informations d'un binaire potentiellement malveillant :
-
Extraction de Métadonnées & IOCs (Moteur Interne) :
- Calcule les empreintes cryptographiques (MD5, SHA256) et l'entropie globale (détection de packing).
- Extrait et décode les chaînes de caractères (ASCII, UTF-16, et Base64).
- Identifie via des expressions régulières les Indicateurs de Compromission (Adresses IPv4, URLs, Domaines, clés de registre, chemins Windows suspects, commandes PowerShell).
-
Parsing Structurel (LIEF) :
- Analyse l'en-tête PE pour vérifier l'architecture, le point d'entrée, et l'ImpHash.
- Vérifie la présence des protections de sécurité compilées (ASLR, DEP/NX, CFG, SEH).
- Scanne les sections (taille, entropie) et les imports de DLL/API.
- Mapping Comportemental : Croise les API importées avec des capacités malveillantes connues (Injection de processus, Évasion d'anti-débogage, Persistance, Keylogging, Crypto/Ransomware).
-
Ingénierie Inverse & Décompilation (Radare2/Rizin + Ghidra) :
- Désassemble le binaire en profondeur.
- Identifie les références croisées (XREFS) vers des appels d'API suspects.
- Décompile le code assembleur du point d'entrée en pseudo-code C lisible en utilisant le moteur de Ghidra.
Sur les distributions Linux modernes, les sécurités systèmes (PEP 668) empêchent l'installation globale de paquets Python. Il est impératif de suivre ces étapes avec votre utilisateur standard (Ne pas utiliser root ou sudo pour l'installation de l'environnement Python ou des plugins).
Assurez-vous d'avoir Python 3, le module d'environnement virtuel, et git installés sur votre système (exemple pour les bases Debian/Ubuntu) :
sudo apt update sudo apt install python3 python3-venv git
Les versions de Radare2 dans les dépôts Linux sont souvent obsolètes. Il est fortement recommandé de l'installer depuis le dépôt officiel pour éviter les bugs lors de la décompilation :
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
Le script utilise le plugin r2ghidra pour traduire l'assembleur en code C.
r2pm -U
2. Installer le plugin r2ghidra (cette étape télécharge et compile le code, cela peut prendre quelques minutes)
r2pm -ci r2ghidra
Pour isoler les dépendances de l'outil et ne pas casser votre système, créez un environnement virtuel dans le dossier du projet :
cd /chemin/vers/le/dossier/du/projet
python3 -m venv env
source env/bin/activate
Une fois l'environnement virtuel activé, installez les librairies requises (lief, r2pipe, etc.) :
pip install -r requirements.txt
Règle d'or : L'environnement virtuel doit toujours être activé avant de lancer l'analyseur. Si vous ouvrez un nouveau terminal, retapez source env/bin/activate dans le dossier du projet.
Pour lancer une analyse statique, passez simplement le chemin du malware en argument :
python3 win_malware_analyzer.py <chemin_vers_le_binaire>
python3 win_malware_analyzer.py la_meuh.exe