Formation Exploit Development : L’Ingénierie de l’Infection
Maîtrisez les vulnérabilités logicielles au niveau binaire et codez vos propres vecteurs d’attaque.
Les Prérequis Indispensables
- Maîtrise de Python : Savoir écrire des scripts d’automatisation.
- Bases du C : Comprendre la gestion des pointeurs et de la mémoire.
- Connaissance de Linux : Être à l’aise avec la ligne de commande (Bash).
- Curiosité intellectuelle : Une grande patience est nécessaire pour le débogage.
🎯 Objectifs de la formation
L’objectif est de passer du statut d’utilisateur d’outils (Script Kiddie) à celui de créateur d’exploits. À la fin du cursus, l’apprenant saura :
- Analyser un binaire compilé sans accès au code source.
- Comprendre et manipuler la mémoire vive (Stack & Heap).
- Développer des exploits capables de contourner les protections modernes des OS (ASLR, DEP).
- Créer des modules d’exploitation sur mesure pour des frameworks comme Metasploit.
📖 Programme Détaillé (60 Heures)
Module 1 : Architecture Bas Niveau & Gestion Mémoire (10h)
Comprendre comment l’ordinateur “pense” réellement.
- Registres CPU : Étude approfondie des registres x86 et x64 (EAX/RAX, ESP/RSP, EIP/RIP).
- Gestion de la Pile (Stack) : Fonctionnement des appels de fonctions, cadres de pile et variables locales.
- Gestion du Tas (Heap) : Introduction à l’allocation dynamique et aux structures de données en mémoire.
- Endianness : Comprendre le stockage Little-Endian vs Big-Endian.
Module 2 : Reverse Engineering & Analyse de Binaires (10h)
Démonter un logiciel pour en comprendre les rouages.
- Assembleur (ASM) : Lecture et écriture d’instructions de base (MOV, PUSH, POP, JMP).
- Outils d’Analyse Statique : Utilisation de Ghidra (NSA tool) et introduction à IDA Pro.
- Débogage Dynamique : Maîtrise de GDB (Linux) et x64dbg (Windows) pour analyser l’exécution en temps réel.
Module 3 : La Science du Buffer Overflow (12h)
L’attaque classique et ses variantes modernes.
- Stack Overflow : Écraser le pointeur d’instruction (EIP) pour rediriger le flux d’exécution.
- Fuzzing de base : Utilisation de scripts Python pour envoyer des données aléatoires et provoquer des crashs.
- Développement de Shellcodes : Écriture de code machine optimisé pour obtenir un Reverse Shell (sans caractères nuls
\x00).
Module 4 : Automatisation & Écriture d’Exploits (12h)
Transformer un crash en une arme fonctionnelle.
- Exploitation via Python : Utilisation de la bibliothèque
pwntoolspour automatiser les interactions avec le binaire. - Bad Characters : Identification et élimination des caractères interdits dans un exploit.
- Intégration Metasploit : Apprendre à transformer un script Python/Ruby en module réutilisable pour le framework Metasploit.
Module 5 : Exploitation Avancée & Contournement (16h)
Vaincre les systèmes de défense actuels.
- Contournement DEP/NX : Utilisation de la technique ROP (Return Oriented Programming) pour exécuter du code sur une pile non-exécutable.
- Bypass ASLR : Fuite de mémoire (Memory Leaks) pour recalculer les adresses de base.
- Kernel Exploits : Introduction théorique et pratique aux vulnérabilités dans le noyau du système d’exploitation.
🏆 Projet Final : “The Zero-Day Quest”
L’étudiant reçoit une application Windows ou Linux contenant une vulnérabilité “maison”.
- L’objectif : Effectuer le reverse engineering de l’application, identifier le crash, calculer les offsets, créer un shellcode fonctionnel et rédiger l’exploit final capable de prendre le contrôle total de la machine cible.
- Livrable : Le script d’exploit
.pyet un rapport technique détaillé sur la méthode de contournement utilisée.
Outils utilisés pour cette formation
Microsoft Teams
Google Meet
Zoom
Plateforme LMS AlloTraining
PDF interactifs
Quiz et évaluations
