**La Campaña MALFEX: Un Nuevo Capítulo en la Amenaza de los Paquetes Maliciosos de npm**
En un contexto donde la ciberseguridad se torna cada vez más crítica, la reciente campaña MALFEX, descubierta por el equipo de inteligencia de amenazas global de CloudSEK, pone de manifiesto la vulnerabilidad de los ecosistemas de desarrollo. Esta operación, que ha estado activa desde agosto de 2023, ha utilizado paquetes maliciosos de npm para desplegar un troyano de acceso remoto (RAT) conocido como Overlord, con el objetivo de robar datos de Discord y de navegadores, así como de mantener el acceso a sistemas Windows comprometidos. Este tipo de ataque no solo afecta a los desarrolladores y a las empresas que confían en el software libre y en las bibliotecas de código abierto, sino que también tiene implicaciones más amplias para la seguridad de la información en la industria tecnológica.
La campaña MALFEX se caracteriza por su sofisticación y su uso ingenioso de la cadena de suministro de software. CloudSEK ha identificado al menos 12 paquetes de npm y un repositorio de GitHub, que se vinculan a esta operación, todos ellos bajo el nombre Malfex. El operador detrás de esta campaña parece ser un individuo que habla portugués, evidenciado por la presencia de texto en portugués en un repositorio y un identificador de GitHub relacionado con Brasil. Sin embargo, hasta la fecha, no se ha establecido un vínculo directo entre la campaña y dicho país.
Los investigadores hallaron paquetes como tlxbnhd, tdriver y mxdriver que, a través de scripts de instalación de npm, descargan un ejecutable de Windows disfrazado de archivo PNG. Este ejecutable contiene un script cifrado que, finalmente, carga el Overlord RAT, un troyano de acceso remoto de código abierto basado en Go. Las capacidades de Overlord son preocupantes: puede capturar pantallas, grabar pulsaciones de teclas, proporcionar acceso a la consola remota e interactuar con el escritorio de la víctima. Esta variante del malware tiene la particularidad de usar la blockchain de Solana para recuperar direcciones actualizadas de servidores de comando y control (C2), lo que le permite localizar su infraestructura de control de manera más eficiente.
Además, se identificó una segunda cadena de entrega que emplea el paquete img-to-native y su dependencia cdn-img-fetch para recuperar un archivo PNG de GitHub. Este paquete, al igual que el anterior, descifraba un payload incrustado y, en última instancia, descargaba un paquete de Node.js de 64 MB. Este bundle inyectaba código en los clientes de Discord, robando tokens de autenticación y datos de cuentas. También se dirigía a las cookies y credenciales de los navegadores, así como a billeteras de criptomonedas y datos de sesiones de Telegram. La información robada se enviaba a través de un webhook de Discord controlado por el atacante.
Uno de los aspectos alarmantes de la campaña MALFEX es que algunos de los paquetes maliciosos permanecieron disponibles incluso mucho después de que se iniciara la operación. De hecho, cinco paquetes MALFEX recibieron advertencias de seguridad, mientras que otros tres continuaron disponibles sin tales advertencias. Destaca el caso de function-flag, que estuvo operativo durante 14 meses como un paquete malicioso. Otro, cdn-img-fetch, seguía accesible incluso después de que npm eliminara su paquete padre, img-to-native. A su vez, el paquete relacionado function-color también dependía de function-flag.
El descubrimiento de MALFEX se produce en un momento en que el abuso de npm para ataques de cadena de suministro está en aumento. En agosto, se reportó la campaña Shai-Hulud, que comprometió Keyv y paquetes relacionados, propagando malware a otros paquetes de npm y robando credenciales de desarrolladores. Esto resalta la necesidad urgente de que las empresas y los desarrolladores adopten medidas proactivas en la protección contra este tipo de amenazas.
CloudSEK advierte que eliminar un solo paquete malicioso de npm no es suficiente, especialmente cuando existen paquetes relacionados, dependencias y payloads externos que permanecen activos. Por tanto, se recomienda realizar una revisión exhaustiva de todos los componentes conectados en lugar de depender únicamente de las advertencias de seguridad individuales de npm. La vigilancia constante y la implementación de prácticas de desarrollo seguras son esenciales para mitigar los riesgos asociados con estas campañas maliciosas, que amenazan no solo a los desarrolladores individuales, sino también a la integridad de la cadena de suministro de software en su conjunto.
