Campaña GlassWorm Distribuye Cargadores Ocultos a Través de Extensiones de VS Code
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Se descubrió un grupo de extensiones maliciosas de Visual Studio Code vinculadas al actor de amenaza GlassWorm en el mercado de VS Code y Open VSX. Disfrazadas como temas de color pulidos, las extensiones contenían cargadores de JavaScript ofuscados diseñados para recuperar cargas útiles secundarias. La campaña abusa de la cadena de suministro de software para atacar a los desarrolladores y robar datos sensibles de entornos comprometidos.
Investigación
Los investigadores de Socket identificaron dos extensiones maliciosas confirmadas y múltiples identidades vinculadas a grupos de alto riesgo mediante análisis del historial de Git y huellas digitales del código fuente. Extensiones como Aurora Nocturne Night Theme y Cosmic Nebula Themes utilizaron cargadores escalonados, descifrado AES-256-CBC y memorandos de transacciones de blockchain de Solana como resolutores de caída muerta para la infraestructura C2. Los investigadores también observaron el robo de marca y artefactos de desarrollo compartidos, incluidos comentarios en ruso.
Mitigación
Las organizaciones deben inventariar las extensiones de desarrollador instaladas en VS Code y editores similares, prestando especial atención a los paquetes obtenidos del mercado de Visual Studio y los registros de Open VSX. Las revisiones de seguridad deben examinar archivos package.json, puntos de entrada ejecutables y capacidades inesperadas de ejecución de red o proceso en extensiones de tema. La imposición de permisos estrictos para las extensiones y la monitorización de la ejecución no autorizada de scripts puede reducir aún más los riesgos de la cadena de suministro.
Respuesta
Cuando se detectan indicadores como procesos inesperados de cmd.exe lanzados desde VS Code o la presencia de temp_batch.cmd, aísle inmediatamente el host afectado. Investigue credenciales potencialmente comprometidas, tokens de sesión y monederos de criptomonedas. Elimine las extensiones maliciosas identificadas y realice una revisión forense integral del entorno de desarrollo para verificar que no queden puertas traseras persistentes ni cargas útiles adicionales.
Flujo de Ataque
Todavía estamos actualizando esta parte.
Detecciones
Ubicación sospechosa de ejecución de ejecutable/script a través de [cmd.exe /C] (vía cmdline)
Comando y control sospechoso por solicitud DNS de dominio de nivel superior (TLD) inusual (vía dns)
IOCs (HashSha256) para detectar: Temas bonitos, cargadores ocultos: Extensiones vinculadas a GlassWorm abarcan el mercado de VS Code y la Socket de Open VSX descubierta
IOCs (HashMd5) para detectar: Temas bonitos, cargadores ocultos: Extensiones vinculadas a GlassWorm abarcan el mercado de VS Code y la Socket de Open VSX descubierta
Ejecución de script malicioso de VS Code que indica una posible brecha [Evento de archivo de Windows]
Ejecución de script malicioso desde extensiones de VS Code [Creación de proceso de Windows]
Ejecución de simulación
-
Narrativa y Comandos del Ataque: Un adversario ha comprometido con éxito la estación de trabajo de un desarrollador al engañarlo para que instale una extensión de tema de VS Code malicioso. Al activarse, la extensión ejecuta un proceso en segundo plano que obtiene una carga útil maliciosa de un servidor remoto (Transferencia de Herramienta de Ingreso). Para iniciar la siguiente etapa del ataque, que implica establecer persistencia y descargar más herramientas, la extensión escribe un pequeño script por lotes llamado
temp_batch.cmden el%TEMP%directorio del usuario. Este script está diseñado para ejecutar una serie de comandos ofuscados para evadir los antivirus basados en firmas tradicionales. -
Script de Prueba de Regresión:
# Script de Simulación: Descarga de Carga Útil de Extensión Maliciosa de VS Code # Objetivo: Crear el archivo específico 'temp_batch.cmd' en %TEMP% para activar la regla de detección. $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName Write-Host "[*] Simulando actividad maliciosa de extensión de VS Code..." -ForegroundColor Cyan # Crear el archivo por lotes malicioso $scriptContent = @" @echo off echo Simulando ejecución de carga útil maliciosa... powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Write-Host 'Comando Malicioso Ejecutado'" "@ try { Set-Content -Path $fullPath -Value $scriptContent -ErrorAction Stop Write-Host "[+] ÉXITO: Creado $fullPath" -ForegroundColor Green Write-Host "[!] Monitoree su SIEM/EDR para la alerta de detección." -ForegroundColor Yellow } catch { Write-Host "[-] FRACASO: No se pudo crear el archivo. Error: $($_.Exception.Message)" -ForegroundColor Red } -
Comandos de Limpieza:
# Script de Limpieza: Eliminación de los artefactos creados durante la simulación $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName if (Test-Path $fullPath) { Remove-Item -Path $fullPath -Force Write-Host "[+] Limpieza Completa: $fullPath eliminado." -ForegroundColor Green } else { Write-Host "[-] Limpieza Fallida: Archivo no encontrado." -ForegroundColor Red }