Diferencia entre revisiones de «GlassWorm Malware Campaign (Zig Dropper / IDE Supply Chain Attack)»

De CiberWiki
(Descripción de campaña GlassWorm Malware Campaign (Zig Dropper / IDE Supply Chain Attack))
 
Sin resumen de edición
 
Línea 329: Línea 329:
== Etiquetas / Categorías ==
== Etiquetas / Categorías ==
<code>glassworm</code> <code>zig-dropper</code> <code>supply-chain-attack</code> <code>ide-malware</code> <code>vscode</code> <code>open-vsx</code> <code>npm</code> <code>pypi</code> <code>mcp</code> <code>solana</code> <code>dead-drop-resolver</code> <code>google-calendar</code> <code>rat</code> <code>websocket</code> <code>hardware-wallet-phishing</code> <code>ledger</code> <code>trezor</code> <code>bybit</code> <code>chrome-extension</code> <code>google-docs-offline</code> <code>cryptocurrency-theft</code> <code>aikido-security</code> <code>glassworm-hunter</code> <code>ciberwiki</code> <code>developers</code> <code>malware-campaign</code>
<code>glassworm</code> <code>zig-dropper</code> <code>supply-chain-attack</code> <code>ide-malware</code> <code>vscode</code> <code>open-vsx</code> <code>npm</code> <code>pypi</code> <code>mcp</code> <code>solana</code> <code>dead-drop-resolver</code> <code>google-calendar</code> <code>rat</code> <code>websocket</code> <code>hardware-wallet-phishing</code> <code>ledger</code> <code>trezor</code> <code>bybit</code> <code>chrome-extension</code> <code>google-docs-offline</code> <code>cryptocurrency-theft</code> <code>aikido-security</code> <code>glassworm-hunter</code> <code>ciberwiki</code> <code>developers</code> <code>malware-campaign</code>
[[Categoría:CAMPAÑAS|CAMPAÑAS]]

Revisión actual - 16:53 13 abr 2026

GlassWorm Malware Campaign es una campaña persistente de suministro de software dirigida a desarrolladores de software, que emplea técnicas avanzadas de infección a través de entornos de desarrollo integrados (IDEs), paquetes npm y PyPI, y el mercado Open VSX. Detectada por investigadores de Aikido Security y otros, la campaña ha evolucionado significativamente, adoptando un novedoso dropper escrito en Zig para infectar sigilosamente todos los IDEs compatibles con VS Code en el sistema de la víctima. La campaña se distingue por su cadena de infección multi-etapa que abusa de múltiples mecanismos de distribución: extensiones maliciosas de VS Code que suplantan herramientas legítimas como WakaTime (con más de 5 millones de instalaciones), paquetes npm que imitan servidores MCP (Model Context Protocol), y el compromiso de cuentas de mantenedores de proyectos para empujar actualizaciones envenenadas. El malware utiliza técnicas avanzadas de evasión, incluyendo la evitación de sistemas con configuración regional rusa, el uso de la cadena de bloques Solana como mecanismo de "dead drop resolver" para ocultar servidores C2, y el abuso de eventos públicos de Google Calendar para la recuperación de configuración. La carga útil final incluye un RAT (troyano de acceso remoto) basado en WebSocket, un módulo .NET para phishing de wallets de hardware (Ledger, Trezor), y una extensión maliciosa de Google Chrome que suplanta a Google Docs Offline para robar cookies, localStorage, DOM, historial de navegación, capturas de pantalla, y credenciales de sitios específicos como Bybit. Los investigadores han desarrollado una herramienta open-source llamada glassworm-hunter para detectar la presencia de esta campaña en sistemas de desarrolladores.

Nombres Alternativos / Aliases

  • GlassWorm Campaign (Nombre principal de la campaña)
  • Zig Dropper Campaign (Por el lenguaje del dropper)
  • SpecStudio WakaTime Extension Attack (Por la extensión maliciosa inicial)
  • Solana Dead Drop Malware (Por el mecanismo de ocultación de C2)
  • IDE Supply Chain Attack (Por el vector de ataque a entornos de desarrollo)

