Objectifs pédagogiques
- Utiliser vos connaissances généralistes sur le fonctionnement des malwares
- Décrire une méthodologie d'analyse statique et dynamique
- Créer des charges encodées.
Niveau requis
Avoir des connaissances généralistes en programmation, système et réseaux.
Public concerné
Pentesters, développeurs, administrateurs et analystes.
Programme
Jour 1
Etat de l'art
- Introduction
- Historique
- Vecteurs d'infection
- Compromission
- Impacts business
- Défenses classiques
Bases système
- Séquence de boot
- Dissection d'un processus
- Dissection d'un exécutable
- Gestion de la mémoire
- Techniques communes
- Obfuscation, packers et encoders (évasion)
Environnement
- Infrastructure
- Bonnes pratiques et création d'un lab
Exemple de travaux pratiques (à titre indicatif)
- Dépacking et désobfuscation d'une charge
Outils d'analyse
- Analyse statique
- Analyse dynamique
- Présentation des outils d'analyse
- Découverte de la suite Sysinternals
- Introduction à la suite FLARE Mandiant
- Sandbox
- VirusTotal
- Cuckoo
- AnyRun
- Signatures
- YARA
- Création de règles
- Implémentation YARA
- Plateformes d'échanges
Exemples de travaux pratiques (à titre indicatif)
- Analyse d'un PDF
- Analyse Meterpreter, Unicorn et Macros
- Analyse d'une charge dans une Sandbox
- Signer des Malwares
Jour 2
Exemple de travaux pratiques (à titre indicatif)
- Analyse d'une attaque et rédaction d'un rapport
Analyse de dumps mémoire
- Acquisition
- Volatility
- Processus
- DLL
- Ruches
- Injections
- Connexions
Exemple de travaux pratiques (à titre indicatif)
- Analyse de dumps mémoire
Introduction à l'assembleur (ia-32)
- Introduction
- Registres
- Flags
- Instructions
- La pile
Exemples de travaux pratiques (à titre indicatif) : premiers programmes
- Hello World (Write)
- Boucles
- Execve (/bin/sh)
Jour 3
Shellcoding
- Introduction à GDB
- Commandes utiles
- Shellcode méthode stack
- Shellcode méthode Jmp-Call-Pop
- Les encoders
- Les stagers
- Où trouver des shellcodes ?
- Encoder des shellcodes existants (Metasploit)
Exemples de travaux pratiques (à titre indicatif)
- Création d'un encodeur XOR
- Création d'un stager
- Reverse d'une charge
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)