| Nota de contenido con formato |
Índice,<br/>Prólogo,<br/>Descargo de responsabilidades,<br/>El Tao del Hacker;<br/>I. Una aproximación Zen,<br/>II. Hacking, Kung y Ninjas,<br/>III. Qué nos depara el futuro,<br/>- Capítulo 0 Introducción al exploiting;<br/>0.1. Requisitos previos,<br/>0.2. Un pequeño laboratorio,<br/>0.3. El mundo real,<br/>0.4. Wargames: Plataforma de aprendizaje,<br/>- Capítulo I Stack Overflows: Un Mal Interminable;<br/>1.1. ¿Qué es un buffer overflow?,<br/>1.2. Fallos de segmentación (DoS),<br/>1.3. Motivos subyacentes,<br/>1.4. Aplicaciones Setuid (suid),<br/>1.5. Payloads,<br/>1.6. Su primer exploit,<br/>1.7. GDB: El debugger de Linux,<br/>1.8. Prácticas de programación segura,<br/>1.9. Solucionario Wargames,<br/>1.10. Dilucidación,<br/>1.11. Referencias,<br/>- Capítulo II AShellcodes en arquitecturas IA32;<br/>2.1. Sintaxis AT&T vs Intel,<br/>2.2. ¿Qué es un shellcode?<br/>2.3. Llamadas de sistema (syscalls),<br/>2.4. Métodos de referenciación,<br/>2.4.1. Viaje al pasado,<br/>2.4.2. Viaje al presente,<br/>2.4.3. Alternativa FNSTENV,<br/>2.5. Port binding,<br/>2.6. Conexión inversa,<br/>2.7. Egg Hunters,<br/>2.8. Shellcodes polimórficos,<br/>2.9. Dilucidación,<br/>2.10. Referencias,<br/>- Capítulo III Atacando el Frame Pointer;<br/>3.1. Abuso del Frame Pointer,<br/>3.1.1. Análisis del problema,<br/>3.1.2. Ejecución del código,<br/>3.2. Off-by-One Exploit,<br/>3.2.1. Precondiciones,<br/>3.3. Dilucidación,<br/>3.4. Referencias,<br/>- Capítulo IV Métodos Return to Libc;<br/>4.1. Prueba de concepto (PoC),<br/>4.1.1. Evasión de bytes null,<br/>4.1.2. Métodos interesantes,<br/>4.2. Exploits avanzados,<br/>4.2.1. Encadenamiento de funciones,<br/>4.2.2. Falseo de frames,<br/>4.3. Solucionario Wargames,<br/>4.4. Dilucidación,<br/>4.5. Referencias,<br/>- Capítulo V Métodos complementarios;<br/>5.1. Técnica Ret o Ret,<br/>5.2. Técnica de Murat,<br/>5.3. Jump to ESP: Windows Style,<br/>5.4. ROP (Return Oriented Programming),<br/>5.5. Integer no inicializadas,<br/>5.6 Variables no inicializadas,<br/>5.7. Exploits Remotos,<br/>5.8. Dilucidación,<br/>5.9. Referencias,<br/>- Capítulo VI Explotando format strings;<br/>6.1 Análisis del problema,<br/>6.1.1. Leer de la memoria,<br/>6.1.2. Parámetro de acceso directo,<br/>6.1.3. Escribir en la memoria,<br/>6.2. Objetivos primarios,<br/>6.2.1. DTOR (Destructores),<br/>6.2.2. GOT (Tabla de Offsets Global),<br/>6.3. Prueba de concepto,<br/>6.3.1. Cambios de orden,<br/>6.4. Format Strings como Buffer Overflows,<br/>6.5. Objetivos secundarios,<br/>6.5.1. Estructuras_atexit,<br/>6.5.2. setjmp() y longjmp(),<br/>6.5.3. VTable y VPTR en C++,<br/>6.6. Solucionario Wargames,<br/>6.7. Dilucidación,<br/>6.8. Referencias,<br/>- Capítulo VII Medidas preventivas y evasiones;<br/>7.1. ASLR no tan aleatorio,<br/>7.2. StackGuard y Stackshield,<br/>7.2.1. StackGuard,<br/>7.2.2. StackShield,<br/>7.3. Stack Smash Protector (ProPolice),<br/>7.4. Relocation Read-Only (RELRO),<br/>7.5. Fortify Source,<br/>7.6. Reemplazo Libsafe,<br/>7.7. ASCII Armored Address Space,<br/>7.8. Jaulas con chroot(),<br/>7.9. Instrumentación de código,<br/>7.10. Rompiendo las reglas: Todo en uno,<br/>7.11. Dilucidación,<br/>7.12. Referencias,<br/>- Capítulo VIII Heap Overflows: Exploits básico;<br/>8.1. Un poco de historia,<br/>8.1.1. ¿Qué es un Heap Overflow?,<br/>8.1.2. Convenciones,<br/>8.2. Algoritmo Malloc de Doug Lea,<br/>8.2.1. Prganizacion del Heap,<br/>8.2.2. Algoritmo free(),<br/>8.3. Técnica Unlink,<br/>8.3.1. Teoría,<br/>8.3.2. Componentes de un Exploit,<br/>8.4. Técnica Frontlink,<br/>8.4.1. Conocimientos previos,<br/>8.4.2. Explotación.<br/>8.5. Otros bugs: double free() y use after free(),<br/>8.5.1. Double free(),<br/>8.5.2. Use after free(),<br/>8.6. Peligros en los manejadores de señales,<br/>8.7. Solucionario Wargames,<br/>8.8. Dilucidación,<br/>8.9. Referencias,<br/>- Capítulo IX Heap Overflows: Exploits avanzados,<br/>9.1. La muerte de Unlink,<br/>9.2. The House of Mind,<br/>9.2.1. Métodos Fastbin,<br/>9.3. The House of Prime,<br/>9.3.1. unsorted_chunks(),<br/>9.4. The House of Spirit,<br/>9.5. The House of Force,<br/>9.6. The House of Lore,<br/>9.6.1. Heap Debugging,<br/>9.6.2. Corrupción SmallBin,<br/>9.6.3. Corrupción LargeBin,<br/>9.7. Gestor de memoria seguro,<br/>9.7.1. Dnmalloc,<br/>9.7.2. OpenBSD Malloc,<br/>9.8. Heap Spraying y Heap Feng Shui,<br/>9.8.1. Heap Spraying,<br/>9.8.2. Heap Feng Shui,<br/>9.9. Dilucidación,<br/>9.10. Referencias,<br/>- Capítulo X Explotación en espacio de kernel;<br/>10.1. ¿Dónde juegan los amyores?,<br/>10.2. Derreferencia de punteros nulos,<br/>10.3. Condiciones de carrera,<br/>10.4. Desbordamientos de buffer,<br/>10.5. Dilucidación.<br/>10.6. Referencias,<br/>Apéndice I Solucionario Nebula Wargame.<br/> |