Objectifs pédagogiques
- Comprendre les récentes attaques et exploitations de systèmes
- Comprendre les techniques modernes de contournement des protections applicatives
- Exploiter une vulnérabilité applicative sur les systèmes Linux et Windows
- Créer des shellcodes et payloads (Linux et Windows)
Programme de la formation
L'état de l’art offensif et défensif
- Un peu d’actualité : la 5G, la blockchain, le smart contract, IoTs (objets connectés), IA, IPv4, IPv6.
- Les dernières techniques d’attaques.
- Les dernières stratégies défensives.
Du C à l'assembleur au code machine
- Qu’est-ce que l’assembleur et le code machine. La compilation.
- Le fonctionnement d’un processeur.
- Les bases de l’assembleur et les bases du langage C.
- Les concepts de l’encodage (modes d'adressage, registres, instructions, opérations…).
Les attaques applicatives
- Les concepts des logiciels malveillants, des malwares (virus, rootkit ou autre).
- État de l'art des backdoors sous Windows et Unix/Linux.
- Mise en place de backdoors et de trojans.
- Les shellcodes, le reverse shell TCP, le Bind Shell TCP.
- L'encodage de shellcodes, suppression des NULL bytes.
- Exploitations de processus: buffer overflow, ROP, Dangling Pointers.
- Protections et contournement : flag GS, ASLR, PIE, RELRO, Safe SEH, DEP. Les shellcodes avec adresses hardcodées, LSD.
- Metasploit avancé : architecture, fonctionnalités, interfaces, workspaces, écriture d'exploit, génération de shellcodes.
Travaux pratiques
Exploitation de shellcode : buffer overflow (Windows ou Linux). Contourner des protections. Obtenir un shell root par différents types de buffer overflow. Utiliser Metasploit et générer des shellcode.
Les techniques d’analyse
- Analyse statique des binaires.
- Outils d'analyse dynamiques.
- La sécurité dans le bac à sable (sandboxing).
- Le reverse engineering et debugging.
- Packers et crypters modernes.
Travaux pratiques
Analyse d’un malware avec les différentes techniques d’analyse.
La cryptanalyse
- Les concepts de la cryptanalyse (processus, chiffrement...).
- Identification des algorithmes.
- Attaques sur le chiffrement par flux, sur les modes ECB et CBC.
- Les attaques par canaux cachés (side-channel attack).
- Les attaques sur la blockchain.