0x8000 · Área
Explotación ARM64
El teléfono en tu bolsillo, la mayoría de los portátiles modernos y una parte creciente de los servidores usan AArch64, cuyo modelo de explotación difiere de x86-64 en aspectos importantes: la dirección de retorno vive en un registro, no en la pila por defecto, y la arquitectura incorpora defensas de hardware — autenticación de punteros e identificación de destinos de salto — que atacan directamente la reutilización de código. Esta área reconstruye en ARM las técnicas de las guías x86-64, en laboratorio, y explica cómo PAC y BTI cambian el juego.
Guías de esta área
On AArch64 the return address lives in a register, not on the stack — until a non-leaf function saves it. Build the ARM ret2win in a lab and see where the saved link register sits.
AArch64 gadgets end in ret, which branches to x30 — so the chain is threaded through the link register with ldp gadgets. Build a system("/bin/sh") chain, then watch PAC and BTI break it.
Pointer authentication signs return addresses so a forged one faults; BTI forces indirect branches onto landing pads. How both work, how to enable and verify them, and their limits.
Las guías se publican primero en inglés. Las traducciones llegarán después.
Otras áreas
Fundamentos de memoria
Pila, heap, segmentos ELF y convenciones de llamada: el terreno de todo bug.
Clases de vulnerabilidades
Desbordamientos, use-after-free, double free, errores de enteros y de cadenas de formato, y cómo detectarlos.
Mitigaciones de explotación
Canarios, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET y PAC, y cómo verificarlos.
Encontrar errores
AddressSanitizer, UBSan y fuzzing guiado por cobertura con libFuzzer y AFL++.
Triaje de fallos
Leer señales, backtraces, informes de sanitizers y core dumps, y decidir qué corregir primero.
Programación segura
Lenguajes con seguridad de memoria, C++ más seguro y una estrategia de migración realista.
Ruta de aprendizaje
Una ruta legal y progresiva desde C y ensamblador hasta los retos pwn de CTF y las carreras en seguridad.
Técnicas de explotación
ret2win, ret2libc, cadenas ROP, sobrescritura de GOT y primitivas de cadenas de formato, construidas y neutralizadas en laboratorio.