En una investigación reciente, se ha observado una nueva campaña de malware que implica una variante de RAT denominada Oscompatible que es entregada a través de NPM mediante un proceso relativamente complicado que se hizo pasar de manera convincente como un proceso de actualización estándar de Microsoft, que según los investigadores de Phylum se ejecuta sin los privilegios de administrador ó puede hacer lo mismo de forma interactiva desde el nodo Read Eval Print Loop (REPL), desde un shell de Linux o Windows.
NPM
NPM pertenece a GitHub (Microsoft), es un gestor de paquetes de JavaScript que viene empaquetado con NodeJS, su uso está orientado a publicar, descargar, instalar y administrar librerías y dependencias de forma simple. Se puede usar tanto en el navegador web como fuera de él, en sistemas de escritorio o servidores web.
NPM almacena los paquetes en una carpeta llamada "node_modules" dentro del proyecto, o de forma global según se indique.
¿Cómo opera el RAT?
Inicialmente el RAT se carga en los paquetes NPM a través de un proceso de actualización estándar de Microsoft sin privilegios de administrador o de forma interactiva desde el nodo Read Eval Print Loop (REPL), desde un shell de Linux o Windows. Si bien el paquete ya fue removido de los registros de la web de NPM, para la fecha de este boletín, al menos 296 usuarios fueron afectados por la descarga de dicho paquete, según se muestra en la ilustración a continuación.
Ilustración 1: Web NPM indicando la baja del paquete malicioso
Fuente: https://www.npmjs.com/package/oscompatible
Una vez que el paquete malicioso se encuentra dentro del sistema víctima, comprueba si la plataforma es Windows y si es así simplemente ejecuta el archivo y si no detecta Windows, le dice al usuario que debe ejecutarse específicamente en "Windows Server OS".autorun[.]bat, que posteriormente verifica si tiene privilegios de administrador y, si no, ejecuta y solicita la escalada de privilegios antes de ejecutarse.
Esto lleva al archivo cookie_exporter[.]exe un componente legítimo de Microsoft Edge; usado como firma de Authenticode válida. Al intentar ejecutar el proceso como administrador, se debe mostrar que Microsoft Edge requiere ejecutarse como administrador en el símbolo del sistema de como se muestra en la siguiente ilustración
Ilustración 2: Ejecución del archivo malicioso cookie[.]exe
Fuente: Phylum
Una vez que el usuario presiona “Yes”, el malware se ejecutará con privilegios de administrador utilizando una táctica llamada "secuestro de órdenes de búsqueda de DLL" o “DLL search order hijacking”, mediante otro archivo dentro del paquete NPL llamado msedge[.]dll que utiliza el mismo directorio que el archivo anterior cookie_exporter[.]exe ejecutado a traves de LoadLibraryExA una libreria de Windows que proporciona un mayor control sobre el orden de la ruta de búsqueda para archivos DLL, donde el actor de amenaza buscará los ejecutables de interés para continuar con las siguientes etapas del malware.
Características del malware
Apreciación
Es importante destacar que los ataques de la cadena de suministro del ecosistema de software de código abierto (OSS), como NPM, Python, entre otras, se vuelve cada vez más importantes y sofisticados por cuanto los actores de amenazas buscan disfrazar sus creaciones con procesos legítimos de los sistemas víctima, para evadir las detecciones convencionales.
Estos ataques, aprovechan la poca atención de los que administran recursos de software de código abierto, a los paquetes que dejan sin soporte y en desuso y aún visibles para el usuario, tal como lo menciona la firma de seguridad Aquasec que reveló que el 21,2% de los 50.000 paquetes npm más descargados están en desuso, lo que expone a los usuarios a riesgos de seguridad. En otras palabras, los paquetes obsoletos se descargan aproximadamente 2.100 millones de veces por semana esto incluye los repositorios de GitHub archivados y eliminados asociados con los paquetes, así como aquellos que se mantienen sin un repositorio visible, el historial de confirmaciones y el seguimiento de problemas.
El Centro de Ciberinteligencia de Entel CyberSecure recomienda lo siguiente:
Tipo | Indicador |
---|---|
NPM_RAT | - |
hash | 3712af5f9bfbcdbc4fdd6e28314... |
hash | d2952e57023848a37fb0f21f0df... |
hash | f7ad1eab748bc07570a57ec8778... |
dominio | kdark1[.]com |