IntermedioFlareVMreverse engineeringanálisis de malwareWindowsMandiant

FlareVM: Entorno Windows para Reverse Engineering

Guía completa de FlareVM, el entorno Windows de Mandiant/Google para reverse engineering y análisis de malware. Instalación paso a paso, herramientas incluidas, configuración óptima y flujos de trabajo para analistas.

MalwareIntel Research··10 min lectura

Qué es FlareVM

FlareVM es una colección de scripts que transforma una instalación limpia de Windows en un laboratorio completo de análisis de malware y reverse engineering. Desarrollado por el equipo FLARE de Mandiant (ahora Google), utiliza Chocolatey como gestor de paquetes para instalar, configurar y mantener más de 140 herramientas de seguridad.

A diferencia de REMnux (que es una distribución Linux), FlareVM se instala sobre Windows. Esto es fundamental porque la gran mayoría del malware que analizan los equipos SOC es malware para Windows: ejecutables PE, DLLs, scripts PowerShell, documentos Office con macros y drivers maliciosos. Analizar estos artefactos en su plataforma nativa permite observar comportamientos que serían invisibles en un entorno Linux.

FlareVM no es una ISO descargable. Es un instalador que se ejecuta sobre Windows y lo convierte en un entorno de análisis. Esto significa que puedes personalizar exactamente qué herramientas instalar y cuáles omitir.

Requisitos previos

Antes de instalar FlareVM, necesitas preparar el entorno:

Hardware del host

  • CPU: mínimo 4 cores (para asignar 2 a la VM)
  • RAM: mínimo 16 GB en el host (para asignar 4 a 8 GB a la VM)
  • Disco: mínimo 100 GB libres (la instalación completa ocupa entre 60 y 80 GB)
  • Virtualización: VT-x/AMD-V habilitado en BIOS

Máquina virtual

  • Hipervisor: VMware Workstation Pro (recomendado) o VirtualBox
  • SO: Windows 10 Enterprise o Professional (LTSC recomendado)
  • Red: adaptador host-only para análisis aislado

Preparación de Windows

Antes de ejecutar el instalador de FlareVM, configura la VM:

# 1. Desactivar Windows Update (FlareVM lo hace, pero mejor anticipar)
# Servicios → Windows Update → Deshabilitado

# 2. Desactivar Windows Defender completamente
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Set-MpPreference -DisableBlockAtFirstSeen $true

# 3. Desactivar la protección contra alteraciones (manual en Settings)
# Windows Security → Virus & threat protection → Manage settings
# → Tamper Protection: Off

# 4. Desactivar UAC (o ponerlo al mínimo)
# Panel de control → Cuentas de usuario → Cambiar configuración UAC → Nunca

Instalación paso a paso

Paso 1: Descargar e iniciar el instalador

# Abrir PowerShell como Administrador

# Permitir ejecución de scripts
Set-ExecutionPolicy Unrestricted -Force

# Descargar el instalador
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1" -OutFile "$env:TEMP\install.ps1"

# Desbloquear el archivo descargado
Unblock-File "$env:TEMP\install.ps1"

# Ejecutar la instalación
& "$env:TEMP\install.ps1"

Paso 2: Seleccionar paquetes

El instalador muestra una interfaz gráfica donde puedes seleccionar qué categorías de herramientas instalar:

  • Debuggers: x64dbg, WinDbg, OllyDbg
  • Disassemblers: Ghidra, IDA Free, Binary Ninja (demo)
  • Decompilers: dnSpy, ILSpy, JD-GUI
  • PE Analysis: PEStudio, PEBear, CFF Explorer, PE-sieve
  • Document Analysis: oletools, pdf-parser, olevba
  • Network: Wireshark, Fiddler, Burp Suite Community
  • Utilities: 7-Zip, HxD, CyberChef, Notepad++
  • Scripting: Python 3, Ruby, Node.js

La instalación completa tarda entre 60 y 120 minutos. Es recomendable dejar que instale todo; el espacio en disco es barato comparado con el tiempo de instalar herramientas individualmente después.

Paso 3: Post-instalación

# Verificar que la instalación completó correctamente
# El escritorio debería tener iconos organizados por categoría

# Crear snapshot LIMPIO inmediatamente
# VMware: VM → Snapshot → Take Snapshot → "FlareVM-Clean"
# VirtualBox: Machine → Take Snapshot → "FlareVM-Clean"

Paso 4: Configurar red aislada

# En VMware:
# VM Settings → Network Adapter → Host-only

# Configurar IP estática en la VM
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "10.0.0.2" -PrefixLength 24

# REMnux (si lo usas como gateway) será 10.0.0.1

Herramientas principales por categoría

Debuggers

