
Learning Linux Binary Analysis
Ryan "elfmaster" O'Neill
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~282
- Nivel
- Básico
De qué trata
Trata sobre el análisis a bajo nivel de binarios en formato ELF (Executable and Linkable Format) en sistemas operativos Linux, enfocado en arquitecturas x86 y x86_64. Aunque a menudo se catalogue con nivel inicial en análisis binario, en realidad es una obra técnica dirigida a analistas de malware, investigadores de seguridad, ingenieros de sistemas e interesados en la ingeniería inversa que ya cuentan con un dominio sólido del lenguaje C, nociones de ensamblador y familiaridad con el entorno de línea de comandos de Linux.
Desmenuza con minuciosidad la arquitectura interna del formato ELF, explicando los encabezados de programa (como PT_LOAD y PT_DYNAMIC), las secciones (.text, .rodata, tablas de símbolos) y los mecanismos de vinculación dinámica. Profundiza en el rastreo y control de procesos en memoria mediante la llamada al sistema ptrace, los principios de desarrollo de virus e infecciones de ejecutables ELF (inyección de código, desvío del flujo de control), y las técnicas de evasión de protecciones binarias y desempacado (packers como Shiva o DacryFile). Asimismo, aborda el análisis forense de la memoria de procesos, la tecnología de volcados ECFS (Extended Core File Snapshot) mediante libecfs y readecfs, y el examen forense del kernel a través de /proc/kcore y GDB para identificar modificaciones en la tabla de llamadas al sistema (sys_call_table).
El aprendizaje se asienta en la implementación y experimentación directa con herramientas en lenguaje C: analizadores de encabezados ELF, inyectores de código basados en ptrace, desempacadores y utilidades de inspección de procesos en ejecución con ECFS. Su valor fundamental reside en exponer con crudeza y rigor el funcionamiento interno del software compilado y las técnicas de manipulación en memoria desde la perspectiva tanto ofensiva como forense. Deja fuera entornos Windows, macOS y arquitecturas ARM para centrarse exclusivamente en Linux x86/x64. Es indispensable disponer de una máquina virtual aislada para realizar las pruebas de inyección y depuración con total seguridad.
- Formato ELF
- Análisis binario
- Ingeniería inversa
- Llamada al sistema ptrace
- Inyección de código
- Forense de memoria
- Análisis de malware Linux
- Rootkits del kernel
- ECFS
- GDB
- Lenguaje C
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Inyector de código y depurador con ptrace
Herramienta en lenguaje C que utiliza la llamada al sistema ptrace para asociarse a procesos Linux en ejecución, inspeccionar sus registros e inyectar código binario en su espacio de memoria.
Analizador forense de procesos con ECFS
Utilidad basada en la biblioteca libecfs para generar y examinar volcados no destructivos del espacio de memoria de un proceso, identificando código inyectado y bibliotecas compartidas alteradas.

