arrow_back Volver a artículos

Análisis básico de malware

Guía para iniciarse en el análisis de malware desde el lado defensivo. Aprende técnicas básicas, herramientas esenciales y buenas prácticas para analizar malware de forma segura.

Análisis básico de malware
person Guillermo Illera
calendar_today 15 de enero de 2024
schedule 8 min de lectura
analisis-de-malware malware blue-team análisis herramientas seguridad

Análisis básico de malware

Introducción

Cuando hablamos de análisis de malware, nos referimos básicamente a estudiar cómo funciona un archivo malicioso: qué hace, cómo lo hace y con qué intención. Es como abrir una caja negra para entender qué hay dentro y cómo está actuando.

Desde el lado defensivo, el Blue Team usa este tipo de análisis para descubrir qué fue lo que pasó cuando un sistema fue comprometido. Saber cómo se mueve un malware —qué archivos deja, a qué direcciones se conecta, qué vulnerabilidades explota— nos da información clave para contener el incidente, recuperar los sistemas y prevenir que vuelva a pasar.

Mi objetivo con esta guía es explicarte los conceptos esenciales de análisis de malware de una forma clara, paso a paso, y con ejemplos sencillos. No necesitas ser experto ni tener conocimientos avanzados: está pensada para que cualquiera que trabaje en ciberseguridad del lado defensivo pueda empezar a practicar desde ya.

Vamos a ello.


Preparación del Entorno

Antes de ponerte a ejecutar malware, lo primero es tener un laboratorio seguro. No querrás que una muestra se te escape y acabe infectando tu equipo principal o, peor aún, la red de tu empresa. Para eso usamos máquinas virtuales (VM): entornos aislados donde puedes probar sin miedo.

¿Qué necesitas?

  • Un hipervisor: Puedes usar VirtualBox o Hyper-V, que son gratuitos, o VMware Workstation, que tiene versión de pago. Con cualquiera de estos vas a poder crear una VM limpia (por ejemplo, un Windows 10 recién instalado) solo para análisis de malware.
  • Snapshots (instantáneas): Una vez que tengas tu VM lista y actualizada, haz una instantánea. Esto es como guardar un punto de restauración. Así, después de cada análisis, vuelves a ese estado limpio en segundos.
  • Red controlada: No le des acceso total a Internet a la VM. Usa red host-only o NAT con reglas. Así evitas que el malware se comunique libremente. También es buena práctica desactivar carpetas compartidas entre el host y la VM, y apagar el antivirus dentro de la VM (para que no interfiera con la muestra).
  • Herramientas básicas: Dentro de la VM instala lo mínimo necesario: editores hexadecimales, visores de archivos PE, un navegador seguro, un par de depuradores ligeros y un programa para capturar tráfico de red. Es útil tener una carpeta comprimida (ZIP con contraseña) para mover muestras de forma segura. Apunta las versiones de cada herramienta para tener control.

Recomendación

Cada vez que termines una sesión de análisis, borra o restaura la VM a la instantánea limpia. Es la forma más segura de eliminar cualquier rastro del malware y dejar todo listo para la próxima prueba.

Con esto, ya tienes un entorno seguro y controlado para empezar a investigar malware sin riesgos innecesarios.


Herramientas Esenciales

En análisis de malware usamos dos enfoques principales: análisis estático (sin ejecutar la muestra) y análisis dinámico (ejecutándola para ver cómo se comporta). Te dejo aquí las herramientas básicas para cada uno.


Análisis Estático

El análisis estático te permite sacar información del malware sin correrlo. Es ideal para empezar a hacerte una idea de qué tienes entre manos.

  • Strings: Esta herramienta lista todas las cadenas de texto legibles dentro del archivo. Así puedes ver nombres de archivos, URLs, rutas del sistema o mensajes incrustados. En Windows puedes usar Strings de Sysinternals o el comando strings en Linux.
    Ejemplo:

    strings muestra.exe
    
  • PEStudio: Es un visor para archivos PE (Portable Executable, como los .exe de Windows). Te muestra metadatos como hashes, librerías importadas, recursos embebidos y secciones sospechosas. Es muy visual y resalta posibles indicadores de riesgo.

  • PEBear o CFF Explorer: Alternativas a PEStudio. Sirven para inspeccionar la estructura del ejecutable: encabezados, secciones, librerías. PEBear, por ejemplo, marca si el archivo está empaquetado (UPX) o si tiene secciones raras.

  • Hashes y firmas: Calcular el hash (SHA256, MD5) de la muestra es fundamental. Te sirve para verificar la integridad, compararlo en VirusTotal o compartirlo como IOC (Indicador de Compromiso). Puedes usar certutil en Windows o sha256sum en Linux.


Análisis Dinámico

El análisis dinámico es ver en vivo qué hace el malware cuando se ejecuta dentro de la VM.

  • Process Monitor (ProcMon): De Sysinternals. Monitorea accesos a disco, cambios en el registro y actividades de procesos. Útil para ver qué archivos toca, qué claves crea y cómo interactúa con el sistema.

  • Process Explorer: Muestra todos los procesos activos y sus propiedades. Te ayuda a identificar procesos sospechosos que aparezcan al ejecutar la muestra. Puedes matar procesos desde aquí si hace falta.

  • Wireshark: Captura el tráfico de red de la VM. Ideal para ver si el malware intenta conectarse a servidores externos, enviar datos o comunicarse con su C2. Puedes aplicar filtros para concentrarte solo en protocolos clave (HTTP, DNS, etc.).

  • Regshot: Toma una foto del registro de Windows antes y después de ejecutar el malware. Luego compara ambas y te dice qué claves se modificaron o se crearon. Muy útil para detectar persistencia.

  • Autoruns: Lista todo lo que arranca junto con Windows. Te ayuda a confirmar si la muestra se autoinstala para ejecutarse cada vez que reinicias.