Fecha de Detección / Actividad

  • Primera Detección de la Campaña: Anterior a marzo de 2026 (reportada por primera vez el 25 de marzo de 2026)
  • Evolución con Zig Dropper: 10 de abril de 2026 (fecha del análisis de Aikido Security)
  • Estado: Activo. La campaña continúa evolucionando con nuevas tácticas, incluyendo la incursión en el ecosistema MCP (Model Context Protocol) para atacar entornos de desarrollo asistido por IA.

Actor de Amenaza (Atribución)

  • Nombre del Actor: No atribuido a un grupo específico; opera bajo el nombre de campaña "GlassWorm".
  • Tipo de Actor: Grupo de ciberdelincuencia especializado en ataques a la cadena de suministro de software, dirigido específicamente a desarrolladores.
  • Sofisticación: Muy alta. El grupo demuestra capacidades avanzadas: desarrollo de droppers en Zig (un lenguaje de bajo nivel que complica la ingeniería inversa), abuso de múltiples ecosistemas de distribución (npm, PyPI, GitHub, Open VSX, MCP), uso de blockchain de Solana y Google Calendar como mecanismos de dead drop resolver para ocultar infraestructura C2, evasión geográfica (evita sistemas con locale ruso), desarrollo de RAT con WebSocket, módulos de phishing para hardware wallets (Ledger/Trezor), y extensiones de Chrome que realizan vigilancia activa de sesiones en sitios específicos (Bybit). La capacidad de comprometer cuentas de mantenedores legítimos para empujar actualizaciones envenenadas indica un nivel de sofisticación en ingeniería social y persistencia.

Resumen Ejecutivo

GlassWorm Malware Campaign representa una de las campañas más sofisticadas dirigidas a la cadena de suministro de software, enfocada específicamente en desarrolladores como vector de entrada inicial. La campaña ha evolucionado desde la publicación de paquetes maliciosos en npm y PyPI hasta el uso de un dropper escrito en Zig distribuido a través de extensiones maliciosas de VS Code en el mercado Open VSX. La extensión identificada, "specstudio.code-wakatime-activity-tracker", suplantaba a la popular herramienta WakaTime (utilizada por programadores para medir su productividad) y contenía un binario nativo compilado en Zig ("win.node" para Windows, "mac.node" para macOS). Una vez cargado en el entorno de ejecución de Node.js, este binario tiene acceso completo a nivel del sistema operativo y su objetivo principal es encontrar todos los IDEs compatibles con VS Code en el sistema (incluyendo VS Code, VSCodium, Cursor, Windsurf, Positron). Luego descarga una segunda extensión maliciosa (.VSIX) desde una cuenta de GitHub controlada por el atacante llamada "floktokbok.autoimport", que suplanta a la extensión legítima "steoates.autoimport" con más de 5 millones de instalaciones. Esta segunda etapa actúa como un dropper que evita sistemas rusos, se comunica con la cadena de bloques Solana para obtener el servidor C2, y finalmente implementa un RAT y una extensión de Chrome que roba información. El RAT utiliza un mecanismo de dead drop resolver basado en eventos públicos de Google Calendar y Solana para ocultar la infraestructura C2. El componente .NET adicional realiza phishing de hardware wallets (Ledger y Trezor) mostrando ventanas falsas de "error de configuración" o "validación de firmware fallida" para capturar frases de recuperación de 24 palabras. La extensión de Chrome, que suplanta a Google Docs Offline, realiza vigilancia activa de sesiones en sitios específicos como Bybit, capturando tokens de autenticación y cookies. La campaña ha expandido recientemente su alcance al ecosistema MCP (Model Context Protocol) con paquetes npm que imitan servidores MCP legítimos como WaterCrawl, representando una amenaza emergente para entornos de desarrollo asistido por IA.

Vectores de Ataque / Métodos de Distribución

  1. Extensiones Maliciosas de VS Code en Open VSX: Publicación de "specstudio.code-wakatime-activity-tracker" en Open VSX, suplantando a WakaTime. El binario Zig se carga directamente en Node.js, eludiendo el sandbox de JavaScript.
  2. Paquetes npm y PyPI Maliciosos: Publicación de paquetes rogue en npm y PyPI que contienen payloads de GlassWorm.
  3. Compromiso de Cuentas de Mantenedores: Los atacantes comprometen cuentas de mantenedores legítimos de proyectos para empujar actualizaciones envenenadas a través de canales oficiales.
  4. Incursión en el Ecosistema MCP: Publicación de paquetes npm que imitan servidores MCP (Model Context Protocol) legítimos como "@iflow-mcp/watercrawl-watercrawl-mcp", dirigido a entornos de desarrollo asistido por IA.
  5. Infección Multi-IDE: Una vez instalado el dropper Zig, escanea el sistema en busca de todos los IDEs compatibles con VS Code (VS Code, VSCodium, Cursor, Windsurf, Positron) y los infecta silenciosamente.

