GlassWorm se oculta en las herramientas de desarrollo. Una vez dentro, roba datos, instala malware de acceso remoto e incluso una extensión de navegador falsa para supervisar la actividad. Aunque empieza por los desarrolladores, el impacto puede extenderse rápidamente. Con credenciales robadas, tokens de acceso y herramientas comprometidas, los atacantes pueden lanzar ataques más amplios a la cadena de suministro, poniendo en riesgo tanto a las empresas como a los usuarios comunes.
Cómo se inicia la infección
GlassWorm suele distribuirse a través de canales para desarrolladores. Esto significa que los sistemas de los programadores se ven comprometidos al descargar paquetes maliciosos de repositorios de código como npm, GitHub, PyPI, etc. Estos pueden ser paquetes maliciosos nuevos o paquetes modificados procedentes de cuentas que antes eran de confianza, pero que ahora están comprometidas.
El desarrollador instala o actualiza un paquete de npm/PyPI o una extensión de VS Code de confianza o muy popular, pero la cuenta del mantenedor o la cadena de suministro se han visto comprometidas.
¿Qué ocurre tras la instalación?
Una vez descargado el paquete, se ejecuta un script de preinstalación o un cargador Unicode oculto que analiza el sistema. Si detecta una configuración regional rusa, la ejecución se detiene. De lo contrario, el script espera unas horas y, a continuación, se conecta discretamente a la cadena de bloques de Solana para averiguar dónde obtener la segunda fase de la infección. En lugar de codificar de forma fija un enlace que podría ser eliminado, el atacante almacena esta información en el campo «memo» de una transacción de Solana.
Segunda fase: Robo de datos
La carga útil de la segunda fase es un programa de robo de información que se centra en perfiles de extensiones de navegador, aplicaciones de monedero independientes y archivos .txt o de imagen que probablemente contengan semillas o claves, además de tokens de npm, credenciales de Git, secretos de VS Code y credenciales de proveedores de servicios en la nube. Tras recopilar esta información, la envía a un servidor remoto mediante una solicitud POST.
Tercera fase: Compromiso total del sistema
A continuación, pasa a la tercera fase. El malware descarga dos componentes principales: el archivo binario de phishing de Ledger/Trezor, dirigido a usuarios que tengan conectado un dispositivo Ledger o Trezor, y un troyano de acceso remoto (RAT) de Node.js con varios módulos, entre los que se incluyen programas para robar credenciales del navegador y un instalador Chrome. Consigue persistencia configurando tareas programadas y claves de registro en la carpeta «Run», de modo que el RAT se reinicia cada vez que se reinicia el sistema.
El RAT no codifica de forma fija su dirección principal de comando y control (C2). En su lugar, realiza una consulta en una tabla hash distribuida (DHT) para obtener la clave pública fijada. La DHT es un sistema distribuido que ofrece un servicio de consulta similar al de una tabla hash. Los pares clave-valor se almacenan en una DHT y pueden utilizarse para recuperar el valor asociado a una clave determinada. Si este método falla, el RAT vuelve a la cadena de bloques de Solana para obtener una nueva dirección IP.
Vigilancia y seguimiento del navegador
El RAT también instala a la fuerza una Chrome (en el ejemplo descrito por Aikido, se hace pasar por «Google Docs Offline»), que actúa como un sistema de vigilancia de la sesión integrado. Además de robar cookies, localStorage, el árbol completo del Modelo de Objetos de Documento (DOM) de la pestaña activa, marcadores, capturas de pantalla, pulsaciones de teclas, contenido del portapapeles, hasta 5000 entradas del historial del navegador y la lista de extensiones instaladas, también puede utilizarse para realizar capturas de pantalla y actuar como un keylogger.
Cómo lo ve la víctima
Desde el punto de vista de la víctima, todo esto ocurre de forma muy sigilosa. Si presta mucha atención, es posible que detecte algunas conexiones salientes sospechosas, las entradas de inicio y la nueva extensión del navegador.
¿Quiénes corren riesgo y cómo podría propagarse?
La configuración actual parece estar dirigida a desarrolladores que puedan tener activos en criptomonedas, pero muchos de estos componentes y la información sustraída pueden utilizarse para lanzar ataques a la cadena de suministro o dirigirse a otros grupos de usuarios.
Cómo mantenerse seguro
Dado el carácter sigiloso de esta cadena de infección, existen dos estrategias principales para mantenerse a salvo:
- Da prioridad a las versiones fijadas que se sabe que funcionan bien, y considera los cambios repentinos de responsabilidad, los nuevos mantenedores o las reescrituras importantes del código en versiones menores como motivos para realizar una revisión.
- Revisa periódicamente las extensiones del navegador, elimina cualquier cosa que no reconozcas y desconfía de los clones o duplicados del tipo «Google Docs Offline».
- Comprueba si hay entradas inesperadas en las tareas programadas y en las ubicaciones de inicio del Registro.
- Utiliza una solución antimalware actualizada y en tiempo real para detectar y bloquear las conexiones maliciosas y el malware descargado.
IOC (indicadores de compromiso)
Direcciones IP:
45.32.150[.]251
217.69.3[.]152
217.69.0[.]159
45.150.34[.]158

Claves del Registro:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateApp
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger
Tarea programada:
Nombre: UpdateApp which runs: AghzgY.ps1
Extensión para el navegador:
Nombre para mostrar: Google Docs sin conexión (versión 1.95.1)
Nombre del directorio Windows :jucku
Nombre del directorio de extensiones de macOS: myextension
No nos limitamos a informar de las amenazas: las eliminamos
Los riesgos de ciberseguridad nunca deben propagarse más allá de un titular. Mantenga las amenazas alejadas de sus dispositivos descargando Malwarebytes hoy mismo.




