Introducción
En diciembre de 2022, el grupo de ciberespionaje ruso Turla (también conocido como SUMMIT, Secret Blizzard o VENOMOUS BEAR) desplegó STOCKSTAY, un backdoor .NET con capacidad de espionaje persistente. Desde entonces, el malware fue actualizado en 2025 para imitar aplicaciones benignas como visores de PDF o calculadoras, ocultando su verdadera función. A diferencia de campañas masivas, Turla lo usó contra organismos gubernamentales ucranianos, militares y entidades vinculadas a la política exterior italiana, demostrando su enfoque en blancos de alto valor estratégico.
El análisis de Google Threat Intelligence Group (GTIG) revela que STOCKSTAY no es una herramienta aislada, sino parte de un ecosistema modular que comparte código con KAZUAR, otro backdoor avanzado de Turla. Este patrón sugiere una evolución controlada de tácticas, técnicas y procedimientos (TTPs) del grupo, que data de 2004 según registros públicos. La novedad aquí es su arquitectura distribuida, donde cada componente cumple un rol específico: desde la comunicación cifrada con servidores C2 hasta la ejecución de comandos en el host infectado.
Qué ocurrió
Turla implementó STOCKSTAY como una solución de espionaje persistente, diseñada para operar en segundo plano y exfiltrar datos sensibles. El malware se distribuye como un ejecutable .NET que, en sus primeras versiones, se hacía pasar por una herramienta de visualización de datos bursátiles (stock market data viewer). Sin embargo, en 2025, los actores de amenaza actualizaron su dropper para que se camufle como:
- Visores de documentos PDF (ej:
PDFReader.exe). - Calculadoras (ej:
CalcHelper.exe). - Herramientas de sistema (ej:
SysMon.exe).
El cambio en la fachada no es cosmético: refleja una adaptación táctica para evadir detecciones basadas en firmas estáticas. Según el informe de GTIG, el 37% de las muestras analizadas en 2025 usaban nombres de procesos legítimos de Windows o aplicaciones de terceros para mezclarse con el tráfico normal del sistema.
Arquitectura modular y comunicación cifrada
STOCKSTAY opera como un sistema de backdoors interconectados, compuesto por cuatro componentes principales que se comunican mediante IPC (Inter-Process Communication) usando mensajes WM_COPYDATA (un mecanismo legítimo de Windows para intercambio de datos entre procesos):
| Componente | Rol | Comunicación | Funcionalidad clave |
|---|---|---|---|
| **STOCKBROKER** | Proxy de red | WebSocket (librería *websocket-sharp*) | Enruta todo el tráfico C2. Se ejecuta como servicio oculto y usa proxies configurados en el archivo de configuración. |
| **STOCKMARKET** | Orquestador | IPC con STOCKBROKER y STOCKTRADER | Lee configuración cifrada, genera claves RSA de 4096 bits y asigna un *internal_id* único por infección. |
| **STOCKTRADER** | Backdoor principal | IPC con STOCKMARKET | Ejecuta comandos: borrado de archivos, captura de pantalla, enumeración de directorios y exfiltración de datos. |
| **Configuración** | Persistencia | Almacenada en disco (camuflada) | Usa URLs falsas de mercados de criptomonedas y campos descriptivos falsos para ocultar datos cifrados. |
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Riesgos para entornos Windows
STOCKSTAY afecta sistemas operativos Windows desde Windows 7 SP1 hasta Windows 11 (versiones 21H2 y 22H2). Su impacto varía según el componente comprometido:
| Componente | Privilegios requeridos | Acciones posibles | Riesgo asociado |
|---|---|---|---|
| **STOCKTRADER** | Usuario estándar (ej: BLOCK9 ) | Ejecución de comandos, captura de pantalla, exfiltración de archivos. | **Alto**: robo de credenciales, movimiento lateral en redes internas. |
| **STOCKBROKER** | Usuario estándar | Encapsulamiento de tráfico C2. | **Medio**: evade detecciones basadas en comportamiento de red. |
| **STOCKMARKET** | Usuario estándar | Generación de claves RSA, asignación de *internal_id*. | **Bajo-Medio**: persistencia del malware, pero no ejecución directa de comandos. |
- Según el informe de GTIG, el 68% de las víctimas fueron organizaciones en Ucrania, mientras que el 32% correspondió a blancos en Italia vinculados a políticas exteriores.
- El malware tiene una tasa de detección baja en VT (VirusTotal): solo el 22% de las muestras analizadas en 2025 tenían detecciones en motores antivirus (promedio de 3/69 escáneres).
Impacto en la nube
Aunque STOCKSTAY está diseñado para entornos Windows tradicionales, su modus operandi puede afectar infraestructuras híbridas o en la nube si:
- Las VMs Windows en Azure/AWS/GCP tienen puertos abiertos innecesarios (ej:
443/TCPpara WebSocket sin restricciones de IP). - Los grupos de seguridad (NSG en Azure, Security Groups en AWS) permiten tráfico saliente a IPs no autorizadas.
- Los sistemas de monitoreo (como Google Chronicle o Microsoft Defender for Cloud) no tienen reglas de detección para tráfico WebSocket cifrado.
Si un atacante compromete una VM Windows en la nube con STOCKSTAY, podría:
- Exfiltrar archivos de configuración de servicios cloud (ej: credenciales de Azure AD o AWS IAM).
- Usar la VM como pivot para atacar otros recursos en la misma red virtual.
Detalles técnicos
Vectores de infección
GTIG no identificó un vector único, pero sugiere estos métodos probables:
- Phishing: adjuntos maliciosos en correos (ej: archivos
.isoo.imgque contienen el dropper). - Explotación de vulnerabilidades conocidas:
– CVE-2021-40444 (Microsoft MSHTML Remote Code Execution): si la víctima abre un documento Office malicioso.
- Ataques a supply chain: compromiso de actualizaciones de software legítimo (ej: un paquete NuGet o MSI alterado).
Persistencia y cifrado
- Persistencia: STOCKMARKET crea una tarea programada en Windows (
schtasks) que ejecuta el backdoor al inicio del sistema. El nombre de la tarea suele ser aleatorio (ej:WindowsUpdateHelper). - Cifrado:
– La configuración en disco se cifra con AES-128-CBC y se almacena en un archivo con extensión .tmp o .dat.
– STOCKMARKET genera un par de claves RSA-4096 al primer arranque. La clave pública se envía al C2 en el primer handshake.
Comandos soportados (STOCKTRADER)
| Comando | Parámetros | Ejemplo de uso | Riesgo |
|---|---|---|---|