Técnicas, Tácticas y Procedimientos (TTPs) - MITRE ATT&CK

Táctica (MITRE ATT&CK) Técnica / Subtécnica Descripción / Implementación
Resource Development (TA0042) Develop Capabilities: Malware (T1587.001) Desarrollo de dropper en Zig, RAT en WebSocket/.NET, y extensión maliciosa de Chrome.
Resource Development (TA0042) Acquire Infrastructure: Domains (T1583.001) Registro de dominios C2 (45.32.150[.]251, 217.69.3[.]152, 45.150.34[.]158).
Initial Access (TA0001) Supply Chain Compromise (T1195) - Compromise Software Supply Chain (T1195.002) Publicación de extensiones maliciosas en Open VSX, paquetes en npm/PyPI, y compromiso de cuentas de mantenedores.
Execution (TA0002) User Execution: Malicious File (T1204.002) El desarrollador instala voluntariamente la extensión maliciosa creyendo que es WakaTime legítima.
Execution (TA0002) Command and Scripting Interpreter: JavaScript (T1059.007) El código JavaScript de la extensión activa el binario Zig.
Execution (TA0002) Native API (T1106) El binario Zig se carga directamente en el entorno de ejecución de Node.js, eludiendo el sandbox.
Persistence (TA0003) Event Triggered Execution (T1546) La extensión maliciosa permanece instalada en cada IDE, ejecutándose cada vez que se abre el editor.
Defense Evasion (TA0005) Virtualization/Sandbox Evasion (T1497) El dropper evita la ejecución en sistemas con configuración regional rusa.
Defense Evasion (TA0005) Obfuscated Files or Information (T1027) El binario Zig está compilado, dificultando el análisis estático. Uso de blockchain Solana y Google Calendar para ocultar C2.
Defense Evasion (TA0005) Masquerading (T1036) - Match Legitimate Name or Location (T1036.005) Suplantación de WakaTime, AutoImport, Google Docs Offline.
Credential Access (TA0006) Credentials from Password Stores: Browser (T1555.003) La extensión de Chrome roba cookies, localStorage, tokens de sesión.
Credential Access (TA0006) Input Capture: Keylogging (T1056.001) El RAT registra pulsaciones de teclado.
Credential Access (TA0006) OS Credential Dumping (T1003) Captura de frases de recuperación de wallets de hardware (Ledger/Trezor).
Collection (TA0009) Screen Capture (T1113) Captura de pantallas mediante extensión de Chrome y RAT.
Collection (TA0009) Clipboard Data (T1115) Captura del contenido del portapapeles.
Collection (TA0009) Data from Local System (T1005) Extracción de datos de navegadores y wallets de criptomonedas.
Command and Control (TA0011) Web Service (T1102) - Dead Drop Resolver (T1102.001) Uso de transacciones de Solana blockchain y eventos públicos de Google Calendar como dead drop resolver para C2.
Command and Control (TA0011) Application Layer Protocol: WebSocket (T1071.001) El RAT utiliza WebSocket para comunicación C2 bidireccional.
Command and Control (TA0011) Non-Standard Port (T1571) Posible uso de puertos no estándar para comunicación.
Collection (TA0009) Browser Session Hijacking (T1185) La extensión de Chrome realiza vigilancia activa de sesiones en sitios específicos (Bybit).
Impact (TA0040) Data Encrypted for Impact (T1486) / Financial Theft Robo de wallets de criptomonedas y tokens de autenticación para fraude financiero.