HerramientaDescripción
x64dbgDebugger moderno para x86 y x64. El más popular para análisis de malware Windows
WinDbgDebugger de Microsoft. Imprescindible para análisis de kernel y drivers
OllyDbgDebugger clásico x86. Aún útil por sus plugins, pero x64dbg lo reemplaza

x64dbg es la herramienta estrella para análisis dinámico de malware en Windows. Permite:

  • Breakpoints condicionales y de hardware
  • Scripting con JavaScript/Python
  • Tracing de API calls
  • Plugins como ScyllaHide (anti-anti-debug) y xAnalyzer (análisis de parámetros)
  • Desempaquetado manual con IAT reconstruction

Desensambladores y decompiladores

HerramientaDescripción
GhidraSuite de la NSA. Desensamblador + decompilador gratuito
IDA FreeVersión gratuita de IDA. Solo x86, sin decompilador
dnSpyDecompilador de .NET. Permite editar y re-ensamblar binarios
ILSpyDecompilador .NET alternativo (open source)
JD-GUIDecompilador de Java (análisis de JARs maliciosos)

Análisis de PE

HerramientaDescripción
PEStudioAnálisis rápido de PE: imports sospechosos, secciones anómalas, entropia
PEBearEditor visual de cabeceras PE
CFF ExplorerExplorador completo de formato PE con editor hex integrado
Detect It Easy (DIE)Identificación de packer, compilador y protector
PE-sieveEscanea procesos en ejecución buscando inyección de código
Dependency WalkerVisualiza dependencias de DLLs de un ejecutable

Monitorización del sistema

HerramientaDescripción
Process Monitor (Procmon)Monitoriza acceso a archivos, registro y red en tiempo real
Process ExplorerVista avanzada de procesos con DLLs cargadas y handles
Process HackerAlternativa a Process Explorer con más funcionalidades
RegshotComparación de snapshots del registro antes/después de ejecutar malware
AutorunsMuestra todos los puntos de persistencia configurados en el sistema

Herramientas de red

HerramientaDescripción
WiresharkCaptura y análisis de tráfico de red
FiddlerProxy HTTP/HTTPS para inspección de tráfico web
TCPViewVista en tiempo real de conexiones TCP/UDP
FakeNet-NGSimulador de servicios de red (DNS, HTTP, SMTP)

Flujo de trabajo en FlareVM

Análisis de un ejecutable PE sospechoso

Fase 1: Triage estático

1. PEStudio → abrir la muestra
   - Revisar imports sospechosos (VirtualAlloc, CreateRemoteThread, URLDownloadToFile)
   - Verificar entropía de secciones (alta entropía = probablemente empaquetado)
   - Comprobar firma digital (válida, inválida o ausente)
   - Anotar hashes MD5/SHA256

2. DIE → identificar packer
   - Si está empaquetado: intentar desempaquetar primero
   - UPX: upx -d sample.exe
   - Custom packer: requiere debugging manual

3. capa → detectar capacidades
   - Mapeo automático a MITRE ATT&CK
   - Identificación de técnicas de evasión

4. strings / FLOSS → extraer indicadores
   - URLs, IPs, dominios
   - Rutas de archivos, claves de registro
   - Mutex names, user-agents

Fase 2: Preparar monitorización

1. Iniciar Procmon con filtros:
   - Process Name is sample.exe
   - Excluir operaciones SUCCESS en system32 (reducir ruido)

2. Iniciar Wireshark en el adaptador de red

