Saltearse al contenido

Análisis dinámico de malware

El análisis dinámico consiste en ejecutar la muestra en un entorno controlado y observar su comportamiento real: qué procesos crea, qué toca en el disco y el registro, qué conexiones de red intenta, qué persistencia instala. Revela lo que el estático no ve (código cifrado/empacado, lógica dependiente de la entrada), pero ejecuta código peligroso, así que el aislamiento es absoluto. Es la aplicación del reversing dinámico (ver Análisis dinámico) al análisis de malware.

# VM dedicada, con snapshot limpio, SIN acceso a tu red real
# red simulada para capturar lo que el malware intenta contactar:
INetSim / FakeNet-NG fingen DNS/HTTP/HTTPS/etc. -> ves los dominios/URLs C2 sin exponerte
# distros preparadas: REMnux (análisis) + una VM víctima Windows (FLARE VM)
# OJO: muchos malwares detectan VM/sandbox y no se ejecutan (ver mal-evasion)
# -> VMs "endurecidas" para parecer reales, o bare-metal para muestras evasivas

Regla de oro: snapshot limpio antes de cada ejecución, red aislada/simulada, y nunca el lab conectado a tu red o a Internet sin control.

# procesos y actividad del sistema (Windows)
Process Monitor (ProcMon) TODA la actividad: ficheros, registro, procesos, red
Process Hacker / Explorer árbol de procesos, inyecciones, handles, strings en memoria
Autoruns persistencia instalada (ver mal-persist)
Regshot diff del registro/FS antes y después
# red
Wireshark / tcpdump tráfico generado (C2, descargas) (ver net-sniffing)
FakeNet/INetSim logs qué dominios/IPs/URLs contactó
# resumen automatizado
sandboxes: Cuckoo/CAPE, ANY.RUN, Joe Sandbox, Hybrid Analysis

CAPE/Cuckoo y las sandboxes online (ANY.RUN interactiva) automatizan todo esto: ejecutan la muestra y generan un informe de comportamiento + IOCs.

# ejecución y despliegue
- se copia a otra ruta, se renombra, lanza procesos hijos
- inyección en procesos legítimos (explorer.exe, svchost...) -> ocultarse
# persistencia (ver mal-persist)
- claves Run, tareas programadas, servicios, carpetas de inicio
# red / C2 (ver mal-c2)
- resolución de dominios (a veces DGA), beacons HTTP/HTTPS/DNS, descargas de 2ª fase
# acciones
- cifrado masivo de ficheros (ransomware, ver mal-ransomware)
- robo de credenciales/navegador, keylogging
- mutex (evita doble infección -> buen IOC)

El malware descifra su código/config en memoria. Volcar el proceso en ejecución revela lo que el estático no veía:

# dumpear el proceso una vez desempacado/descifrado (ver rev-dynamic)
Process Hacker -> dump ; pe-sieve / hollows_hunter (detecta inyección/hollowing y dumpea)
# analizar el dump estáticamente (strings, capa) -> config C2, 2ª fase
# análisis de memoria del sistema completo:
Volatility 3 (procesos ocultos, inyecciones, conexiones) -> también en forense (dfir)

Extraer la configuración (config extraction)

Sección titulada «Extraer la configuración (config extraction)»
# muchas familias tienen la config (C2, claves, campaña) cifrada en el binario
# tras desempacar en memoria -> extraerla; existen "config extractors" por familia
# herramientas: MWCP, CAPE config extractors, scripts de la comunidad
  • El comportamiento observado alimenta reglas Sigma (detección en logs/EDR) y YARA (Reglas YARA) basadas en runtime.
  • Los IOCs de red (dominios/IPs C2) se bloquean en DNS/firewall; los mutexes/artefactos se usan para detección.
  • Mapear el comportamiento a MITRE ATT&CK permite construir detecciones por técnica, más robustas que por hash.
  • Entorno aislado con snapshot y red simulada (INetSim/FakeNet)
  • Monitorización: ProcMon, Process Hacker, Regshot, Wireshark
  • Ejecutar y observar: procesos hijos, inyección, ficheros, registro
  • Capturar actividad de red (dominios/IPs/URLs C2)
  • Identificar persistencia (Autoruns, Persistencia de malware (análisis))
  • Volcar memoria para desempacar/extraer config
  • Volatility si hace falta análisis de memoria del sistema
  • IOCs + comportamiento → detección (Sigma/YARA, MITRE)