Flujo de Ataque (Cyber Kill Chain)

  1. Reconocimiento: Los atacantes identifican herramientas populares en el ecosistema de desarrollo (WakaTime, AutoImport) para suplantarlas. Identifican mantenedores legítimos para comprometer sus cuentas.
  2. Armamento: Los atacantes desarrollan el dropper Zig, la extensión maliciosa de VS Code, el RAT en WebSocket, el módulo .NET para phishing de hardware wallets, y la extensión de Chrome. Configuran la infraestructura C2 y los mecanismos de dead drop resolver en Solana blockchain y Google Calendar.
  3. Entrega: Publican la extensión maliciosa "specstudio.code-wakatime-activity-tracker" en Open VSX, paquetes npm/PyPI, y paquetes MCP. También empujan actualizaciones envenenadas a través de cuentas de mantenedores comprometidos.
  4. Explotación: El desarrollador instala la extensión maliciosa creyendo que es legítima. El código JavaScript de la extensión activa el binario Zig.
  5. Instalación (Primera Etapa - Zig Dropper): El binario Zig se carga en Node.js con acceso completo al sistema operativo. Escanea todos los IDEs compatibles con VS Code en el sistema. Descarga la extensión "floktokbok.autoimport" desde GitHub y la instala silenciosamente en cada IDE.
  6. Instalación (Segunda Etapa - Dropper): La extensión "floktokbok.autoimport" evita sistemas rusos, se comunica con Solana blockchain para obtener el servidor C2, y descarga los payloads finales.
  7. Instalación (Payloads Finales):
    • RAT (WebSocket + DHT): Se comunica con C2, ejecuta comandos (HVNC, SOCKS proxy, robo de datos de navegadores, captura de pantallas, keylogging, ejecución de JavaScript).
    • Extensión de Chrome (Google Docs Offline): Se fuerza la instalación, realiza vigilancia activa de sesiones en sitios como Bybit, roba cookies, localStorage, DOM, historial, marcadores.
    • .NET Binary (Hardware Wallet Phishing): Detecta conexión de dispositivos USB (Ledger/Trezor), muestra ventanas falsas de error, captura frases de recuperación de 24 palabras.
  8. Comando y Control (C2): El RAT establece comunicación vía WebSocket. La extensión de Chrome se conecta a su propio C2. Ambos reciben comandos y exfiltran datos.
  9. Acción sobre Objetivos: Robo de wallets de criptomonedas, credenciales de exchanges (Bybit), datos de navegadores, y posible acceso remoto mediante HVNC.

Infraestructura Utilizada

Tipo Indicador / Característica Propósito
Mercado Open VSX Open VSX (mercado de extensiones de código abierto) Distribución de la extensión inicial "specstudio.code-wakatime-activity-tracker".
Cuenta de GitHub Controlada Cuenta de GitHub del atacante Alojamiento de la extensión secundaria "floktokbok.autoimport" (.VSIX).
Extensión Legítima Suplantada (1) WakaTime (specstudio.code-wakatime-activity-tracker) Señuelo para la instalación inicial.
Extensión Legítima Suplantada (2) AutoImport (steoates.autoimport) - 5M+ instalaciones Suplantación para la segunda etapa.
Extensión de Chrome Suplantada Google Docs Offline Extensión maliciosa para robo de datos.
Blockchain Solana Transacciones de Solana Dead drop resolver para ocultar servidores C2.
Google Calendar Eventos públicos de Google Calendar Dead drop resolver alternativo para recuperar configuración C2.
Servidores C2 45.32.150[.]251, 45.150.34[.]158, 217.69.3[.]152 Alojamiento de payloads, RAT, y recepción de datos robados.
DHT (Distributed Hash Table) Red DHT Mecanismo alternativo para recuperar detalles C2.
Ecosistema MCP npm (@iflow-mcp/watercrawl-watercrawl-mcp) Nuevo vector de ataque para entornos de desarrollo con IA.

Objetivos y Sectores Afectados

  • Objetivo Principal: Desarrolladores de software (individuales y corporativos).
  • Sector Prioritario: Tecnología / Desarrollo de Software, Criptomonedas / Blockchain (por el robo de wallets).
  • IDEs Afectados: Microsoft VS Code, VS Code Insiders, VSCodium, Positron, Cursor, Windsurf (todos los compatibles con extensiones VS Code).
  • Plataformas de Distribución Abusadas: Open VSX, npm, PyPI, GitHub, MCP (Model Context Protocol).
  • Criptomonedas y Exchanges Objetivo: Ledger, Trezor (hardware wallets), Bybit (exchange).
  • Navegadores Objetivo: Google Chrome, Microsoft Edge, Brave, Opera, Opera GX, Vivaldi, Mozilla Firefox.
  • Distribución Geográfica: Global, con exclusión explícita de sistemas con configuración regional rusa (locale de Rusia).

