84 minutos en el catálogo oficial: ¿poco? Las víctimas de la campaña BRIDGEHEAD lo desmienten

84 minutos en el catálogo oficial: ¿poco? Las víctimas de la campaña BRIDGEHEAD lo desmienten

La separación entre Linux y Windows resultó ser mucho menos fiable de lo que pensaban los desarrolladores.

image

La habitual combinación de herramientas de Linux y Windows se convirtió en una vía para el robo de datos de desarrolladores. Especialistas de CloudSEK detectaron la campaña maliciosa BRIDGEHEAD con 40 paquetes npm falsos que imitaban bibliotecas populares como axios, lodash, react y typescript. Tras la instalación, el código malicioso verificaba el sistema y, cuando se ejecutaba en Windows o en WSL, iniciaba la siguiente etapa de la infección.

La característica principal de BRIDGEHEAD fue el paso desde Windows Subsystem for Linux al sistema Windows principal. El instalador identificaba WSL por variables de entorno y archivos del sistema Linux, tras lo cual ejecutaba un PowerShell oculto y descargaba main.exe desde GitHub. Al ejecutar npm directamente en Windows, el paquete evitaba PowerShell y descargaba el programa con funciones de Node.js.

El archivo descargado era un programa de 22 megabytes escrito en Rust, dentro del cual se ocultaba un módulo malicioso cifrado. Tras descifrarlo, el módulo se ejecutaba en la memoria del mismo proceso, sin crear un archivo separado ni un proceso hijo. Este enfoque reducía notablemente la cantidad de rastros que los sistemas de protección suelen usar para detectar la ejecución de código ajeno.

El análisis de memoria mostró que el programa malicioso buscaba datos de 26 carteras de escritorio, credenciales, cookies e historial de navegadores basados en Chromium, así como directorios de sesión de Telegram Desktop. Antes de enviar la información, el programa recopilaba datos del hardware y obtenía la IP pública a través de api.ipify.org, tras lo cual preparaba la carga de los datos al servicio público gofile.io.

Los 40 paquetes npm estuvieron en el registro durante unos 84 minutos y luego fueron eliminados, sin embargo el archivo main.exe alojado en GitHub permaneció accesible aproximadamente 39 horas más. El contador de descargas aumentó de 119 a 173, pero CloudSEK subraya que el número de descargas no debe tomarse como número de equipos infectados. La cuenta de GitHub con el archivo malicioso también dejó de estar disponible más tarde.

Al momento de la comprobación, el servidor de control de la campaña seguía respondiendo. CloudSEK recomienda en los sistemas afectados cambiar las credenciales guardadas en los navegadores y las sesiones activas, trasladar fondos de las carteras afectadas, comprobar %TEMP% en busca de main.exe y eliminar los paquetes maliciosos de archivos lock, espejos y cachés de CI. En entornos WSL también aconsejan limitar la ejecución de programas de Windows desde Linux si no es necesaria esa posibilidad.