Comprendre comment fonctionnent les malwares pour mieux les détecter et s'en protéger.
system_recon.nim- Collecte d'informations système- Concepts: Exécution commandes, variables env, fichiers
- Difficulté: Débutant
- Droits: Aucun admin requis
registry_persist.nim- Persistence via registrehosts_hijack.nim- Modification fichier hostswatchdog.nim- Surveillance et réparation- Concepts: Registre Windows, fichiers système, boucles
- Difficulté: Intermédiaire
- Droits: Administrateur requis
anti_vm.nim- Détection machines virtuellesanti_debug.nim- Détection débogueurs- Concepts: Détection environnement, techniques anti-analyse
- Difficulté: Intermédiaire
- Droits: Aucun admin requis
simple_beacon.nim- Communication basiquereverse_shell.nim- Shell interactif distantc2_server.py- Serveur de contrôle Python- Concepts: Sockets, HTTP, C2, chiffrement
- Difficulté: Avancé
- Droits: Variable selon actions
dll_inject.nim- Injection DLLshellcode_inject.nim- Injection shellcode- Concepts: Manipulation processus, mémoire, WinAPI
- Difficulté: Expert
- Droits: Administrateur requis
# Nim
brew install nim
# MinGW (cross-compilation Windows)
brew install mingw-w64
# Vérifier
nim --version
x86_64-w64-mingw32-gcc --version- VM Windows 11 (UTM/VirtualBox)
- Droits Administrateur pour modules 2,5
- Network isolé (NAT)
# Compiler un module spécifique
./build.sh 01_basics system_recon
# Compiler tous les modules d'un coup
./build_all.sh
# Les .exe sont dans builds/# Lancer serveur web
python3 -m http.server 8000
# Dans Windows VM:
# http://192.168.64.1:8000/builds/system_recon.exe# Télécharger
curl http://192.168.64.1:8000/builds/system_recon.exe -OutFile recon.exe
# Exécuter
.\recon.exe
# Modules nécessitant admin:
# Clic droit → "Run as administrator"Documentation détaillée pour chaque module :
- Module 1 - Reconnaissance
- Module 2 - Persistence
- Module 3 - Evasion
- Module 4 - Network C2
- Module 5 - Injection
- ✓ VM personnelle (environnement contrôlé)
- ✓ Recherche en sécurité
- ✓ Red team autorisé
- ✓ Formation professionnelle
- ✓ Certification (OSCP, etc.)
- ✗ Systèmes sans autorisation écrite
- ✗ Réseaux d'entreprise non autorisés
- ✗ Distribution malveillante
- ✗ Toute activité illégale
Conséquences légales: Prison, amendes, casier judiciaire
Chaque module inclut :
- Détection: Comment repérer cette technique
- Règles YARA: Signatures de détection
- Logs Windows: Event IDs à surveiller
- IOCs: Indicateurs de compromission
- Mitigation: Comment se protéger
Mac (Host)
├─ Nim + MinGW
├─ VSCode
└─ Python3
↓ (Réseau NAT isolé)
Windows 11 VM (UTM)
├─ Pas d'antivirus (pour tests)
├─ Snapshot "Clean"
├─ Outils: Process Monitor, Wireshark
└─ Restaurer après chaque test
Ce projet est éducatif. Contributions bienvenues pour :
- Améliorer documentation
- Ajouter techniques de détection
- Corriger bugs
- Ajouter modules éducatifs
MIT License - Usage éducatif uniquement
Ce code peut être détecté comme malveillant par les antivirus.
C'est NORMAL et INTENTIONNEL - c'est l'objectif pédagogique.
Ne compilez et n'exécutez QUE dans des environnements de test isolés.
Fichiers:
src/05_injection/dll_inject.nim- Injecteur DLLsrc/05_injection/malware_dll.nim- DLL malveillantesrc/05_injection/shellcode_inject.nim- Injection shellcode
Compilation DLL:
nim c --app:lib -d:release -d:mingw --os:windows \
--gcc.exe:x86_64-w64-mingw32-gcc \
--gcc.linkerexe:x86_64-w64-mingw32-gcc \
-o:builds/malware.dll \
src/05_injection/malware_dll.nimTechnique: MITRE T1055.001, T1055.002
Fichier: src/06_privesc/uac_bypass.nim
Bypass UAC via fodhelper.exe (Windows 10)
Technique: MITRE T1548.002
Les modules 5 et 6 nécessitent la bibliothèque winim.
Installation:
nimble install winim