3. Tomar snapshot de Regshot (#1)

4. Iniciar Process Explorer / Process Hacker

Fase 3: Ejecución controlada

1. Si hay REMnux en la red host-only:
   - Iniciar FakeNet-NG en REMnux (capturará DNS/HTTP del malware)

2. Ejecutar la muestra desde x64dbg:
   - Poner breakpoint en WinMain / entry point
   - Step over las llamadas de inicialización
   - Observar llamadas a APIs sospechosas:
     * VirtualAlloc + WriteProcessMemory = posible inyección
     * CreateMutex = mecanismo de instancia única
     * RegSetValueEx en Run/RunOnce = persistencia
     * URLDownloadToFile / WinHTTP = descarga de payload

3. Dejar ejecutar libremente durante 2 a 5 minutos

4. Tomar snapshot de Regshot (#2) y comparar

Fase 4: Análisis de resultados

1. Procmon → filtrar por operaciones de escritura
   - Archivos creados/modificados
   - Claves de registro añadidas
   - Procesos spawneados

2. Wireshark → exportar conversaciones
   - DNS queries (dominios C2)
   - HTTP requests (URLs de stage 2)
   - Patrones de beaconing

3. Regshot diff → cambios en el registro
   - Nuevas entradas en Run/RunOnce (persistencia)
   - Modificaciones en servicios
   - Cambios en firewall rules

4. Process Explorer → árbol de procesos
   - Procesos hijos creados
   - DLLs inyectadas
   - Handles abiertos

Configuración avanzada

Anti-anti-debugging

Muchos malware modernos detectan debuggers y alteran su comportamiento. FlareVM incluye contramedidas:

ScyllaHide (plugin x64dbg):
  - Oculta el debugger del proceso analizado
  - Bypasses: IsDebuggerPresent, NtQueryInformationProcess,
    timing checks, PEB modifications

TitanHide (driver):
  - Oculta el debugger a nivel de kernel
  - Más efectivo que ScyllaHide pero requiere driver firmado

Anti-VM detection

El malware también detecta máquinas virtuales:

# Reducir artefactos de VM en VMware:
# 1. Renombrar servicios de VMware Tools
# 2. Modificar registros que delatan la VM:

# Eliminar strings de VMware del registro
reg delete "HKLM\SOFTWARE\VMware, Inc." /f 2>$null

# Modificar BIOS strings (en VMware .vmx):
# SMBIOS.reflectHost = "TRUE"
# board-id.reflectHost = "TRUE"

# Alternativa: usar herramientas como pafish para verificar
# qué artefactos de VM son detectables
.\pafish.exe

Snapshots y workflow

Snapshot "Clean-Base"
    └── Snapshot "Pre-Analysis-001"
        └── (ejecutar malware, analizar)
        └── Revert a "Pre-Analysis-001"
    └── Snapshot "Pre-Analysis-002"
        └── (otro análisis)
        └── Revert a "Pre-Analysis-002"

La disciplina de snapshots es la diferencia entre un analista productivo y uno que pierde tiempo reinstalando.

FlareVM + REMnux: el laboratorio ideal

La combinación más potente para análisis de malware es FlareVM + REMnux en red host-only:

┌────────────────────────────────────────────────────┐
│ HOST                                               │
│                                                    │
│  ┌──────────────────┐   ┌──────────────────┐      │
│  │    FlareVM        │   │    REMnux         │      │
│  │    10.0.0.2       │──→│    10.0.0.1       │      │
│  │                   │   │                   │      │
│  │  x64dbg           │   │  FakeNet-NG       │      │
│  │  Procmon          │   │  Wireshark         │      │
│  │  Process Explorer │   │  INetSim           │      │
│  │  PEStudio         │   │  mitmproxy         │      │
│  └──────────────────┘   └──────────────────┘      │
│       Red host-only: 10.0.0.0/24 (aislada)        │
└────────────────────────────────────────────────────┘

En esta configuración:

  1. FlareVM ejecuta la muestra y monitoriza el sistema
  2. REMnux actúa como gateway de red, simulando Internet con FakeNet-NG o INetSim
  3. Todo el tráfico del malware queda capturado en REMnux sin salir a Internet real
  4. REMnux puede servir payloads falsos para que el malware continúe su cadena de infección

Actualización y mantenimiento

Actualizar herramientas existentes

# Actualizar todos los paquetes de Chocolatey
choco upgrade all -y

# Actualizar una herramienta específica
choco upgrade x64dbg -y
choco upgrade ghidra -y

Instalar herramientas adicionales

# Buscar herramientas disponibles
choco search malware
choco search reverse

# Instalar herramientas adicionales
choco install binary-ninja -y
choco install ida-free -y
choco install pestudio -y

Exportar configuración

# Exportar lista de paquetes instalados
choco export packages.config

# Reimportar en otra VM
choco install packages.config -y

Limitaciones

FlareVM tiene algunas restricciones que conviene conocer:

  • Solo Windows: no analiza malware Linux o macOS nativamente (para eso está REMnux)
  • Requiere licencia Windows: necesitas una licencia válida de Windows 10/11 para la VM
  • Consumo de recursos: una VM Windows con todas las herramientas consume bastante RAM y disco
  • No incluye IDA Pro: la versión profesional requiere licencia separada (miles de euros). Ghidra es la alternativa gratuita más completa
  • Actualizaciones pueden romper cosas: ocasionalmente, una actualización de Chocolatey puede generar conflictos entre versiones

Alternativas a FlareVM

  • Commando VM (Mandiant): enfocado en pentesting ofensivo en Windows, complementario a FlareVM
  • Malware Analysis VM (manual): construir tu propia VM instalando herramientas individualmente
  • SANS SIFT + Windows: combinar SIFT para forense con una VM Windows limpia

FlareVM sigue siendo la opción más completa y mejor mantenida para análisis de malware en Windows. Su integración con Chocolatey, la curación de herramientas por parte del equipo Mandiant FLARE, y la comunidad activa lo convierten en el estándar de la industria para laboratorios de reverse engineering.

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.