0x0000 · Domaine
Fondamentaux de la mémoire
Impossible de raisonner sur une corruption mémoire sans savoir où vivent les données. Ce domaine couvre l'espace d'adressage virtuel d'un processus, la construction et la destruction des cadres de pile, la manière dont l'allocateur distribue les blocs du tas, et les segments ELF inscriptibles ou exécutables.
Guides de ce domaine
Visite guidée pour défenseur de l'espace d'adressage d'un processus Linux : segments ELF, pile et conventions d'appel, tas, mmap, et le rôle des permissions.
Autres domaines
Classes de vulnérabilités
Débordements, use-after-free, double free, bugs d'entiers et de chaînes de format, et comment les repérer.
Mitigations d'exploitation
Canaris, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET et PAC, et comment les vérifier.
Trouver les bugs
AddressSanitizer, UBSan et fuzzing guidé par la couverture avec libFuzzer et AFL++.
Triage des crashs
Lire signaux, backtraces, rapports de sanitizers et core dumps, et décider quoi corriger en premier.
Développement sécurisé
Langages sûrs pour la mémoire, C++ plus sûr et une stratégie de migration réaliste.
Parcours d'apprentissage
Un parcours légal et progressif, du C et de l'assembleur aux épreuves pwn de CTF et aux métiers de la sécurité.
Techniques d'exploitation
ret2win, ret2libc, chaînes ROP, écrasement de GOT et primitives de chaînes de format, construits et neutralisés en labo.
Exploitation ARM64
Conventions d'appel AArch64, registre de lien, ROP sur ARM, et défenses PAC et BTI.
Exploitation du noyau
Élévation de privilèges depuis un bug noyau : le modèle de credentials, ret2usr, et SMEP, SMAP, KASLR et KPTI.
Exploitation Windows
Écrasement de SEH, contournement de DEP par ROP, et les mitigations SafeSEH, SEHOP, ASLR, CFG et CET.