⬅️ Volver al programa · 📚 Índice completo · ⏭️ Parte siguiente
25 clases · rango 116–140 · Assembly, buffer overflows, ROP, heap, fuzzing e ingeniería inversa
Fuentes de referencia de esta parte:
Esta parte baja al nivel más profundo de la seguridad ofensiva: la memoria de un proceso, el juego de registros de la CPU y los bytes de un binario compilado. Aquí aprenderás cómo un programa escrito en C se convierte en instrucciones máquina, dónde viven el stack y el heap, y por qué un simple error al copiar datos puede darle a un atacante el control del flujo de ejecución. Es el corazón del binary exploitation (pwn) y de la ingeniería inversa.
Importa porque las vulnerabilidades de corrupción de memoria siguen siendo, décadas después, una de las clases de fallos más críticas: alimentan exploits de kernel, cadenas de 0-day en navegadores y escapes de sandbox. Entender cómo funcionan por dentro te convierte en mejor defensor (sabes qué mitigar y por qué), mejor desarrollador (escribes código que no rompe la memoria) y mejor investigador (descubres y reportas fallos antes que los adversarios).
Sirve a pentesters que quieren ir más allá de la web, a analistas de malware que necesitan leer ensamblador, a investigadores de vulnerabilidades y a cualquiera que aspire a competir en CTFs de categoría pwn y reversing. El recorrido va de los fundamentos de la arquitectura x86/x64 hasta técnicas modernas de ROP, explotación de heap, fuzzing con AFL++ e introducción al kernel.
⚠️ Nota ética. Todo el contenido ofensivo de esta parte se practica exclusivamente en laboratorios propios (máquinas virtuales aisladas, binarios que tú compilas, retos de CTF con permiso) o con autorización explícita por escrito. Desarrollar o desplegar exploits contra sistemas de terceros sin consentimiento es ilegal en la mayoría de jurisdicciones.
Al terminar la parte, el alumno podrá:
RIP/EIP.| Bloque | Clases | Contenido |
|---|---|---|
| Fundamentos de bajo nivel | 116–118 | Arquitectura, stack/registros/ABI, debugging con GDB+pwndbg |
| Stack overflows y shellcode | 119–121 | Teoría, explotación práctica y escritura de shellcode |
| Mitigaciones y su evasión | 122–124 | ASLR/DEP/canaries/PIE, ret2libc y ROP |
| Otras clases de bugs | 125–128 | Format string, heap, UAF/double free, integer overflows |
| Windows y reversing | 129–135 | SEH, RE, Ghidra, IDA/radare2, estático/dinámico, anti-reversing |
| Descubrimiento y avanzado | 136–140 | Fuzzing, hallazgo de vulns, exploits modernos, kernel, CTFs |