0x8000 · Domaine
Exploitation ARM64
Le téléphone dans votre poche, la plupart des ordinateurs portables modernes et une part croissante des serveurs utilisent AArch64, dont le modèle d'exploitation diffère de x86-64 sur des points importants : l'adresse de retour réside dans un registre, pas sur la pile par défaut, et l'architecture intègre des défenses matérielles — authentification de pointeurs et identification des cibles de branchement — qui visent directement la réutilisation de code. Ce domaine reconstruit sur ARM les techniques des guides x86-64, en labo, et explique comment PAC et BTI changent la donne.
Guides de ce domaine
Sur AArch64 l'adresse de retour vit dans un registre, pas sur la pile — jusqu'à ce qu'une fonction non-feuille la sauvegarde. Construisez le ret2win ARM.
Les gadgets AArch64 finissent par ret, qui branche vers x30 : la chaîne s'enfile dans le registre de lien via des gadgets ldp. Puis PAC et BTI la brisent.
L'authentification de pointeur signe les adresses de retour ; une falsification fait fauter le processus. BTI contraint les branchements indirects.
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.
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.