La cadena multietapa del malware: Detección más allá del binario final

El malware moderno no llega en un solo archivo. Aprende a detectar toda la cadena de infección, desde el repositorio comprometido hasta el payload final.

Blue Team3 min de lectura
Compartir:

La cadena multietapa del malware: Detección más allá del binario final

El problema con la detección tradicional

Muchos SOCs se enfocan en detectar el binario final (el ransomware, el miner, el stealer). Pero para cuando llega ahí, ya es tarde.

La clave está en detectar toda la cadena de infección.

Anatomía de una cadena multietapa moderna

Repositorio GitHub comprometido
    ↓
Loader JavaScript (npm package)
    ↓
Downloader PowerShell
    ↓
Stealer Python (roba credenciales)
    ↓
Crypto Miner (C++ compilado)
    ↓
C2 Communication (exfiltración)

Fase 1: Entrega inicial (Delivery)

Técnica:

  • Paquete npm/pip malicioso
  • Repositorio de GitHub con código comprometido
  • Email de phishing con attachment "legítimo"

Indicadores (IoCs):

# Paquetes npm sospechosos
install script ejecuta curl/wget
postinstall hook descarga binario
dependencias desde dominios no oficiales

Detección:

# Regla Sigma para npm malicioso
title: Suspicious NPM Package Installation
detection:
  selection:
    CommandLine|contains:
      - 'npm install'
      - 'curl'
      - 'wget'
  condition: selection

Fase 2: Loader / Dropper

Técnica:

  • Script JavaScript que descarga siguiente etapa
  • Obfuscación con Base64, XOR, etc.
  • Verificación de VM/Sandbox (anti-análisis)

Indicadores:

// Ejemplo de loader ofuscado
eval(atob("Y3VybCBodHRwOi8vbWFsaWNpb3VzLmNvbS9wYXlsb2FkLmV4ZQ=="))

Detección:

  • Monitoreo de red: conexiones a IPs/dominios desconocidos
  • EDR: procesos hijos inusuales (node.js → curl → powershell)

Fase 3: Stealer (Information Theft)

Técnica:

  • Robo de credenciales de navegadores (Chrome, Firefox, Edge)
  • Cookies de sesión
  • Tokens de Git/AWS/Cloud
  • Wallets de criptomonedas

Paths típicos:

%APPDATA%\..\Local\Google\Chrome\User Data\Default\Login Data
%APPDATA%\..\Local\Google\Chrome\User Data\Default\Cookies
~/.aws/credentials
~/.ssh/id_rsa

Detección:

# Regla Sigma para acceso a credenciales
title: Browser Credential Access
detection:
  selection:
    TargetObject|contains:
      - 'Login Data'
      - 'Cookies'
      - 'Web Data'
  condition: selection

Fase 4: Persistencia + Payload final

Técnica:

  • Registry Run keys (Windows)
  • Crontab (Linux)
  • Scheduled Tasks
  • Crypto miner o ransomware

Detección:

# PowerShell para detectar persistencia
Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
Get-ScheduledTask | Where-Object {$_.TaskPath -notlike "\Microsoft\*"}

La importancia de correlacionar eventos

❌ Detección aislada (ineficaz)

Evento 1: npm install (normal)
Evento 2: curl a IP externa (sospechoso, pero puede ser CDN)
Evento 3: PowerShell ejecutado (común en DevOps)

Resultado: Ningún evento genera alerta por sí solo.

✅ Detección correlacionada (efectiva)

Evento 1: npm install → postinstall hook
    ↓
Evento 2: curl a IP no conocida en threat intel
    ↓
Evento 3: PowerShell con flags -EncodedCommand -WindowStyle Hidden
    ↓
Evento 4: Acceso a Login Data de Chrome
    ↓
🚨 ALERTA: Cadena de infección detectada

Herramientas recomendadas

Para análisis local

  • ProcMon (Windows): Monitoreo de procesos en tiempo real
  • Wireshark: Captura de tráfico de red (PCAPs)
  • ProcessHacker: Análisis de procesos y red
  • Any.Run: Sandbox online (gratis para muestras públicas)

Para SOC

  • Elastic Stack (ELK): Correlación de logs
  • Splunk: SIEM corporativo
  • Sigma Rules: Detecciones como código
  • Yara Rules: Detección basada en patrones

Conclusión

La defensa no está en detectar el binario final, sino la cadena completa.

Un SOC maduro no busca "el malware", busca comportamientos anómalos en secuencia.


💬 Tu turno

¿Detectas eventos aislados o cadenas completas en tu SOC?

Comparte tu experiencia en los comentarios.

#BlueTeam #ThreatHunting #MalwareAnalysis #SOC #SIEM #DetectionEngineering