Impacto y Riesgo

  • Nivel de Riesgo: Crítico para desarrolladores y organizaciones de tecnología que utilizan VS Code y ecosistemas relacionados. El compromiso de un desarrollador puede llevar a la infiltración en la cadena de suministro de software de toda una organización.
  • Impacto Potencial:
    • Robo de Wallets de Criptomonedas: Captura de frases de recuperación de hardware wallets (Ledger, Trezor) resultando en pérdida total de fondos.
    • Robo de Credenciales de Exchanges: Tokens de autenticación y cookies de Bybit y otros exchanges.
    • Exfiltración Masiva de Datos de Desarrolladores: Código fuente, claves API, tokens de acceso, credenciales de sistemas corporativos.
    • Compromiso de la Cadena de Suministro: Un desarrollador comprometido puede introducir malware en el código base de la organización, afectando a todos los clientes o usuarios finales.
    • Acceso Remoto a Sistemas: Mediante HVNC y SOCKS proxy, el atacante puede controlar remotamente la máquina del desarrollador.
    • Espionaje Corporativo: Robo de propiedad intelectual, secretos comerciales, y estrategias de desarrollo.
    • Pérdida de Confianza en Ecosistemas de Extensiones: La campaña erosiona la confianza en Open VSX, npm, PyPI y el ecosistema MCP.
  • Novedad del Vector MCP: La incursión en el ecosistema MCP (Model Context Protocol) es particularmente preocupante, ya que estos servidores tienen acceso privilegiado a entornos de desarrollo asistido por IA y a menudo reciben un alto nivel de confianza por diseño.

Recomendaciones de Mitigación

  1. Verificación Rigurosa de Extensiones y Paquetes (M1033):
    • Verificar nombres de publicadores y comparar con los oficiales. La extensión legítima WakaTime es publicada por "WakaTime", no por "specstudio".
    • Revisar el historial del paquete y la fecha de creación. Extensiones recién creadas con nombres similares a herramientas populares deben ser tratadas con sospecha.
    • No confiar ciegamente en los recuentos de descargas. Los atacantes pueden inflar artificialmente las estadísticas.
    • Utilizar herramientas como glassworm-hunter (open-source de AFINE) para escanear sistemas en busca de payloads asociados a la campaña.
  2. Restricción de Ejecución de Binarios Nativos en Extensiones (M1038):
    • Configurar políticas de seguridad en VS Code y otros IDEs para restringir la carga de binarios nativos desde extensiones no verificadas.
    • Monitorear la actividad de procesos node.exe que cargan bibliotecas compartidas no firmadas.
  3. Segmentación de Entornos de Desarrollo (M1030):
    • Aislar los entornos de desarrollo de las redes de producción y de los sistemas que contienen wallets de criptomonedas.
    • Utilizar máquinas virtuales o contenedores para tareas de desarrollo que requieren extensiones de terceros.
  4. Monitoreo de Actividad Anómala (M1040):
    • Implementar soluciones EDR en estaciones de trabajo de desarrolladores para detectar: (a) procesos node.exe cargando binarios inesperados (win.node, mac.node), (b) conexiones salientes a IPs sospechosas (45.32.150.251, 217.69.3.152, 45.150.34.158), (c) creación de tareas programadas o reglas de persistencia.
    • Monitorear la instalación de extensiones de Chrome no solicitadas (especialmente "Google Docs Offline" si no fue instalada por el usuario).
  5. Rotación de Secretos Tras Sospecha de Compromiso (M1026, M1053):
    • Si se ha instalado alguna de las extensiones maliciosas identificadas ("specstudio.code-wakatime-activity-tracker" o "floktokbok.autoimport"), asumir el compromiso y rotar todas las claves secretas: claves API, tokens de acceso, contraseñas, frases de recuperación de wallets, y certificados.
    • Realizar una limpieza completa del sistema o reinstalación del sistema operativo.