Proceso de Análisis

Ahora que tienes las herramientas, vamos a ver cómo se organiza un análisis de malware de forma práctica. No es complicado: se trata de seguir unos pasos lógicos para no perderte y sacar la máxima información.


1. Preparar el Entorno

Antes de abrir nada, configura un entorno seguro para trabajar:

  • Máquina Virtual (VM): Siempre usa una VM aislada (por ejemplo, VirtualBox o VMware) con un snapshot limpio para restaurar rápido.
  • Sin conexión a internet real: Si vas a hacer análisis dinámico, aísla la red o usa una red virtual simulada para que el malware no se comunique con servidores externos.
  • Herramientas instaladas: Deja listas todas las herramientas que vas a usar dentro de la VM para no tener que instalar nada después.

2. Análisis Estático Inicial

  • Calcular hashes: Empieza generando el hash de la muestra. Guárdalo bien.
  • VirusTotal: Súbelo (si no es confidencial) para ver qué motores lo detectan y qué nombre le dan.
  • Extraer cadenas: Usa strings para buscar indicadores: rutas de archivos, dominios, comandos.
  • Inspeccionar estructura: Abre el archivo con PEStudio o PEBear para ver importaciones, secciones y firmas.

Con esto tienes una primera foto del archivo, sin ejecutarlo.


3. Análisis Dinámico Controlado

  • Ejecuta bajo supervisión: Corre el malware dentro de la VM, mientras monitoreas con ProcMon, Process Explorer, Wireshark y Regshot.
  • Observa comportamiento: Toma notas: ¿qué procesos crea? ¿qué archivos modifica? ¿qué claves de registro toca? ¿intenta conectarse a algún servidor?
  • Captura tráfico: Si ves direcciones IP o dominios sospechosos, apúntalos: son valiosos como IOCs.

4. Documentar Todo

  • Guarda capturas de pantalla, logs y notas.
  • Organiza la información: hashes, nombres de archivos creados, rutas, dominios, IPs.
  • Si trabajas en equipo, comparte un reporte claro para que otros puedan usar estos datos para bloquear conexiones o buscar indicadores en otros sistemas.

5. Limpiar y Restaurar

  • Borra la VM o vuelve al snapshot limpio.
  • Nunca reutilices la misma sesión de VM después de ejecutar malware: mejor restaurar o crear una nueva.

Herramientas Automatizadas

Si quieres ahorrar tiempo o confirmar tus hallazgos, puedes usar sandboxes online. Estos son entornos controlados en la nube donde subes la muestra y el sistema la ejecuta por ti, generando un reporte automático.

Algunos recomendados:

  • ANY.RUN: Sandbox interactivo en la nube. Puedes ver cómo se comporta el malware en tiempo real y controlar la sesión como si estuvieras dentro de la VM.
  • Hybrid Analysis: Similar a ANY.RUN, lanza la muestra en entornos virtuales y te da un informe con detalles de comportamiento, conexiones de red y motores antivirus.

Estos servicios son muy útiles para un análisis rápido o cuando no tienes un entorno local preparado.


Extracción de IOCs

Los Indicadores de Compromiso (IOCs) son pistas técnicas que te ayudan a detectar y bloquear la actividad maliciosa en otros equipos.

Los más comunes son:

  • Hashes de archivo: MD5, SHA1 o SHA256 únicos para identificar la muestra.
  • Direcciones IP maliciosas: Servidores de comando y control (C2).
  • Dominios maliciosos: Usados para phishing o controlar remotamente la infección.
  • Nombres de archivos sospechosos: Ejecutables raros en rutas temporales o desconocidas.
  • Claves de registro: Entradas de persistencia, como Run, RunOnce o servicios creados.
  • Comparte siempre los IOCs con tu equipo de seguridad: así pueden bloquearlos en firewalls, SIEMs y listas negras para prevenir infecciones nuevas.

Buenas prácticas y recomendaciones

  • Sigue un método: Documenta cada paso y guarda capturas y logs. Ayuda a ti y a otros a replicar el análisis.
  • Mantén la seguridad: Usa siempre máquinas virtuales, restaura snapshots y nunca conectes la VM infectada a redes corporativas.
  • Comparte información: Si descubres IOCs relevantes, súbelos a plataformas de inteligencia o notifícalos internamente.
  • Practica y actualízate: Haz laboratorios, participa en CTFs de análisis de malware y sigue recursos actualizados. La práctica hace la diferencia.

Recursos Recomendados

  • SANS FOR610: Curso de referencia en análisis de malware.
  • Practical Malware Analysis: Libro clásico de Michael Sikorski & Andrew Honig con ejercicios prácticos.
  • OALabs (YouTube): Canal con tutoriales sobre herramientas y técnicas de análisis de malware.