Skip to content

cchopin/nimrat-educational

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NimRAT - Educational Malware Framework

⚠️ DISCLAIMER LÉGAL: Ce projet est strictement éducatif. Il est destiné à l'apprentissage de la cybersécurité offensive et défensive. L'utilisation malveillante est ILLÉGALE et contraire à l'éthique.

Objectif Pédagogique

Comprendre comment fonctionnent les malwares pour mieux les détecter et s'en protéger.

Structure Progressive

Module 1 : Basics (Reconnaissance)

  • system_recon.nim - Collecte d'informations système
  • Concepts: Exécution commandes, variables env, fichiers
  • Difficulté: Débutant
  • Droits: Aucun admin requis

Module 2 : Persistence

  • registry_persist.nim - Persistence via registre
  • hosts_hijack.nim - Modification fichier hosts
  • watchdog.nim - Surveillance et réparation
  • Concepts: Registre Windows, fichiers système, boucles
  • Difficulté: Intermédiaire
  • Droits: Administrateur requis

Module 3 : Evasion

  • anti_vm.nim - Détection machines virtuelles
  • anti_debug.nim - Détection débogueurs
  • Concepts: Détection environnement, techniques anti-analyse
  • Difficulté: Intermédiaire
  • Droits: Aucun admin requis

Module 4 : Network (C2)

  • simple_beacon.nim - Communication basique
  • reverse_shell.nim - Shell interactif distant
  • c2_server.py - Serveur de contrôle Python
  • Concepts: Sockets, HTTP, C2, chiffrement
  • Difficulté: Avancé
  • Droits: Variable selon actions

Module 5 : Injection

  • dll_inject.nim - Injection DLL
  • shellcode_inject.nim - Injection shellcode
  • Concepts: Manipulation processus, mémoire, WinAPI
  • Difficulté: Expert
  • Droits: Administrateur requis

Installation

Prérequis Mac (développement)

# Nim
brew install nim

# MinGW (cross-compilation Windows)
brew install mingw-w64

# Vérifier
nim --version
x86_64-w64-mingw32-gcc --version

Prérequis Windows (test)

  • VM Windows 11 (UTM/VirtualBox)
  • Droits Administrateur pour modules 2,5
  • Network isolé (NAT)

Quick Start

1. Compilation

# 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/

2. Transfert vers Windows

# Lancer serveur web
python3 -m http.server 8000

# Dans Windows VM:
# http://192.168.64.1:8000/builds/system_recon.exe

3. Test en VM

# 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

Documentation détaillée pour chaque module :

Sécurité et Éthique

✅ Utilisations LÉGITIMES

  • ✓ VM personnelle (environnement contrôlé)
  • ✓ Recherche en sécurité
  • ✓ Red team autorisé
  • ✓ Formation professionnelle
  • ✓ Certification (OSCP, etc.)

❌ Utilisations INTERDITES

  • ✗ 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

Aspect Défensif

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

Lab Setup Recommandé

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

Ressources Externes

Apprentissage

Défense

Contribution

Ce projet est éducatif. Contributions bienvenues pour :

  • Améliorer documentation
  • Ajouter techniques de détection
  • Corriger bugs
  • Ajouter modules éducatifs

License

MIT License - Usage éducatif uniquement

Avertissement Final

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.


Modules Avancés Ajoutés

Module 5 : DLL & Shellcode Injection

Fichiers:

  • src/05_injection/dll_inject.nim - Injecteur DLL
  • src/05_injection/malware_dll.nim - DLL malveillante
  • src/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.nim

Technique: MITRE T1055.001, T1055.002


Module 6 : UAC Bypass

Fichier: src/06_privesc/uac_bypass.nim

Bypass UAC via fodhelper.exe (Windows 10)

Technique: MITRE T1548.002


Note Importante

Les modules 5 et 6 nécessitent la bibliothèque winim.

Installation:

nimble install winim

About

Comprendre comment fonctionnent les malwares pour mieux les détecter et s'en protéger.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors