Sinopsis del producto
Se considera malware cualquier tipo de software dañino contra el normal funcionamiento de un dispositivo, aplicación o red. Dentro del término malware se engloban virus, troyanos, gusanos, backdoors, rootkits, scareware, spyware, keyloggers, ransomware, etc. En general, un malware moderno incluirá varios de estos comportamientos.
n
nEsta obra compila y desgrana las principales TTP (Tácticas, Técnicas y Procedimientos) empleadas actualmente por los atacantes. Parte de estas TTP están diseñadas para comprometer la CIA (confidencialidad, integridad y disponibilidad) del sistema víctima o de la información almacenada en él. En cambio, técnicas como la ofuscación, el anti desensamblado, la anti depuración y el anti sandboxing, son específicamente implementadas por los desarrolladores de malware para impedir o dificultar la detección de la muestra maliciosa mediante la utilización de herramientas automatizadas y su análisis manual.
nEl contenido de este libro describe una amplia metodología de análisis estático y dinámico de muestras maliciosas desarrolladas con las técnicas más actuales y avanzadas para entornos Windows sobre IA-32/64 bits. Estos conocimientos permitirán al lector:
n Analizar, caracterizar y contextualizar muestras maliciosas.
n Determinar el alcance del incidente.
n Eliminar los artifacts maliciosos del sistema infectado.
n Contribuir a la mejora de las defensas y elevar el nivel de resiliciencia del sistema.
n Fortalecer su capacidad para gestionar ciberincidentes relacionados con malware.
nDado que se incluye el soporte teórico necesario relativo a sistemas operativos Microsoft Windows, arquitectura de computadores IA-32/IA-64 y programación (ensamblador y .NET), se trata de una obra ideal tanto para aquellos que quieran introducirse profesionalmente en el análisis de malware como un libro de referencia para analistas avanzados.
n
ÍNDICE DE CONTENIDO
n
n
nÍNDICE
nACERCA DEL AUTOR
nPRÓLOGO
nCAPÍTULO 1. INTRODUCCIÓN
nCAPÍTULO 2. MOTIVOS PARA REALIZAR UN ANÁLISIS DE MALWARE
nCAPÍTULO 3. INGENIERÍA INVERSA DE SOFTWARE
n3.1 INTRODUCCIÓN
n3.2 FUNDAMENTOS DE PROGRAMACIÓN
n3.2.1 Código fuente
n3.2.2 Código máquina
n3.2.3 Código ensamblador
n3.2.4 Entornos de ejecución de software y bytecodes
n3.2.5 Construcciones básicas de código
n3.2.6 Herencia
n3.2.7 Variables
n3.2.8 Estructuras de datos
n3.2.9 Listas
n3.2.10 Control de flujo
n3.3 ARQUITECTURA X86
n3.3.1 Tipos de datos
n3.3.2 Registros
n3.3.3 Memoria
n3.3.4 Representación complemento a dos
n3.3.5 Formato de instrucciones
n3.3.6 Modos de direccionamiento
n3.3.7 Interrupciones
n3.3.8 Funciones (functions)
n3.3.9 Módulos (modules)
n3.3.10 La pila (stack)
n3.3.11 El heap.
n3.3.12 Secciones de datos ejecutables
n3.3.13 Modos de operación de los procesadores
n3.3.14 Instrucciones en ensamblador x86
n3.3.15 Control de flujo en ensambladoR
n3.4 ANÁLISIS DE CÓDIGO DE 64 BITS
n3.4.1 Introducción
n3.4.2 Registros de propósito general en x86 de 64 bits
n3.4.3 Convención de llamadas a funciones
n3.4.4 Modos de direccionamiento
n3.4.5 Instrucciones x64
n3.4.6 Transferencia de datos en x64
nCAPÍTULO 4. FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS MICROSOFT WINDOWS
n4.1 BREVE HISTORIA
n4.2 CARACTERÍSTICAS DE WINDOWS NT
n4.3 COMPATIBILIDAD HARDWARE
n4.4 GESTIÓN DE MEMORIA
n4.4.1 Direccionamiento virtual de memoria
n4.4.2 Memoria de kernel y memoria de usuario
n4.4.3 Objetos de seccióN
n4.4.4 Árboles VAD
n4.4.5 Asignaciones en modo usuario
n4.4.6 Símbolos
n4.4.7 Funciones de la API para la gestión de memoria
n4.5 OBJETOS Y HANDLES
n4.5.1 Generalidades
n4.5.2 Objetos con nombre (named objects)
n4.6 PROCESOS E HILOS
n4.6.1 Procesos
n4.6.2 Hilos
n4.6.3 Cambio de contexto
n4.6.4 Objetos de sincronización
n4.6.5 Atoms y tablas atom
n4.6.6 Secuencia de inicialización de un proceso
n4.7 API
n4.8 FORMATO DE FICHERO PECOFF
n4.8.1 Generalidades
n4.8.2 Secciones de imagen
n4.8.3 Dynamically Linked Libraries
n4.8.4 Cabeceras de fichero
n4.8.5 Sección Table (cabeceras de sección)
n4.8.6 Sección DatA
n4.8.7 Sección .drectvE
n4.8.8 Sección .edatA
n4.8.9 Sección .idatA
n4.8.10 Sección .pdata
n4.8.11 Sección .reloc
n4.8.12 Sección .tls
n4.8.13 Sección .rsrc.
n4.8.14 Sección .cormeta
n4.8.15 Sección .sxdatA
n4.8.16 Cálculo del hash Authenticode de la imagen PE
n4.9 ENTRADA/SALIDA
n4.9.1 Generalidades
n4.9.2 El sistema de E/S
n4.9.3 Subsistema Win32.
n4.10 STRUCTURED EXCEPTION HANDLING.
nCAPÍTULO 5. VIRTUALIZACIÓN Y SANDBOXING
n5.1 VIRTUALIZACIÓN
n5.2 SANDBOXING.
nCAPÍTULO 6. CRIPTOLOGÍA
n6.1 INTRODUCCIÓN
n6.2 DEFINICIONES
n6.3 PRINCIPIOS DE LA CRIPTOGRAFÍA CLÁSICA
n6.4 PRINCIPIOS DE CRIPTOGRAFÍA MODERNA
n6.5 CRIPTOGRAFÍA DE CLAVE SIMÉTRICA
n6.6 CRIPTOGRAFÍA DE CLAVE ASIMÉTRICA
n6.7 CIFRADO HÍBRIDO
n6.8 ALGORITMOS RESUMEN (HASHING)
n6.9 ALGORITMOS DE LÓGICA DIFUSA (FUZZY HASHING) Y RESÚMENES DE SIMILITUD (SIMILARITY DIGESTS)
n6.10 EMPLEO DE CIFRADO Y OFUSCACIÓN POR EL MALWARE
n6.10.1 Generalidades
n6.10.2 Cifrado CésaR
n6.10.3 Codificación Base64.
n6.10.4 Codificación XOR
n6.10.5 Codificación mediante rotación
n6.10.6 Técnicas de cifrado del malware
n6.10.7 Técnicas de cifrado y codificación personalizadas
n6.10.8 Cifrado de ficheros y volúmenes
n6.11 PROTOCOLOS DE CIFRADO DE RED Y ANONIMIZACIÓN DE LAS COMUNICACIONES
nCAPÍTULO 7. VECTORES DE INFECCIÓN DE UN SISTEMA
n7.1 PROPAGACIÓN DEL MALWARE
n7.2 DISTRIBUCIÓN DE MALWARE A TRAVÉS DE LA WEB
nCAPÍTULO 8. CAPACIDADES DEL MALWARE
n8.1 VIRUS Y GUSANOS
n8.2 TROYANOS (TROJAN HORSES)
n8.3 ADWARE/SPYWARE
n8.4 SCAREWARE
n8.5 WIPER
n8.6 RANSOMWARE
n8.7 DOWNLOADERS Y LAUNCHERS
n8.8 PUERTAS TRASERAS (BACKDOORS)
n8.8.1 Reverse shell
n8.8.2 Windows Reverse Shell
n8.8.3 Herramienta de acceso remoto (RAT)
n8.8.4 Botnet.
n8.9 ROOTKITS
n8.10 MALWARE DE EXFILTRACIÓN DE INFORMACIÓN
n8.11 ROBO DE CREDENCIALES
n8.11.1 Interceptación GINA
n8.11.2 Volcado de hashes
n8.11.3 Registro de pulsaciones de teclado (keylogging)
n8.12 MALWARE A NIVEL BIOS/FIRMARE
nCAPÍTULO 9. COMPONENTES DEL MALWARE
n9.1 FUNCIONALIDAD MODULAR
n9.2 MALWARE DE MÚLTIPLES ETAPAS
n9.3 EXPLOIT KITS
nCAPÍTULO 10. MECANISMOS DE PERSISTENCIA DEL MALWARE
n10.1 INTRODUCCIÓN
n10.2 PERSISTENCIA EN LAS CARPETAS DE INICIO DE MICROSOFT WINDOWS
n10.3 PERSISTENCIA EN LAS TAREAS PROGRAMADAS
n10.4 PERSISTENCIA EN EL REGISTRO DE MICROSOFT WINDOWS
n10.4.1 AppInit_DLLs
n10.4.2 Valor Notify de Winlogon
n10.4.3 Librerías SvcHost
n10.5 TROYANIZACIÓN DE BINARIOS DEL SISTEMA
n10.6 SECUESTRO DEL ORDEN DE CARGA DE LAS LIBRERÍAS
n10.7 PERSISTENCIA EN MEMORIA DEL MALWARE
n10.7.1 Inyección de shellcode
n10.7.2 Inyección Reflexiva (Reflective DLL injection)
n10.7.3 Módulo de memoria (memory module)
n10.7.4 Process hollowing
n10.7.5 Process Doppelgänging
n10.7.6 Sobrescritura de módulo (module overwriting)
n10.7.7 Gárgola (gargoyle)
n10.8 FILELESS MALWARE
nCAPÍTULO 11. ESCALADA DE PRIVILEGIOS
n11.1 INTRODUCCIÓN
n11.2 AUTORIZACIÓN EN SISTEMAS MICROSOFT WINDOWS
n11.3 LOCALIZANDO EL OBJETO TOKEN
n11.4 SEDEBUGPRIVILEGE
nCAPÍTULO 12. TÉCNICAS DE OCULTACIÓN DE MALWARE
n12.1 TÉCNICAS EVASIVAS
n12.2 EMPAQUETADORES (PACKERS)
n12.3 CIFRADORES (CRYPTERS)
n12.4 PROTECTORES (PROTECTORS)
n12.5 INYECCIÓN DE CÓDIGO
n12.6 ROOTKITS
n12.7 API HOOKING.
n12.7.1 Generalidades
n12.7.2 SSDT hooking
n12.7.3 IRP hooking.
n12.7.4 IAT hooking.
n12.7.5 Inline hooking
n12.7.6 Hooking en controladores
n12.8 DKOM
n12.8.1 Generalidades
n12.8.2 Ocultación de procesos
n12.8.3 Ocultación de controladores del sistemA
n12.8.4 Elevación privilegio de token y de grupo con DKOM.
n12.9 TAXONOMÍA DE LOS ROOTKITS
n12.10 DETECCIÓN DE ROOTKITS
n12.10.1 Detección basada en firma (signature based detection)
n12.10.2 Detección basada en heurística/comportamiento (heuristic/behavioral detection)
n12.10.3 Detección basada en visión transversal (cross view based)
n12.10.4 Detección basada en integridad.
n12.10.5 Path profiling en tiempo de ejecución (runtime execution profiling)
n12.10.6 Detección manual de rootkits
nCAPÍTULO 13. IDENTIFICACIÓN Y EXTRACCIÓN DEL MALWARE
n13.1 INTRODUCCIÓN
n13.2 DETECCIÓN DE LA CONFIGURACIÓN
n13.3 MODELADO
n13.4 INDICADORES
n13.5 COMPORTAMIENTO DE LA AMENAZA .
n13.6 COMPARACIÓN DE LAS DIFERENTES APROXIMACIONES DE DETECCIÓN DE LA AMENAZA
n13.7 INDICADORES DE QUE SE HA PRODUCIDO UNA BRECHA DE SEGURIDAD
nCAPÍTULO 14. ETAPAS DEL ANÁLISIS DE MALWARE
n14.1 INTRODUCCIÓN
n14.2 ANÁLISIS COMPLETAMENTE AUTOMATIZADO
n14.3 ANÁLISIS ESTÁTICO DE PROPIEDADES
n14.4 ANÁLISIS INTERACTIVO DE COMPORTAMIENTO
n14.5 INGENIERÍA INVERSA MANUAL DEL CÓDIGO
n14.6 COMBINANDO LAS ETAPAS DE ANÁLISIS DE MALWARE
nCAPÍTULO 15. TÉCNICAS DE ANÁLISIS DE MALWARE
n15.1 INTRODUCCIÓN
n15.2 ANÁLISIS ESTÁTICO DE MALWARE
n15.3 ANÁLISIS DINÁMICO DE MALWARE
n15.4 ESTABLECIENDO UN ENTORNO DE ANÁLISIS DE MALWARE
nCAPÍTULO 16. TÉCNICAS BÁSICAS DE ANÁLISIS ESTÁTICO DE MALWARE
n16.1 EMPLEO DE HERRAMIENTAS ANTIVIRUS
n16.2 RESÚMENES COMO HUELLA DIGITAL DE MALWARE
n16.3 BÚSQUEDA DE CADENAS DE TEXTO
n16.4 BÚSQUEDA DE MUTEXES
n16.5 BÚSQUEDA DE PATRONES CON YARA
n16.6 IDENTIFICACIÓN DE LAS DEPENDENCIAS DE FICHEROS
n16.7 ATOMS Y TABLAS ATOM
n16.8 MALWARE EMPAQUETADO Y OFUSCADO
n16.9 BÚSQUEDA DE LA INFORMACIÓN DE PE
n16.10 DESENSAMBLADO DE CÓDIGO
nCAPÍTULO 17. TÉCNICAS BÁSICAS DE ANÁLISIS DINÁMICO DE MALWARE
n17.1 INTRODUCCIÓN
n17.2 MONITORIZACIÓN DE INSTALACIÓN DE APLICACIONES
n17.3 MONITORIZACIÓN DE PROCESOS
n17.4 MONITORIZACIÓN DE FICHEROS Y CARPETAS
n17.5 MONITORIZACIÓN DEL REGISTRO DE WINDOWS
n17.6 MONITORIZACIÓN DEL TRÁFICO DE RED DE LAS CAPAS DE RED Y TRANSPORTE
n17.7 MONITORIZACIÓN/RESOLUCIÓN DNS
n17.8 MONITORIZACIÓN DE TRÁFICO DE RED EN LA CAPA APLICACIÓN
n17.9 MONITORIZACIÓN DE LAS LLAMADAS A LA API DE MICROSOFT WINDOWS
n17.10 MONITORIZACIÓN DE CONTROLADORES DE DISPOSITIVOS
n17.11 MONITORIZACIÓN DE PROGRAMAS AL INICIARSE MICROSOFT WINDOWS
n17.12 MONITORIZACIÓN DE SERVICIOS EN MICROSOFT WINDOWS
nCAPÍTULO 18. INTERACCIÓN CON SITIOS WEB E INFRAESTRUCTURA MALICIOSA
n18.1 ANONIMIZACIÓN DE LAS COMUNICACIONES
n18.2 SISTEMAS Y HERRAMIENTAS DEL ANALISTA
nCAPÍTULO 19. ANÁLISIS DE DOCUMENTOS MALICIOSOS
n19.1 METODOLOGÍA GENERAL DE ANÁLISIS DE DOCUMENTOS
n19.2 ANÁLISIS DE SCRIPTS PARA POWERSHELL.
n19.2.1 Generalidades
n19.2.2 Análisis de comandos/scripts PowerShell.
n19.2.3 Utilización de los atacantes de PowerShell
n19.2.4 Weaponización de PowerShell
n19.3 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO DEPURADORES
n19.4 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO INTERPRETADORES388
n19.5 FICHEROS HTA
n19.6 ANÁLISIS DE DOCUMENTOS DE MICROSOFT OFFICE
n19.7 ANÁLISIS DE FICHEROS MSG
n19.8 ANÁLISIS DE DOCUMENTOS RTF
n19.9 ANÁLISIS DE DOCUMENTOS PDF
n19.10 ANÁLISIS DE SHELLCODE
nCAPÍTULO 20. TÉCNICAS AVANZADAS DE ANÁLISIS DINÁMICO DE MALWARE
n20.1 ANÁLISIS DE MALWARE EMPAQUETADO
n20.2 DEPURACIÓN DE CÓDIGO EMPAQUETADO
n20.3 ANÁLISIS DE MALWARE QUE UTILIZA MÚLTIPLES TECNOLOGÍAS
n20.4 ANÁLISIS FORENSE DEL CONTENIDO DE LA MEMORIA RAM
nCAPÍTULO 21. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIVIRTUALIZACIÓN
n21.1 INTRODUCCIÓN
n21.2 TÉCNICAS ANTIVIRTUALIZACIÓN
n21.2.1 Detección de entornos de virtualizacióN
n21.2.2 Artefactos de entornos de virtualización
n21.2.3 Instrucciones vulnerables
n21.2.4 Técnica antivirtualización Red Pill.
n21.2.5 Técnica antivirtualización No Pill
n21.2.6 Interrogación del puerto de comunicación I/O como técnica antivirtualización
n21.2.7 Instrucción STR como técnica antivirtualizacióN
n21.2.8 Otras técnicas antivirtualizacióN
n21.2.9 Técnicas de escape del entorno virtualizado
n21.3 MEDIDAS ANTI-ANTIDETECCIÓN DE ENTORNOS DE ANÁLISIS DEMALWARE
nCAPÍTULO 22. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIDESENSAMBLADO
n22.1 INTRODUCCIÓN
n22.2 ALGORITMOS DE DESENSAMBLADO
n22.2.1 Desensamblado lineal
n22.2.2 Desensamblado orientado a flujo
n22.3 TÉCNICAS ANTIDESENSAMBLADO
n22.3.1 Introducción
n22.3.2 Instrucciones de salto que apuntan al mismo objetivo
n22.3.3 Instrucción de salto con una condición de constantE
n22.3.4 Funciones de bifurcación
n22.3.5 Desensamblado imposiblE
n22.4 TÉCNICAS ANTIANÁLISIS DE LA PILA
nCAPÍTULO 23. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS DE OFUSCACIÓN DE FLUJO DE EJECUCIÓN
n23.1 INTRODUCCIÓN
n23.2 PUNTEROS A FUNCIONES
n23.3 EXPLOTACIÓN DE LA INSTRUCCIÓN CALL
n23.4 EXPLOTACIÓN DEL PUNTERO DE RETORNO
n23.5 EXPLOTACIÓN DE SEH
nCAPÍTULO 24. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS ANTIDEPURACIÓN
n24.1 INTRODUCCIÓN
n24.2 DETECCIÓN DE ENTORNOS DE DEPURACIÓN
n24.3 TÉCNICAS BASADAS EN LLAMADAS A LA API DE MICROSOFT WINDOWS
n24.3.1 Introducción
n24.3.2 Comprobación manual de la bandera BeingDebugged.
n24.3.3 Comprobación de la bandera ProcessHeap
n24.3.4 Comprobación de la bandera NtGlobalFlag.
n24.3.5 Comprobación de rastros de depuración en el sistemA
n24.3.6 Otras medidas anti-antidepuracióN
n24.4 IDENTIFICANDO EL COMPORTAMIENTO DEL DEPURADOR
n24.4.1 Introducción
n24.4.2 INT scanning
n24.4.3 Cálculo de checksums del código
n24.4.4 Comprobaciones de paso del tiempo
n24.4.5 Empleo de la Instrucción RDTSC
n24.4.6 Empleo de las funciones QueryPerformanceCounter y GetTickCount.
n24.5 INTERFIRIENDO EL FUNCIONAMIENTO DEL DEPURADOR
n24.5.1 Introducción
n24.5.2 TLS callbacks
n24.5.3 Empleo de excepciones
n24.5.4 Inserción de interrupciones
n24.5.5 Inserción de la interrupción INT 3
n24.5.6 Inserción de la interrupción INT 2D.
n24.5.7 Inserción de ICE
n24.6 VULNERABILIDADES EXISTENTES EN LOS DEPURADORES
nCAPÍTULO 25. ANALIZANDO MUESTRAS
nPROGRAMADAS EN .NET
n25.1 INTRODUCCIÓN
n25.2 INTRODUCCIÓN A .NET.
n25.2.1 Generalidades
n25.2.2 Código gestionado
n25.2.3 Lenguajes de programación .NET
n25.2.4 CTS
n25.3 EL LENGUAJE IL
n25.3.1 Pila de evaluación
n25.3.2 Registros de activacióN
n25.3.3 Instrucciones IL
n25.4 ENSAMBLADOS .NET
n25.5 DECOMPILADORES
n25.6 PROTECCIÓN DE CÓDIGO EN .NET
n25.7 OFUSCADORES EN .NET.
n25.8 EMPAQUETADORES EN .NET
n25.8.1 Renombramiento de símbolos
n25.8.2 Ocultación de código CIL
n25.8.3 Técnicas exclusivas de .NET.
n25.9 ANÁLISIS DE MUESTRAS MALICIOSAS EN .NET.
n25.10 INGENIERÍA INVERSA DE CÓDIGO OFUSCADO
n25.10.1 API
n25.10.2 Cadenas de usuario
n25.10.3 LoadAssembly.
nCAPÍTULO 26. COMPRENDIENDO LOS CIBERATAQUES
n26.1 AGENTES DE LA AMENAZA
n26.1.1 Cibercriminales
n26.1.2 Hacktivistas
n26.1.3 Atacantes con apoyo estatal.
n26.1.4 La amenaza interna (insider threat)
n26.1.5 Otras posibles clasificaciones
n26.2 CATEGORIZACIÓN DE LA CIBERAMENAZA
n26.3 DEFENSA DE RED BASADA EN INTELIGENCIA
n26.4 PASOS PARA LA EJECUCIÓN DE UN CIBERATAQUE (CYBER KILL CHAIN)
n26.4.1 Reconocimiento (Reconnaissance)
n26.4.2 Preparación de la operación (Weaponize)
n26.4.3 Envío (Deliver)
n26.4.4 Explotación (Exploit)
n26.4.5 Instalación en la víctima (Installation)
n26.4.6 Control remoto del malware (Command and Control)
n26.4.7 Acciones sobre los objetivos (Actions on objectives)
n26.5 CURSOS DE ACCIÓN
n26.6 RECONSTRUCCIÓN DE UNA INTRUSIÓN
n26.7 ANÁLISIS DE CAMPAÑA
n26.8 MODELO EN DIAMANTE DE ANÁLISIS DE INTRUSIÓN
n26.9 MODELO ATT&CK FOR ENTERPRISE
n26.10 MODELO DE FIREEYE PARA EL CICLO DE VIDA DE UN CIBERATAQUE
n
n
9788499647661
Guerra Soto, Mario
Sinopsis del producto
Se considera malware cualquier tipo de software dañino contra el normal funcionamiento de un dispositivo, aplicación o red. Dentro del término malware se engloban virus, troyanos, gusanos, backdoors, rootkits, scareware, spyware, keyloggers, ransomware, etc. En general, un malware moderno incluirá varios de estos comportamientos.
n
nEsta obra compila y desgrana las principales TTP (Tácticas, Técnicas y Procedimientos) empleadas actualmente por los atacantes. Parte de estas TTP están diseñadas para comprometer la CIA (confidencialidad, integridad y disponibilidad) del sistema víctima o de la información almacenada en él. En cambio, técnicas como la ofuscación, el anti desensamblado, la anti depuración y el anti sandboxing, son específicamente implementadas por los desarrolladores de malware para impedir o dificultar la detección de la muestra maliciosa mediante la utilización de herramientas automatizadas y su análisis manual.
nEl contenido de este libro describe una amplia metodología de análisis estático y dinámico de muestras maliciosas desarrolladas con las técnicas más actuales y avanzadas para entornos Windows sobre IA-32/64 bits. Estos conocimientos permitirán al lector:
n Analizar, caracterizar y contextualizar muestras maliciosas.
n Determinar el alcance del incidente.
n Eliminar los artifacts maliciosos del sistema infectado.
n Contribuir a la mejora de las defensas y elevar el nivel de resiliciencia del sistema.
n Fortalecer su capacidad para gestionar ciberincidentes relacionados con malware.
nDado que se incluye el soporte teórico necesario relativo a sistemas operativos Microsoft Windows, arquitectura de computadores IA-32/IA-64 y programación (ensamblador y .NET), se trata de una obra ideal tanto para aquellos que quieran introducirse profesionalmente en el análisis de malware como un libro de referencia para analistas avanzados.
n
ÍNDICE DE CONTENIDO
n
n
nÍNDICE
nACERCA DEL AUTOR
nPRÓLOGO
nCAPÍTULO 1. INTRODUCCIÓN
nCAPÍTULO 2. MOTIVOS PARA REALIZAR UN ANÁLISIS DE MALWARE
nCAPÍTULO 3. INGENIERÍA INVERSA DE SOFTWARE
n3.1 INTRODUCCIÓN
n3.2 FUNDAMENTOS DE PROGRAMACIÓN
n3.2.1 Código fuente
n3.2.2 Código máquina
n3.2.3 Código ensamblador
n3.2.4 Entornos de ejecución de software y bytecodes
n3.2.5 Construcciones básicas de código
n3.2.6 Herencia
n3.2.7 Variables
n3.2.8 Estructuras de datos
n3.2.9 Listas
n3.2.10 Control de flujo
n3.3 ARQUITECTURA X86
n3.3.1 Tipos de datos
n3.3.2 Registros
n3.3.3 Memoria
n3.3.4 Representación complemento a dos
n3.3.5 Formato de instrucciones
n3.3.6 Modos de direccionamiento
n3.3.7 Interrupciones
n3.3.8 Funciones (functions)
n3.3.9 Módulos (modules)
n3.3.10 La pila (stack)
n3.3.11 El heap.
n3.3.12 Secciones de datos ejecutables
n3.3.13 Modos de operación de los procesadores
n3.3.14 Instrucciones en ensamblador x86
n3.3.15 Control de flujo en ensambladoR
n3.4 ANÁLISIS DE CÓDIGO DE 64 BITS
n3.4.1 Introducción
n3.4.2 Registros de propósito general en x86 de 64 bits
n3.4.3 Convención de llamadas a funciones
n3.4.4 Modos de direccionamiento
n3.4.5 Instrucciones x64
n3.4.6 Transferencia de datos en x64
nCAPÍTULO 4. FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS MICROSOFT WINDOWS
n4.1 BREVE HISTORIA
n4.2 CARACTERÍSTICAS DE WINDOWS NT
n4.3 COMPATIBILIDAD HARDWARE
n4.4 GESTIÓN DE MEMORIA
n4.4.1 Direccionamiento virtual de memoria
n4.4.2 Memoria de kernel y memoria de usuario
n4.4.3 Objetos de seccióN
n4.4.4 Árboles VAD
n4.4.5 Asignaciones en modo usuario
n4.4.6 Símbolos
n4.4.7 Funciones de la API para la gestión de memoria
n4.5 OBJETOS Y HANDLES
n4.5.1 Generalidades
n4.5.2 Objetos con nombre (named objects)
n4.6 PROCESOS E HILOS
n4.6.1 Procesos
n4.6.2 Hilos
n4.6.3 Cambio de contexto
n4.6.4 Objetos de sincronización
n4.6.5 Atoms y tablas atom
n4.6.6 Secuencia de inicialización de un proceso
n4.7 API
n4.8 FORMATO DE FICHERO PECOFF
n4.8.1 Generalidades
n4.8.2 Secciones de imagen
n4.8.3 Dynamically Linked Libraries
n4.8.4 Cabeceras de fichero
n4.8.5 Sección Table (cabeceras de sección)
n4.8.6 Sección DatA
n4.8.7 Sección .drectvE
n4.8.8 Sección .edatA
n4.8.9 Sección .idatA
n4.8.10 Sección .pdata
n4.8.11 Sección .reloc
n4.8.12 Sección .tls
n4.8.13 Sección .rsrc.
n4.8.14 Sección .cormeta
n4.8.15 Sección .sxdatA
n4.8.16 Cálculo del hash Authenticode de la imagen PE
n4.9 ENTRADA/SALIDA
n4.9.1 Generalidades
n4.9.2 El sistema de E/S
n4.9.3 Subsistema Win32.
n4.10 STRUCTURED EXCEPTION HANDLING.
nCAPÍTULO 5. VIRTUALIZACIÓN Y SANDBOXING
n5.1 VIRTUALIZACIÓN
n5.2 SANDBOXING.
nCAPÍTULO 6. CRIPTOLOGÍA
n6.1 INTRODUCCIÓN
n6.2 DEFINICIONES
n6.3 PRINCIPIOS DE LA CRIPTOGRAFÍA CLÁSICA
n6.4 PRINCIPIOS DE CRIPTOGRAFÍA MODERNA
n6.5 CRIPTOGRAFÍA DE CLAVE SIMÉTRICA
n6.6 CRIPTOGRAFÍA DE CLAVE ASIMÉTRICA
n6.7 CIFRADO HÍBRIDO
n6.8 ALGORITMOS RESUMEN (HASHING)
n6.9 ALGORITMOS DE LÓGICA DIFUSA (FUZZY HASHING) Y RESÚMENES DE SIMILITUD (SIMILARITY DIGESTS)
n6.10 EMPLEO DE CIFRADO Y OFUSCACIÓN POR EL MALWARE
n6.10.1 Generalidades
n6.10.2 Cifrado CésaR
n6.10.3 Codificación Base64.
n6.10.4 Codificación XOR
n6.10.5 Codificación mediante rotación
n6.10.6 Técnicas de cifrado del malware
n6.10.7 Técnicas de cifrado y codificación personalizadas
n6.10.8 Cifrado de ficheros y volúmenes
n6.11 PROTOCOLOS DE CIFRADO DE RED Y ANONIMIZACIÓN DE LAS COMUNICACIONES
nCAPÍTULO 7. VECTORES DE INFECCIÓN DE UN SISTEMA
n7.1 PROPAGACIÓN DEL MALWARE
n7.2 DISTRIBUCIÓN DE MALWARE A TRAVÉS DE LA WEB
nCAPÍTULO 8. CAPACIDADES DEL MALWARE
n8.1 VIRUS Y GUSANOS
n8.2 TROYANOS (TROJAN HORSES)
n8.3 ADWARE/SPYWARE
n8.4 SCAREWARE
n8.5 WIPER
n8.6 RANSOMWARE
n8.7 DOWNLOADERS Y LAUNCHERS
n8.8 PUERTAS TRASERAS (BACKDOORS)
n8.8.1 Reverse shell
n8.8.2 Windows Reverse Shell
n8.8.3 Herramienta de acceso remoto (RAT)
n8.8.4 Botnet.
n8.9 ROOTKITS
n8.10 MALWARE DE EXFILTRACIÓN DE INFORMACIÓN
n8.11 ROBO DE CREDENCIALES
n8.11.1 Interceptación GINA
n8.11.2 Volcado de hashes
n8.11.3 Registro de pulsaciones de teclado (keylogging)
n8.12 MALWARE A NIVEL BIOS/FIRMARE
nCAPÍTULO 9. COMPONENTES DEL MALWARE
n9.1 FUNCIONALIDAD MODULAR
n9.2 MALWARE DE MÚLTIPLES ETAPAS
n9.3 EXPLOIT KITS
nCAPÍTULO 10. MECANISMOS DE PERSISTENCIA DEL MALWARE
n10.1 INTRODUCCIÓN
n10.2 PERSISTENCIA EN LAS CARPETAS DE INICIO DE MICROSOFT WINDOWS
n10.3 PERSISTENCIA EN LAS TAREAS PROGRAMADAS
n10.4 PERSISTENCIA EN EL REGISTRO DE MICROSOFT WINDOWS
n10.4.1 AppInit_DLLs
n10.4.2 Valor Notify de Winlogon
n10.4.3 Librerías SvcHost
n10.5 TROYANIZACIÓN DE BINARIOS DEL SISTEMA
n10.6 SECUESTRO DEL ORDEN DE CARGA DE LAS LIBRERÍAS
n10.7 PERSISTENCIA EN MEMORIA DEL MALWARE
n10.7.1 Inyección de shellcode
n10.7.2 Inyección Reflexiva (Reflective DLL injection)
n10.7.3 Módulo de memoria (memory module)
n10.7.4 Process hollowing
n10.7.5 Process Doppelgänging
n10.7.6 Sobrescritura de módulo (module overwriting)
n10.7.7 Gárgola (gargoyle)
n10.8 FILELESS MALWARE
nCAPÍTULO 11. ESCALADA DE PRIVILEGIOS
n11.1 INTRODUCCIÓN
n11.2 AUTORIZACIÓN EN SISTEMAS MICROSOFT WINDOWS
n11.3 LOCALIZANDO EL OBJETO TOKEN
n11.4 SEDEBUGPRIVILEGE
nCAPÍTULO 12. TÉCNICAS DE OCULTACIÓN DE MALWARE
n12.1 TÉCNICAS EVASIVAS
n12.2 EMPAQUETADORES (PACKERS)
n12.3 CIFRADORES (CRYPTERS)
n12.4 PROTECTORES (PROTECTORS)
n12.5 INYECCIÓN DE CÓDIGO
n12.6 ROOTKITS
n12.7 API HOOKING.
n12.7.1 Generalidades
n12.7.2 SSDT hooking
n12.7.3 IRP hooking.
n12.7.4 IAT hooking.
n12.7.5 Inline hooking
n12.7.6 Hooking en controladores
n12.8 DKOM
n12.8.1 Generalidades
n12.8.2 Ocultación de procesos
n12.8.3 Ocultación de controladores del sistemA
n12.8.4 Elevación privilegio de token y de grupo con DKOM.
n12.9 TAXONOMÍA DE LOS ROOTKITS
n12.10 DETECCIÓN DE ROOTKITS
n12.10.1 Detección basada en firma (signature based detection)
n12.10.2 Detección basada en heurística/comportamiento (heuristic/behavioral detection)
n12.10.3 Detección basada en visión transversal (cross view based)
n12.10.4 Detección basada en integridad.
n12.10.5 Path profiling en tiempo de ejecución (runtime execution profiling)
n12.10.6 Detección manual de rootkits
nCAPÍTULO 13. IDENTIFICACIÓN Y EXTRACCIÓN DEL MALWARE
n13.1 INTRODUCCIÓN
n13.2 DETECCIÓN DE LA CONFIGURACIÓN
n13.3 MODELADO
n13.4 INDICADORES
n13.5 COMPORTAMIENTO DE LA AMENAZA .
n13.6 COMPARACIÓN DE LAS DIFERENTES APROXIMACIONES DE DETECCIÓN DE LA AMENAZA
n13.7 INDICADORES DE QUE SE HA PRODUCIDO UNA BRECHA DE SEGURIDAD
nCAPÍTULO 14. ETAPAS DEL ANÁLISIS DE MALWARE
n14.1 INTRODUCCIÓN
n14.2 ANÁLISIS COMPLETAMENTE AUTOMATIZADO
n14.3 ANÁLISIS ESTÁTICO DE PROPIEDADES
n14.4 ANÁLISIS INTERACTIVO DE COMPORTAMIENTO
n14.5 INGENIERÍA INVERSA MANUAL DEL CÓDIGO
n14.6 COMBINANDO LAS ETAPAS DE ANÁLISIS DE MALWARE
nCAPÍTULO 15. TÉCNICAS DE ANÁLISIS DE MALWARE
n15.1 INTRODUCCIÓN
n15.2 ANÁLISIS ESTÁTICO DE MALWARE
n15.3 ANÁLISIS DINÁMICO DE MALWARE
n15.4 ESTABLECIENDO UN ENTORNO DE ANÁLISIS DE MALWARE
nCAPÍTULO 16. TÉCNICAS BÁSICAS DE ANÁLISIS ESTÁTICO DE MALWARE
n16.1 EMPLEO DE HERRAMIENTAS ANTIVIRUS
n16.2 RESÚMENES COMO HUELLA DIGITAL DE MALWARE
n16.3 BÚSQUEDA DE CADENAS DE TEXTO
n16.4 BÚSQUEDA DE MUTEXES
n16.5 BÚSQUEDA DE PATRONES CON YARA
n16.6 IDENTIFICACIÓN DE LAS DEPENDENCIAS DE FICHEROS
n16.7 ATOMS Y TABLAS ATOM
n16.8 MALWARE EMPAQUETADO Y OFUSCADO
n16.9 BÚSQUEDA DE LA INFORMACIÓN DE PE
n16.10 DESENSAMBLADO DE CÓDIGO
nCAPÍTULO 17. TÉCNICAS BÁSICAS DE ANÁLISIS DINÁMICO DE MALWARE
n17.1 INTRODUCCIÓN
n17.2 MONITORIZACIÓN DE INSTALACIÓN DE APLICACIONES
n17.3 MONITORIZACIÓN DE PROCESOS
n17.4 MONITORIZACIÓN DE FICHEROS Y CARPETAS
n17.5 MONITORIZACIÓN DEL REGISTRO DE WINDOWS
n17.6 MONITORIZACIÓN DEL TRÁFICO DE RED DE LAS CAPAS DE RED Y TRANSPORTE
n17.7 MONITORIZACIÓN/RESOLUCIÓN DNS
n17.8 MONITORIZACIÓN DE TRÁFICO DE RED EN LA CAPA APLICACIÓN
n17.9 MONITORIZACIÓN DE LAS LLAMADAS A LA API DE MICROSOFT WINDOWS
n17.10 MONITORIZACIÓN DE CONTROLADORES DE DISPOSITIVOS
n17.11 MONITORIZACIÓN DE PROGRAMAS AL INICIARSE MICROSOFT WINDOWS
n17.12 MONITORIZACIÓN DE SERVICIOS EN MICROSOFT WINDOWS
nCAPÍTULO 18. INTERACCIÓN CON SITIOS WEB E INFRAESTRUCTURA MALICIOSA
n18.1 ANONIMIZACIÓN DE LAS COMUNICACIONES
n18.2 SISTEMAS Y HERRAMIENTAS DEL ANALISTA
nCAPÍTULO 19. ANÁLISIS DE DOCUMENTOS MALICIOSOS
n19.1 METODOLOGÍA GENERAL DE ANÁLISIS DE DOCUMENTOS
n19.2 ANÁLISIS DE SCRIPTS PARA POWERSHELL.
n19.2.1 Generalidades
n19.2.2 Análisis de comandos/scripts PowerShell.
n19.2.3 Utilización de los atacantes de PowerShell
n19.2.4 Weaponización de PowerShell
n19.3 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO DEPURADORES
n19.4 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO INTERPRETADORES388
n19.5 FICHEROS HTA
n19.6 ANÁLISIS DE DOCUMENTOS DE MICROSOFT OFFICE
n19.7 ANÁLISIS DE FICHEROS MSG
n19.8 ANÁLISIS DE DOCUMENTOS RTF
n19.9 ANÁLISIS DE DOCUMENTOS PDF
n19.10 ANÁLISIS DE SHELLCODE
nCAPÍTULO 20. TÉCNICAS AVANZADAS DE ANÁLISIS DINÁMICO DE MALWARE
n20.1 ANÁLISIS DE MALWARE EMPAQUETADO
n20.2 DEPURACIÓN DE CÓDIGO EMPAQUETADO
n20.3 ANÁLISIS DE MALWARE QUE UTILIZA MÚLTIPLES TECNOLOGÍAS
n20.4 ANÁLISIS FORENSE DEL CONTENIDO DE LA MEMORIA RAM
nCAPÍTULO 21. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIVIRTUALIZACIÓN
n21.1 INTRODUCCIÓN
n21.2 TÉCNICAS ANTIVIRTUALIZACIÓN
n21.2.1 Detección de entornos de virtualizacióN
n21.2.2 Artefactos de entornos de virtualización
n21.2.3 Instrucciones vulnerables
n21.2.4 Técnica antivirtualización Red Pill.
n21.2.5 Técnica antivirtualización No Pill
n21.2.6 Interrogación del puerto de comunicación I/O como técnica antivirtualización
n21.2.7 Instrucción STR como técnica antivirtualizacióN
n21.2.8 Otras técnicas antivirtualizacióN
n21.2.9 Técnicas de escape del entorno virtualizado
n21.3 MEDIDAS ANTI-ANTIDETECCIÓN DE ENTORNOS DE ANÁLISIS DEMALWARE
nCAPÍTULO 22. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIDESENSAMBLADO
n22.1 INTRODUCCIÓN
n22.2 ALGORITMOS DE DESENSAMBLADO
n22.2.1 Desensamblado lineal
n22.2.2 Desensamblado orientado a flujo
n22.3 TÉCNICAS ANTIDESENSAMBLADO
n22.3.1 Introducción
n22.3.2 Instrucciones de salto que apuntan al mismo objetivo
n22.3.3 Instrucción de salto con una condición de constantE
n22.3.4 Funciones de bifurcación
n22.3.5 Desensamblado imposiblE
n22.4 TÉCNICAS ANTIANÁLISIS DE LA PILA
nCAPÍTULO 23. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS DE OFUSCACIÓN DE FLUJO DE EJECUCIÓN
n23.1 INTRODUCCIÓN
n23.2 PUNTEROS A FUNCIONES
n23.3 EXPLOTACIÓN DE LA INSTRUCCIÓN CALL
n23.4 EXPLOTACIÓN DEL PUNTERO DE RETORNO
n23.5 EXPLOTACIÓN DE SEH
nCAPÍTULO 24. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS ANTIDEPURACIÓN
n24.1 INTRODUCCIÓN
n24.2 DETECCIÓN DE ENTORNOS DE DEPURACIÓN
n24.3 TÉCNICAS BASADAS EN LLAMADAS A LA API DE MICROSOFT WINDOWS
n24.3.1 Introducción
n24.3.2 Comprobación manual de la bandera BeingDebugged.
n24.3.3 Comprobación de la bandera ProcessHeap
n24.3.4 Comprobación de la bandera NtGlobalFlag.
n24.3.5 Comprobación de rastros de depuración en el sistemA
n24.3.6 Otras medidas anti-antidepuracióN
n24.4 IDENTIFICANDO EL COMPORTAMIENTO DEL DEPURADOR
n24.4.1 Introducción
n24.4.2 INT scanning
n24.4.3 Cálculo de checksums del código
n24.4.4 Comprobaciones de paso del tiempo
n24.4.5 Empleo de la Instrucción RDTSC
n24.4.6 Empleo de las funciones QueryPerformanceCounter y GetTickCount.
n24.5 INTERFIRIENDO EL FUNCIONAMIENTO DEL DEPURADOR
n24.5.1 Introducción
n24.5.2 TLS callbacks
n24.5.3 Empleo de excepciones
n24.5.4 Inserción de interrupciones
n24.5.5 Inserción de la interrupción INT 3
n24.5.6 Inserción de la interrupción INT 2D.
n24.5.7 Inserción de ICE
n24.6 VULNERABILIDADES EXISTENTES EN LOS DEPURADORES
nCAPÍTULO 25. ANALIZANDO MUESTRAS
nPROGRAMADAS EN .NET
n25.1 INTRODUCCIÓN
n25.2 INTRODUCCIÓN A .NET.
n25.2.1 Generalidades
n25.2.2 Código gestionado
n25.2.3 Lenguajes de programación .NET
n25.2.4 CTS
n25.3 EL LENGUAJE IL
n25.3.1 Pila de evaluación
n25.3.2 Registros de activacióN
n25.3.3 Instrucciones IL
n25.4 ENSAMBLADOS .NET
n25.5 DECOMPILADORES
n25.6 PROTECCIÓN DE CÓDIGO EN .NET
n25.7 OFUSCADORES EN .NET.
n25.8 EMPAQUETADORES EN .NET
n25.8.1 Renombramiento de símbolos
n25.8.2 Ocultación de código CIL
n25.8.3 Técnicas exclusivas de .NET.
n25.9 ANÁLISIS DE MUESTRAS MALICIOSAS EN .NET.
n25.10 INGENIERÍA INVERSA DE CÓDIGO OFUSCADO
n25.10.1 API
n25.10.2 Cadenas de usuario
n25.10.3 LoadAssembly.
nCAPÍTULO 26. COMPRENDIENDO LOS CIBERATAQUES
n26.1 AGENTES DE LA AMENAZA
n26.1.1 Cibercriminales
n26.1.2 Hacktivistas
n26.1.3 Atacantes con apoyo estatal.
n26.1.4 La amenaza interna (insider threat)
n26.1.5 Otras posibles clasificaciones
n26.2 CATEGORIZACIÓN DE LA CIBERAMENAZA
n26.3 DEFENSA DE RED BASADA EN INTELIGENCIA
n26.4 PASOS PARA LA EJECUCIÓN DE UN CIBERATAQUE (CYBER KILL CHAIN)
n26.4.1 Reconocimiento (Reconnaissance)
n26.4.2 Preparación de la operación (Weaponize)
n26.4.3 Envío (Deliver)
n26.4.4 Explotación (Exploit)
n26.4.5 Instalación en la víctima (Installation)
n26.4.6 Control remoto del malware (Command and Control)
n26.4.7 Acciones sobre los objetivos (Actions on objectives)
n26.5 CURSOS DE ACCIÓN
n26.6 RECONSTRUCCIÓN DE UNA INTRUSIÓN
n26.7 ANÁLISIS DE CAMPAÑA
n26.8 MODELO EN DIAMANTE DE ANÁLISIS DE INTRUSIÓN
n26.9 MODELO ATT&CK FOR ENTERPRISE
n26.10 MODELO DE FIREEYE PARA EL CICLO DE VIDA DE UN CIBERATAQUE
n
n
9788499647661
Guerra Soto, Mario
Valoraciones
No hay valoraciones aún.