0x6000 · Domaine
Parcours d'apprentissage
Comprendre comment une corruption mémoire est exploitée, c'est ce qui rend les défenseurs efficaces pour la prévenir. Ce domaine indique des plateformes d'entraînement conçues pour apprendre, dans un ordre qui ancre les concepts, et rappelle les règles pour pratiquer légalement et éthiquement.
Guides de ce domaine
Un parcours légal et progressif du C et de l'assembleur aux défis pwn de CTF : quoi apprendre et dans quel ordre, plateformes de pratique, règles de labo.
Autres domaines
Fondamentaux de la mémoire
Pile, tas, segments ELF et conventions d'appel : le terrain de chaque bug.
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.
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.