Cazando a Lazarus: Dentro de la Infraestructura C2 de la Entrevista Contagiosa
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Red Asgard informó de un compromiso de la cadena de suministro vinculado a un proyecto de criptomoneda promovido a través de Upwork, donde los operadores de Lazarus incrustaron código malicioso en el proceso de compilación/flujo de trabajo. La cadena abusa de la auto-ejecución de tareas de VSCode, una puerta trasera de Node.js implementada a través del constructor de Function y una entrega de carga útil protegida por cookies para obtener JavaScript malicioso desde infraestructura de comando y control alojada en Vercel. La pila de C2 está dividida en dominios de Vercel de primera etapa y servidores dedicados a Windows de segunda etapa, que entregan una puerta trasera de Python fuertemente ofuscada con funcionalidad de minería XMRig. La campaña también utiliza muertos de Pastebin, un protocolo binario personalizado, y una compartimentación estricta de credenciales para complicar el análisis y la eliminación.
Investigación
Los investigadores enumeraron tres dominios de Vercel que exponen puntos finales autenticados por token e identificaron cinco sistemas C2 dedicados ejecutando Express.js on puerto 1244. También documentaron una técnica de oráculo de tiempo usada para inferir o enumerar tokens de campaña activos. La ingeniería inversa de un carga útil de 64 capas obfuscated payload ultimately revealed a trojanized component that persists via Startup folder placement and scheduled task creation. Additional findings included hard-coded MongoDB credentials, approximately 1,000 Pastebin dead-drop URLs, and custom Z238 binary protocol listeners on multiple ports.
Mitigación
Bloquee las comunicaciones salientes a los dominios de Vercel identificados y restrinja la salida a los puertos 1244, 1249 y 22411-22412. Monitoree la creación de Windows Update Script.pyw en ubicaciones de Inicio, tareas programadas llamadas “Runtime Broker” y la ejecución sospechosa de msedge.exe consistente con suplantación de mineros. Detecte procesos de Node.js que invoquen Function.constructor y actividad HTTP POST anómala a puntos finales de /keys. Reduzca la exposición desactivando las tareas de ejecución automática de VSCode y revisando los scripts de paquetes antes de ejecutar npm install o realizar pasos de compilación en repositorios no confiables.
Respuesta
Si se observan indicadores, aísle el sistema afectado, termine los procesos sospechosos y preserve los artefactos de memoria y disco para revisión forense. Revoque cualquier credencial de MongoDB expuesta y rote todos los secretos de cuentas de servicio relevantes. Realice un inventario de cuentas y acceso para identificar usuarios afectados, luego restablezca credenciales e invalide sesiones/tokens activos. Notifique a las partes interesadas internas y coordine con la aplicación de la ley si hay evidencia de robo de criptomonedas o compromiso de billeteras.
Flujo de ataque
Detecciones
Posible Infiltración de Datos / Exfiltración / C2 a través de Servicios/ Herramientas de Terceros (a través de dns)
Ver
Cambios Sospechosos en Preferencias de Windows Defender (a través de powershell)
Ver
Binarios / Scripts Sospechosos en Ubicación de Inicio Automático (a través de file_event)
Ver
Archivo oculto fue creado en host Linux (a través de file_event)
Ver
Posible infiltración/exfiltración de datos/C2 a través de servicios/herramientas de terceros (a través de proxy)
Ver
IOC (Emails) para detectar: Cazando a Lazarus: Dentro de la infraestructura C2 Interview Contagiosa
Ver
IOC (DestinationIP) para detectar: Cazando a Lazarus: Dentro de la infraestructura C2 Interview Contagiosa
Ver
IOC (SourceIP) para detectar: Cazando a Lazarus: Dentro de la infraestructura C2 Interview Contagiosa
Ver
IOC (HashSha256) para detectar: Cazando a Lazarus: Dentro de la infraestructura C2 Interview Contagiosa
Ver
Función sospechosa getCookie obteniendo JavaScript malicioso desde el dominio de Vercel [Evento de archivo de Windows]
Ver
Uso sospechoso de Function.constructor en errorHandler.js para RCE de backend [Evento de archivo de Windows]
Ver
Falseamiento de procesos maliciosos como RuntimeBroker y minero XMRig como msedge.exe [Creación de procesos de Windows]
Ver
Configuración de autoejecución maliciosa de VSCode [Evento de archivo de Windows]
Ver
Ejecución de simulación
Prerrequisito: El chequeo previo de Telemetría & Línea base debe haber sido aprobado.
Narrativa del ataque & Comandos
El adversario copia el RuntimeBroker.exe binario a una ubicación no estándar (%TEMP%) para hacerse pasar por un proceso de confianza mientras evita la detección basada en rutas del sistema conocidas. Al ejecutar la copia, el evento de creación del proceso contiene el nombre de imagen esperado pero una ruta que no pasa la verificación de contención “System32”, satisfaciendo selection_runtime.
Script de prueba de regresión
# -----------------------------------------------
# TC-20260114-A1B2C – Simulación de falseamiento
# -----------------------------------------------
# 1. Definir rutas
$src = "$env:SystemRootSystem32RuntimeBroker.exe"
$dest = "$env:TEMPRuntimeBroker.exe"
# 2. Copiar el binario legítimo a un directorio no del sistema
Copy-Item -Path $src -Destination $dest -Force
# 3. Ejecutar el binario copiado (esto debería disparar la regla Sigma)
Start-Process -FilePath $dest -WindowStyle Hidden
# 4. OPCIONAL: Simular el escenario msedge (minero) de falseamiento
# (Copiar cualquier ejecutable legítimo, renombrar a msedge.exe, colocar bajo %LOCALAPPDATA%MicrosoftWindowsApplications)
$minerSrc = "$env:SystemRootSystem32notepad.exe"
$minerDest = "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe"
Copy-Item -Path $minerSrc -Destination $minerDest -Force
Start-Process -FilePath $minerDest -WindowStyle Hidden
# -----------------------------------------------
Comandos de limpieza
# Eliminar las copias maliciosas
Remove-Item -Path "$env:TEMPRuntimeBroker.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe" -Force -ErrorAction SilentlyContinue