Parte: 6 — Análisis de malware · Fuente: Learning Malware Analysis (Monnappa K. A.) ⏱️ Duración estimada: 120 min · Nivel: Intermedio
Observar el malware en ejecución dentro del laboratorio aislado para registrar qué hace: procesos que crea, archivos y claves de registro que toca, y tráfico de red que genera. El alumno aprenderá a instrumentar el sistema, detonar la muestra de forma controlada y extraer IOCs de comportamiento, además de aprovechar sandboxes automatizados.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Baseline y snapshot previo | Permite comparar antes/después |
| 2 | Process Monitor / Process Hacker | Ve procesos, hilos, handles en vivo |
| 3 | Regshot y comparación de estado | Detecta cambios en disco y registro |
| 4 | Captura de red (Wireshark + INetSim) | Revela C2, dominios, patrones |
| 5 | Mutex y marcadores de infección | Evitan doble infección; buen IOC |
| 6 | Sandboxes automatizados | Escalan el triaje |
| 7 | Anti-análisis dinámico | El malware puede detectar y evadir |
El análisis dinámico básico ejecuta la muestra en el laboratorio aislado (clase 142) y observa su comportamiento: qué ficheros crea, qué claves de registro toca, qué procesos lanza, con qué servidores intenta comunicarse. Su ventaja sobre el estático es directa: muestra lo que el malware hace de verdad, atravesando el packing y la ofuscación que ocultan el código —un binario empaquetado no revela sus strings al análisis estático, pero al ejecutarse actúa, y esa acción se puede observar—. Su límite: solo se ve lo que ocurre en esa ejecución (el malware puede tener ramas que no se activan sin cierta fecha, cierto argumento o cierta respuesta del C2), y hay riesgo real, de ahí el aislamiento.
La técnica central del análisis dinámico es la comparación de estado: capturar una línea base (baseline) del sistema limpio, detonar la muestra, y capturar el estado después para ver qué cambió. Este diferencial es lo que aísla la actividad del malware del ruido normal del sistema.
Cuatro herramientas cubren la observación básica. Process Monitor (ProcMon, de Sysinternals) es el caballo de batalla: registra en tiempo real cada operación de ficheros, registro, procesos y red que hace el sistema, con filtros para aislar la actividad de la muestra —muestra exactamente qué ficheros crea, qué claves de registro escribe (¿persistencia?), qué procesos lanza—. Process Hacker (o Process Explorer) muestra el árbol de procesos en vivo: qué proceso creó a cuál, con qué privilegios corre cada uno, qué hay en su memoria y qué handles tiene abiertos —clave para ver inyección de código y procesos hijos—. Regshot implementa el baseline de registro: toma una foto del registro antes, otra después, y muestra el diff —las claves que el malware añadió o modificó, a menudo su mecanismo de persistencia—. Y para la red, Wireshark captura el tráfico mientras INetSim (clase 142) responde fingiendo ser Internet, revelando a qué dominios/IPs intenta conectar el malware y qué protocolo usa, sin dar acceso real.
El análisis dinámico busca artefactos concretos que son a la vez comprensión y IOCs. El mutex (mutant) es uno especialmente útil: mucho malware crea un mutex con un nombre fijo al infectar, para no infectar dos veces la misma máquina —comprobar si ya existe le dice "aquí ya estoy"—; ese nombre de mutex es un IOC excelente (identifica la familia) y a la vez una vía de "vacunación" (crear el mutex previamente engaña al malware para que crea que ya infectó y no actúe). Otros artefactos: los ficheros creados, las claves de persistencia, los dominios de C2. Todo este proceso manual se puede automatizar con sandboxes (Cuckoo/CAPE, Any.Run, Joe Sandbox, Hybrid Analysis): detonan la muestra en un entorno instrumentado y generan un informe automático de comportamiento en minutos —rápido para triaje de volumen—. Su límite es el mismo enemigo de la clase 142: el anti-análisis dinámico, malware que detecta el sandbox (por su entorno artificial, la ausencia de interacción humana, el tiempo acelerado) y se comporta de forma inocua para engañarlo. Por eso el análisis dinámico manual —más lento pero controlable— sigue siendo indispensable, y el analista experto combina el sandbox automático para triar con la observación manual para los casos que importan y para el malware que evade la automatización.
| Término | Definición concisa |
|---|---|
| Análisis dinámico | Ejecutar la muestra y observar su comportamiento |
| Baseline | Estado del sistema limpio para comparar |
| Comparación de estado | Diferencial antes/después que aísla la actividad |
| Process Monitor (ProcMon) | Registra operaciones de ficheros, registro, procesos, red |
| Process Hacker | Muestra el árbol de procesos, memoria y handles |
| Regshot | Diff del registro antes y después |
| Wireshark + INetSim | Captura de red con Internet simulado |
| Artefacto | Cambio observable que sirve de comprensión e IOC |
| Mutex | Marcador que el malware crea para no reinfectar |
| Vacunación | Crear el mutex para engañar al malware |
| Persistencia | Mecanismo para sobrevivir al reinicio |
| Sandbox automático | Entorno que genera un informe de comportamiento |
| Cuckoo / CAPE / Any.Run | Sandboxes de análisis de malware |
| Anti-análisis dinámico | Malware que detecta el sandbox y se inhibe |
⚠️ Nota ética y de seguridad: detonar malware real solo se hace en la VM aislada sin salida a Internet, con snapshot previo y restauración posterior. Nunca subas muestras confidenciales a sandboxes públicos sin autorización, pues quedan expuestas a terceros. Restaura
base-cleandespués de cada ejecución.
base-clean. Verifica que el aislamiento de red sigue activo y que INetSim responde.labnet, y toma un Regshot inicial.Run, servicios o tareas programadas nuevas.Operation is RegSetValue y por CreateFile para localizar persistencia y drops. Anota rutas y claves.base-clean.Entrega un informe de comportamiento de una muestra con: árbol de procesos, persistencia (clave/servicio/tarea), archivos creados, mutex e IOCs de red, todo respaldado por capturas. Criterio de aceptación: cada IOC listado aparece en una evidencia (ProcMon/Regshot/Wireshark) referenciada, y el informe indica cómo se detectaría y eliminaría la persistencia.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| La muestra "no hace nada" | Detecta VM o espera C2; usa servicios simulados y desactiva artefactos de VM |
| ProcMon con ruido inmanejable | Aplica filtros por proceso y operación antes de detonar |
| Sin tráfico en Wireshark | Interfaz equivocada o INetSim caído; captura en labnet |
| Persistencia no encontrada | Revisa Autoruns además de las claves Run; hay decenas de ASEPs |
| Reinfección al repetir | No restauraste snapshot; vuelve a base-clean |
❓ ¿Análisis dinámico reemplaza al estático? No, se complementan. El dinámico ve comportamiento real pero puede no cubrir ramas condicionadas por fecha o C2.
❓ ¿Puedo confiar en un sandbox online? Es rápido pero público: no subas muestras sensibles. Además el malware puede detectar sandboxes conocidos y no ejecutar la carga.
❓ ¿Qué hago si necesita Internet real? Simula el C2 con INetSim/redirección, o replica el servidor. Nunca des salida real a la muestra desde el lab.
Clase 143 — Análisis estático básico