Envíos gratis en compras superiores a $80.000
Inicio/Profesional/TICs y Computación/Seguridad informática/Análisis de Malware para Sistemas Windows

Análisis de Malware para Sistemas Windows

$63.667

  • Envío gratis en compras superiores a $80.000
  • Autor: Mario Guerra Soto

    Páginas: 554

    Editorial: Alfaomega – Ra-ma

    ISBN: 9788499647661 Categorías: , Etiquetas: ,

    Descripción

    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.

    Esta 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.
    El 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:
    • Analizar, caracterizar y contextualizar muestras maliciosas.
    • Determinar el alcance del incidente.
    • Eliminar los artifacts maliciosos del sistema infectado.
    • Contribuir a la mejora de las defensas y elevar el nivel de resiliciencia del sistema.
    • Fortalecer su capacidad para gestionar ciberincidentes relacionados con malware.
    Dado 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.

    ÍNDICE DE CONTENIDO

    ÍNDICE
    ACERCA DEL AUTOR
    PRÓLOGO
    CAPÍTULO 1. INTRODUCCIÓN
    CAPÍTULO 2. MOTIVOS PARA REALIZAR UN ANÁLISIS DE MALWARE
    CAPÍTULO 3. INGENIERÍA INVERSA DE SOFTWARE
    3.1 INTRODUCCIÓN
    3.2 FUNDAMENTOS DE PROGRAMACIÓN
    3.2.1 Código fuente
    3.2.2 Código máquina
    3.2.3 Código ensamblador
    3.2.4 Entornos de ejecución de software y bytecodes
    3.2.5 Construcciones básicas de código
    3.2.6 Herencia
    3.2.7 Variables
    3.2.8 Estructuras de datos
    3.2.9 Listas
    3.2.10 Control de flujo
    3.3 ARQUITECTURA X86
    3.3.1 Tipos de datos
    3.3.2 Registros
    3.3.3 Memoria
    3.3.4 Representación complemento a dos
    3.3.5 Formato de instrucciones
    3.3.6 Modos de direccionamiento
    3.3.7 Interrupciones
    3.3.8 Funciones (functions)
    3.3.9 Módulos (modules)
    3.3.10 La pila (stack)
    3.3.11 El heap.
    3.3.12 Secciones de datos ejecutables
    3.3.13 Modos de operación de los procesadores
    3.3.14 Instrucciones en ensamblador x86
    3.3.15 Control de flujo en ensambladoR
    3.4 ANÁLISIS DE CÓDIGO DE 64 BITS
    3.4.1 Introducción
    3.4.2 Registros de propósito general en x86 de 64 bits
    3.4.3 Convención de llamadas a funciones
    3.4.4 Modos de direccionamiento
    3.4.5 Instrucciones x64
    3.4.6 Transferencia de datos en x64
    CAPÍTULO 4. FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS MICROSOFT WINDOWS
    4.1 BREVE HISTORIA
    4.2 CARACTERÍSTICAS DE WINDOWS NT
    4.3 COMPATIBILIDAD HARDWARE
    4.4 GESTIÓN DE MEMORIA
    4.4.1 Direccionamiento virtual de memoria
    4.4.2 Memoria de kernel y memoria de usuario
    4.4.3 Objetos de seccióN
    4.4.4 Árboles VAD
    4.4.5 Asignaciones en modo usuario
    4.4.6 Símbolos
    4.4.7 Funciones de la API para la gestión de memoria
    4.5 OBJETOS Y HANDLES
    4.5.1 Generalidades
    4.5.2 Objetos con nombre (named objects)
    4.6 PROCESOS E HILOS
    4.6.1 Procesos
    4.6.2 Hilos
    4.6.3 Cambio de contexto
    4.6.4 Objetos de sincronización
    4.6.5 Atoms y tablas atom
    4.6.6 Secuencia de inicialización de un proceso
    4.7 API
    4.8 FORMATO DE FICHERO PECOFF
    4.8.1 Generalidades
    4.8.2 Secciones de imagen
    4.8.3 Dynamically Linked Libraries
    4.8.4 Cabeceras de fichero
    4.8.5 Sección Table (cabeceras de sección)
    4.8.6 Sección DatA
    4.8.7 Sección .drectvE
    4.8.8 Sección .edatA
    4.8.9 Sección .idatA
    4.8.10 Sección .pdata
    4.8.11 Sección .reloc
    4.8.12 Sección .tls
    4.8.13 Sección .rsrc.
    4.8.14 Sección .cormeta
    4.8.15 Sección .sxdatA
    4.8.16 Cálculo del hash Authenticode de la imagen PE
    4.9 ENTRADA/SALIDA
    4.9.1 Generalidades
    4.9.2 El sistema de E/S
    4.9.3 Subsistema Win32.
    4.10 STRUCTURED EXCEPTION HANDLING.
    CAPÍTULO 5. VIRTUALIZACIÓN Y SANDBOXING
    5.1 VIRTUALIZACIÓN
    5.2 SANDBOXING.
    CAPÍTULO 6. CRIPTOLOGÍA
    6.1 INTRODUCCIÓN
    6.2 DEFINICIONES
    6.3 PRINCIPIOS DE LA CRIPTOGRAFÍA CLÁSICA
    6.4 PRINCIPIOS DE CRIPTOGRAFÍA MODERNA
    6.5 CRIPTOGRAFÍA DE CLAVE SIMÉTRICA
    6.6 CRIPTOGRAFÍA DE CLAVE ASIMÉTRICA
    6.7 CIFRADO HÍBRIDO
    6.8 ALGORITMOS RESUMEN (HASHING)
    6.9 ALGORITMOS DE LÓGICA DIFUSA (FUZZY HASHING) Y RESÚMENES DE SIMILITUD (SIMILARITY DIGESTS)
    6.10 EMPLEO DE CIFRADO Y OFUSCACIÓN POR EL MALWARE
    6.10.1 Generalidades
    6.10.2 Cifrado CésaR
    6.10.3 Codificación Base64.
    6.10.4 Codificación XOR
    6.10.5 Codificación mediante rotación
    6.10.6 Técnicas de cifrado del malware
    6.10.7 Técnicas de cifrado y codificación personalizadas
    6.10.8 Cifrado de ficheros y volúmenes
    6.11 PROTOCOLOS DE CIFRADO DE RED Y ANONIMIZACIÓN DE LAS COMUNICACIONES
    CAPÍTULO 7. VECTORES DE INFECCIÓN DE UN SISTEMA
    7.1 PROPAGACIÓN DEL MALWARE
    7.2 DISTRIBUCIÓN DE MALWARE A TRAVÉS DE LA WEB
    CAPÍTULO 8. CAPACIDADES DEL MALWARE
    8.1 VIRUS Y GUSANOS
    8.2 TROYANOS (TROJAN HORSES)
    8.3 ADWARE/SPYWARE
    8.4 SCAREWARE
    8.5 WIPER
    8.6 RANSOMWARE
    8.7 DOWNLOADERS Y LAUNCHERS
    8.8 PUERTAS TRASERAS (BACKDOORS)
    8.8.1 Reverse shell
    8.8.2 Windows Reverse Shell
    8.8.3 Herramienta de acceso remoto (RAT)
    8.8.4 Botnet.
    8.9 ROOTKITS
    8.10 MALWARE DE EXFILTRACIÓN DE INFORMACIÓN
    8.11 ROBO DE CREDENCIALES
    8.11.1 Interceptación GINA
    8.11.2 Volcado de hashes
    8.11.3 Registro de pulsaciones de teclado (keylogging)
    8.12 MALWARE A NIVEL BIOS/FIRMARE
    CAPÍTULO 9. COMPONENTES DEL MALWARE
    9.1 FUNCIONALIDAD MODULAR
    9.2 MALWARE DE MÚLTIPLES ETAPAS
    9.3 EXPLOIT KITS
    CAPÍTULO 10. MECANISMOS DE PERSISTENCIA DEL MALWARE
    10.1 INTRODUCCIÓN
    10.2 PERSISTENCIA EN LAS CARPETAS DE INICIO DE MICROSOFT WINDOWS
    10.3 PERSISTENCIA EN LAS TAREAS PROGRAMADAS
    10.4 PERSISTENCIA EN EL REGISTRO DE MICROSOFT WINDOWS
    10.4.1 AppInit_DLLs
    10.4.2 Valor Notify de Winlogon
    10.4.3 Librerías SvcHost
    10.5 TROYANIZACIÓN DE BINARIOS DEL SISTEMA
    10.6 SECUESTRO DEL ORDEN DE CARGA DE LAS LIBRERÍAS
    10.7 PERSISTENCIA EN MEMORIA DEL MALWARE
    10.7.1 Inyección de shellcode
    10.7.2 Inyección Reflexiva (Reflective DLL injection)
    10.7.3 Módulo de memoria (memory module)
    10.7.4 Process hollowing
    10.7.5 Process Doppelgänging
    10.7.6 Sobrescritura de módulo (module overwriting)
    10.7.7 Gárgola (gargoyle)
    10.8 FILELESS MALWARE
    CAPÍTULO 11. ESCALADA DE PRIVILEGIOS
    11.1 INTRODUCCIÓN
    11.2 AUTORIZACIÓN EN SISTEMAS MICROSOFT WINDOWS
    11.3 LOCALIZANDO EL OBJETO TOKEN
    11.4 SEDEBUGPRIVILEGE
    CAPÍTULO 12. TÉCNICAS DE OCULTACIÓN DE MALWARE
    12.1 TÉCNICAS EVASIVAS
    12.2 EMPAQUETADORES (PACKERS)
    12.3 CIFRADORES (CRYPTERS)
    12.4 PROTECTORES (PROTECTORS)
    12.5 INYECCIÓN DE CÓDIGO
    12.6 ROOTKITS
    12.7 API HOOKING.
    12.7.1 Generalidades
    12.7.2 SSDT hooking
    12.7.3 IRP hooking.
    12.7.4 IAT hooking.
    12.7.5 Inline hooking
    12.7.6 Hooking en controladores
    12.8 DKOM
    12.8.1 Generalidades
    12.8.2 Ocultación de procesos
    12.8.3 Ocultación de controladores del sistemA
    12.8.4 Elevación privilegio de token y de grupo con DKOM.
    12.9 TAXONOMÍA DE LOS ROOTKITS
    12.10 DETECCIÓN DE ROOTKITS
    12.10.1 Detección basada en firma (signature based detection)
    12.10.2 Detección basada en heurística/comportamiento (heuristic/behavioral detection)
    12.10.3 Detección basada en visión transversal (cross view based)
    12.10.4 Detección basada en integridad.
    12.10.5 Path profiling en tiempo de ejecución (runtime execution profiling)
    12.10.6 Detección manual de rootkits
    CAPÍTULO 13. IDENTIFICACIÓN Y EXTRACCIÓN DEL MALWARE
    13.1 INTRODUCCIÓN
    13.2 DETECCIÓN DE LA CONFIGURACIÓN
    13.3 MODELADO
    13.4 INDICADORES
    13.5 COMPORTAMIENTO DE LA AMENAZA .
    13.6 COMPARACIÓN DE LAS DIFERENTES APROXIMACIONES DE DETECCIÓN DE LA AMENAZA
    13.7 INDICADORES DE QUE SE HA PRODUCIDO UNA BRECHA DE SEGURIDAD
    CAPÍTULO 14. ETAPAS DEL ANÁLISIS DE MALWARE
    14.1 INTRODUCCIÓN
    14.2 ANÁLISIS COMPLETAMENTE AUTOMATIZADO
    14.3 ANÁLISIS ESTÁTICO DE PROPIEDADES
    14.4 ANÁLISIS INTERACTIVO DE COMPORTAMIENTO
    14.5 INGENIERÍA INVERSA MANUAL DEL CÓDIGO
    14.6 COMBINANDO LAS ETAPAS DE ANÁLISIS DE MALWARE
    CAPÍTULO 15. TÉCNICAS DE ANÁLISIS DE MALWARE
    15.1 INTRODUCCIÓN
    15.2 ANÁLISIS ESTÁTICO DE MALWARE
    15.3 ANÁLISIS DINÁMICO DE MALWARE
    15.4 ESTABLECIENDO UN ENTORNO DE ANÁLISIS DE MALWARE
    CAPÍTULO 16. TÉCNICAS BÁSICAS DE ANÁLISIS ESTÁTICO DE MALWARE
    16.1 EMPLEO DE HERRAMIENTAS ANTIVIRUS
    16.2 RESÚMENES COMO HUELLA DIGITAL DE MALWARE
    16.3 BÚSQUEDA DE CADENAS DE TEXTO
    16.4 BÚSQUEDA DE MUTEXES
    16.5 BÚSQUEDA DE PATRONES CON YARA
    16.6 IDENTIFICACIÓN DE LAS DEPENDENCIAS DE FICHEROS
    16.7 ATOMS Y TABLAS ATOM
    16.8 MALWARE EMPAQUETADO Y OFUSCADO
    16.9 BÚSQUEDA DE LA INFORMACIÓN DE PE
    16.10 DESENSAMBLADO DE CÓDIGO
    CAPÍTULO 17. TÉCNICAS BÁSICAS DE ANÁLISIS DINÁMICO DE MALWARE
    17.1 INTRODUCCIÓN
    17.2 MONITORIZACIÓN DE INSTALACIÓN DE APLICACIONES
    17.3 MONITORIZACIÓN DE PROCESOS
    17.4 MONITORIZACIÓN DE FICHEROS Y CARPETAS
    17.5 MONITORIZACIÓN DEL REGISTRO DE WINDOWS
    17.6 MONITORIZACIÓN DEL TRÁFICO DE RED DE LAS CAPAS DE RED Y TRANSPORTE
    17.7 MONITORIZACIÓN/RESOLUCIÓN DNS
    17.8 MONITORIZACIÓN DE TRÁFICO DE RED EN LA CAPA APLICACIÓN
    17.9 MONITORIZACIÓN DE LAS LLAMADAS A LA API DE MICROSOFT WINDOWS
    17.10 MONITORIZACIÓN DE CONTROLADORES DE DISPOSITIVOS
    17.11 MONITORIZACIÓN DE PROGRAMAS AL INICIARSE MICROSOFT WINDOWS
    17.12 MONITORIZACIÓN DE SERVICIOS EN MICROSOFT WINDOWS
    CAPÍTULO 18. INTERACCIÓN CON SITIOS WEB E INFRAESTRUCTURA MALICIOSA
    18.1 ANONIMIZACIÓN DE LAS COMUNICACIONES
    18.2 SISTEMAS Y HERRAMIENTAS DEL ANALISTA
    CAPÍTULO 19. ANÁLISIS DE DOCUMENTOS MALICIOSOS
    19.1 METODOLOGÍA GENERAL DE ANÁLISIS DE DOCUMENTOS
    19.2 ANÁLISIS DE SCRIPTS PARA POWERSHELL.
    19.2.1 Generalidades
    19.2.2 Análisis de comandos/scripts PowerShell.
    19.2.3 Utilización de los atacantes de PowerShell
    19.2.4 Weaponización de PowerShell
    19.3 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO DEPURADORES
    19.4 DESOFUSCACIÓN DE SCRIPTS UTILIZANDO INTERPRETADORES388
    19.5 FICHEROS HTA
    19.6 ANÁLISIS DE DOCUMENTOS DE MICROSOFT OFFICE
    19.7 ANÁLISIS DE FICHEROS MSG
    19.8 ANÁLISIS DE DOCUMENTOS RTF
    19.9 ANÁLISIS DE DOCUMENTOS PDF
    19.10 ANÁLISIS DE SHELLCODE
    CAPÍTULO 20. TÉCNICAS AVANZADAS DE ANÁLISIS DINÁMICO DE MALWARE
    20.1 ANÁLISIS DE MALWARE EMPAQUETADO
    20.2 DEPURACIÓN DE CÓDIGO EMPAQUETADO
    20.3 ANÁLISIS DE MALWARE QUE UTILIZA MÚLTIPLES TECNOLOGÍAS
    20.4 ANÁLISIS FORENSE DEL CONTENIDO DE LA MEMORIA RAM
    CAPÍTULO 21. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIVIRTUALIZACIÓN
    21.1 INTRODUCCIÓN
    21.2 TÉCNICAS ANTIVIRTUALIZACIÓN
    21.2.1 Detección de entornos de virtualizacióN
    21.2.2 Artefactos de entornos de virtualización
    21.2.3 Instrucciones vulnerables
    21.2.4 Técnica antivirtualización Red Pill.
    21.2.5 Técnica antivirtualización No Pill
    21.2.6 Interrogación del puerto de comunicación I/O como técnica antivirtualización
    21.2.7 Instrucción STR como técnica antivirtualizacióN
    21.2.8 Otras técnicas antivirtualizacióN
    21.2.9 Técnicas de escape del entorno virtualizado
    21.3 MEDIDAS ANTI-ANTIDETECCIÓN DE ENTORNOS DE ANÁLISIS DEMALWARE
    CAPÍTULO 22. ANÁLISIS DE MALWARE QUE INCORPORA TÉCNICAS ANTIDESENSAMBLADO
    22.1 INTRODUCCIÓN
    22.2 ALGORITMOS DE DESENSAMBLADO
    22.2.1 Desensamblado lineal
    22.2.2 Desensamblado orientado a flujo
    22.3 TÉCNICAS ANTIDESENSAMBLADO
    22.3.1 Introducción
    22.3.2 Instrucciones de salto que apuntan al mismo objetivo
    22.3.3 Instrucción de salto con una condición de constantE
    22.3.4 Funciones de bifurcación
    22.3.5 Desensamblado imposiblE
    22.4 TÉCNICAS ANTIANÁLISIS DE LA PILA
    CAPÍTULO 23. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS DE OFUSCACIÓN DE FLUJO DE EJECUCIÓN
    23.1 INTRODUCCIÓN
    23.2 PUNTEROS A FUNCIONES
    23.3 EXPLOTACIÓN DE LA INSTRUCCIÓN CALL
    23.4 EXPLOTACIÓN DEL PUNTERO DE RETORNO
    23.5 EXPLOTACIÓN DE SEH
    CAPÍTULO 24. ANÁLISIS DE MALWARE QUE IMPLEMENTA TÉCNICAS ANTIDEPURACIÓN
    24.1 INTRODUCCIÓN
    24.2 DETECCIÓN DE ENTORNOS DE DEPURACIÓN
    24.3 TÉCNICAS BASADAS EN LLAMADAS A LA API DE MICROSOFT WINDOWS
    24.3.1 Introducción
    24.3.2 Comprobación manual de la bandera BeingDebugged.
    24.3.3 Comprobación de la bandera ProcessHeap
    24.3.4 Comprobación de la bandera NtGlobalFlag.
    24.3.5 Comprobación de rastros de depuración en el sistemA
    24.3.6 Otras medidas anti-antidepuracióN
    24.4 IDENTIFICANDO EL COMPORTAMIENTO DEL DEPURADOR
    24.4.1 Introducción
    24.4.2 INT scanning
    24.4.3 Cálculo de checksums del código
    24.4.4 Comprobaciones de paso del tiempo
    24.4.5 Empleo de la Instrucción RDTSC
    24.4.6 Empleo de las funciones QueryPerformanceCounter y GetTickCount.
    24.5 INTERFIRIENDO EL FUNCIONAMIENTO DEL DEPURADOR
    24.5.1 Introducción
    24.5.2 TLS callbacks
    24.5.3 Empleo de excepciones
    24.5.4 Inserción de interrupciones
    24.5.5 Inserción de la interrupción INT 3
    24.5.6 Inserción de la interrupción INT 2D.
    24.5.7 Inserción de ICE
    24.6 VULNERABILIDADES EXISTENTES EN LOS DEPURADORES
    CAPÍTULO 25. ANALIZANDO MUESTRAS
    PROGRAMADAS EN .NET
    25.1 INTRODUCCIÓN
    25.2 INTRODUCCIÓN A .NET.
    25.2.1 Generalidades
    25.2.2 Código gestionado
    25.2.3 Lenguajes de programación .NET
    25.2.4 CTS
    25.3 EL LENGUAJE IL
    25.3.1 Pila de evaluación
    25.3.2 Registros de activacióN
    25.3.3 Instrucciones IL
    25.4 ENSAMBLADOS .NET
    25.5 DECOMPILADORES
    25.6 PROTECCIÓN DE CÓDIGO EN .NET
    25.7 OFUSCADORES EN .NET.
    25.8 EMPAQUETADORES EN .NET
    25.8.1 Renombramiento de símbolos
    25.8.2 Ocultación de código CIL
    25.8.3 Técnicas exclusivas de .NET.
    25.9 ANÁLISIS DE MUESTRAS MALICIOSAS EN .NET.
    25.10 INGENIERÍA INVERSA DE CÓDIGO OFUSCADO
    25.10.1 API
    25.10.2 Cadenas de usuario
    25.10.3 LoadAssembly.
    CAPÍTULO 26. COMPRENDIENDO LOS CIBERATAQUES
    26.1 AGENTES DE LA AMENAZA
    26.1.1 Cibercriminales
    26.1.2 Hacktivistas
    26.1.3 Atacantes con apoyo estatal.
    26.1.4 La amenaza interna (insider threat)
    26.1.5 Otras posibles clasificaciones
    26.2 CATEGORIZACIÓN DE LA CIBERAMENAZA
    26.3 DEFENSA DE RED BASADA EN INTELIGENCIA
    26.4 PASOS PARA LA EJECUCIÓN DE UN CIBERATAQUE (CYBER KILL CHAIN)
    26.4.1 Reconocimiento (Reconnaissance)
    26.4.2 Preparación de la operación (Weaponize)
    26.4.3 Envío (Deliver)
    26.4.4 Explotación (Exploit)
    26.4.5 Instalación en la víctima (Installation)
    26.4.6 Control remoto del malware (Command and Control)
    26.4.7 Acciones sobre los objetivos (Actions on objectives)
    26.5 CURSOS DE ACCIÓN
    26.6 RECONSTRUCCIÓN DE UNA INTRUSIÓN
    26.7 ANÁLISIS DE CAMPAÑA
    26.8 MODELO EN DIAMANTE DE ANÁLISIS DE INTRUSIÓN
    26.9 MODELO ATT&CK FOR ENTERPRISE
    26.10 MODELO DE FIREEYE PARA EL CICLO DE VIDA DE UN CIBERATAQUE

    Ir a Arriba