Aller au contenu

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

  1. 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.

  2. 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.

  3. L'authentification de pointeur signe les adresses de retour ; une falsification fait fauter le processus. BTI contraint les branchements indirects.

Autres domaines