Herramientas de Detección

  • glassworm-hunter (AFINE): Herramienta open-source en Python que escanea sistemas locales en busca de payloads asociados a la campaña. Realiza cero solicitudes de red durante el escaneo (solo lectura local). La actualización de la base de datos IoC es el único comando que toca la red.
  • EDR / XDR: Soluciones como Microsoft Defender for Endpoint, CrowdStrike, SentinelOne pueden detectar la carga de binarios Zig no firmados en procesos Node.js, conexiones a IPs C2 conocidas, y la creación de procesos hijos sospechosos.
  • Monitoreo de Extensiones de VS Code: Scripts personalizados que auditan periódicamente las extensiones instaladas en VS Code y sus bifurcaciones, comparando con listas de confianza.
  • Monitoreo de Extensiones de Chrome: Políticas de grupo (GPO) para restringir la instalación de extensiones no autorizadas, especialmente "Google Docs Offline" si no es una extensión corporativa aprobada.
  • SIEM: Correlación de logs de endpoints, tráfico de red y actividad de autenticación para identificar patrones de compromiso.

Referencias y Fuentes

  • Lakshmanan, R. (2026, 10 de abril). La campaña GlassWorm utiliza Zig Dropper para infectar múltiples entornos de desarrollo integrados (IDE). (Artículo proporcionado por el usuario).
  • Lakshmanan, R. (2026, 25 de marzo). GlassWorm Malware Uses Solana Dead Drops to Deliver RAT and Steal Browser, Crypto Data. (Artículo proporcionado por el usuario).
  • Makari, I. (2026, abril). GlassWorm Analysis. Aikido Security. (Análisis técnico citado).
  • Sery, L. (2026). GlassWorm MCP Ecosystem Analysis. Koi Security. (Citado en el artículo).
  • Woyke, P. & Zakrzewski, S. (2026). glassworm-hunter. AFINE. (Herramienta open-source).
  • MITRE ATT&CK Framework. Enterprise Matrix. (Para mapeo de TTPs).

Historial de Revisiones

Fecha Versión Autor Cambios Realizados
2026-04-13 1.0 Fernando Vargas Creación inicial de la entrada basada en análisis de GlassWorm.

Indicadores de Compromiso (IOCs)

Tipo Valor
Extensión Maliciosa (Open VSX) specstudio.code-wakatime-activity-tracker
Extensión Legítima Suplantada (1) WakaTime
Extensión Secundaria (GitHub) floktokbok.autoimport
Extensión Legítima Suplantada (2) steoates.autoimport (5M+ instalaciones)
Extensión de Chrome Maliciosa Google Docs Offline (suplantada)
Binarios Zig win.node (Windows), mac.node (macOS)
Servidores C2 / IPs 45.32.150[.]251, 217.69.3[.]152, 45.150.34[.]158
Mecanismo Dead Drop Resolver Transacciones de blockchain Solana, Eventos públicos de Google Calendar, DHT
Paquete MCP Malicioso (npm) @iflow-mcp/watercrawl-watercrawl-mcp
Plataformas de Distribución Abusadas Open VSX, npm, PyPI, GitHub, MCP
Hardware Wallets Objetivo Ledger, Trezor
Exchange Objetivo Bybit (.bybit.com)
Cookies Objetivo (Bybit) secure-token, deviceid
Navegadores Objetivo Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Firefox
Técnica de Evasión Evita sistemas con locale ruso
Herramienta de Detección glassworm-hunter (AFINE)
Comportamiento Anómalo Extensión VS Code que carga binarios nativos no firmados (win.node, mac.node)
Comportamiento Anómalo Proceso Node.js con conexiones salientes a IPs 45.32.150.x, 45.150.34.x, 217.69.3.x
Comportamiento Anómalo Instalación no solicitada de extensión de Chrome "Google Docs Offline"
Comportamiento Anómalo Ventanas emergentes falsas de Ledger/Trezor pidiendo frases de recuperación
Comportamiento Anómalo Escaneo de sistemas en busca de múltiples IDEs (VS Code, VSCodium, Cursor, Windsurf, Positron)

Etiquetas / Categorías

glassworm zig-dropper supply-chain-attack ide-malware vscode open-vsx npm pypi mcp solana dead-drop-resolver google-calendar rat websocket hardware-wallet-phishing ledger trezor bybit chrome-extension google-docs-offline cryptocurrency-theft aikido-security glassworm-hunter ciberwiki developers malware-campaign