volvervolver
Inteligencia artificial en Ciberseguridad

POR:
Martín Gelbort
(Cybersecurity Researcher & Trainer)

COMPARTIR

Paquete NPM “Oscompatible” genera ataque a la cadena de suministros de sistemas Windows

El paquete "oscompatible" ha sido utilizado para desplegar un sofisticado troyano de acceso remoto (RAT) en sistemas Windows. Se publicó el 9 de enero de 2024 y obtuvo 380 descargas antes de ser eliminado del repositorio utilizado por NPM. Phylum, una empresa especializada en seguridad de la cadena de suministro de software, informó que el paquete contenía un archivo ejecutable, una biblioteca DLL y un archivo DAT cifrado, además de un archivo JavaScript.

¿Qué es NPM?

Node Package Manager (NPM) es una herramienta esencial en el mundo del desarrollo web, particularmente en proyectos que utilizan Node.js, una plataforma para ejecutar JavaScript en el servidor. Como un gestor de paquetes, NPM permite a los desarrolladores instalar, compartir y administrar dependencias (librerías y herramientas) en sus proyectos de forma eficiente y organizada.

NPM opera a través de un registro en línea, que es una colección masiva de paquetes de software público y privado. Este registro actúa como un repositorio centralizado donde los desarrolladores pueden publicar sus propios paquetes y acceder a los de otros. La variedad y cantidad de paquetes disponibles en NPM son enormes, cubriendo desde frameworks y bibliotecas hasta herramientas de construcción y pruebas.

El uso de NPM simplifica el proceso de desarrollo. Los desarrolladores pueden instalar rápidamente paquetes con un simple comando, incorporando así funcionalidades complejas sin necesidad de escribir código desde cero. Esto fomenta la reutilización de código y ahorra tiempo valioso, permitiendo a los desarrolladores centrarse en aspectos más innovadores y específicos de sus proyectos.

Además, NPM gestiona las versiones y dependencias de los paquetes, asegurando que los proyectos sean consistentes y funcionen correctamente en diferentes entornos. Esto es crucial en entornos de desarrollo colaborativo, donde múltiples desarrolladores trabajan en el mismo proyecto.

En resumen, NPM es un componente vital en el ecosistema de desarrollo de JavaScript, ofreciendo una plataforma eficiente y efectiva para la gestión de paquetes y dependencias en proyectos de software.

¿Cómo funciona el ataque?

El ataque se inicia con la ejecución de "index.js" que primero verifica si la plataforma es Windows y, si es así, simplemente ejecuta el archivo "autorun.bat" y, si no detecta Windows, le indica al usuario que necesita ser ejecutado específicamente en "Windows Server OS".

El script "autorun.bat" primero verifica si tiene privilegios de administrador y, si no, ejecuta el archivo "cookie_exporter.exe" y solicita la escalada de privilegios antes de ejecutarlo. Sin embargo, si el script se ejecutó y ya tenía privilegios de administrador, entonces no sucedería nada.

Si necesita elevar privilegios, lo hará utilizando "cookie_exporter.exe" es un componente real de Microsoft Edge que se usa aquí por tener una firma Authenticode válida. Intentar ejecutar el proceso como administrador debería mostrar que Microsoft Edge quiere ejecutarse como administrador con una solicitud de Control de Cuentas de Usuario (UAC).

Al hacer clic en “Sí” en el aviso del UAC, se ejecutará "cookie_exporter.exe" con privilegios de administrador. Y aquí es donde el atacante utiliza la táctica de secuestro del orden de búsqueda de DLL. Si recordamos de antes, también tenemos un archivo llamado "msedge.dll" en el mismo directorio que se envió con este exe en el paquete npm. Lo pertinente aquí es que el ejecutable usa "LoadLibraryExA" para cargar una DLL llamada "msedge.dll".

Resulta que "msedge.dll" también es un componente real de Microsoft Edge, sin embargo, la "msedge.dll" que se envía con este paquete no es la verdadera "msedge.dll". Fue firmado el 06 NOV 2023 usando un certificado que fue revocado el 09 MAR 2023. Aún no está claro si estas claves son el resultado de un compromiso más amplio.

Una vez que se carga "msedge.dll", invoca a una función llamada "ExportSpartanCookies". Esta función no exporta las cookies de Edge. En cambio, abre el archivo cifrado y suministrado por el atacante, "msedge.dat", lo descifra usando una clave XOR de 352 bytes para producir otra DLL llamada "msedgedat.dll" y luego la ejecuta. Es importante señalar que parece que esta DLL se carga en la memoria y se ejecuta desde allí sin escribir primero en el disco.

"msedgedat.dll" realiza algunas solicitudes a un dominio llamado kdark1[.]com y descarga un archivo zip. Existe una parte del código que aparenta estar diseñado para identificar la necesidad de actualizar el archivo, lo que indica que esto podría ser parte de una operación en curso.



El archivo zip que descarga contiene:

 • ud.exe: Un ejecutable que toma el control de la pantalla y muestra una animación falsa de actualización de Windows 10 (copiada de updatefaker.com, contenida en resources.neu). Esto es Neutralinojs, una alternativa a Electron, pero ha sido firmado utilizando el mismo certificado de firma de código revocado que msedge.dll.

 • AnyDesk.exe: Una copia de AnyDesk.

 • Band64.dll: Esta DLL se inyecta en Explorer para que el escritorio pueda ser ocultado usando SetWindowBand.

 • RpcTest64.dll: Esta DLL se inyecta en winlogon.

 • verify.dll: Una DLL cifrada utilizando el mismo mecanismo que msedge.dat.

El archivo verify.dll es un RAT. Tras su despliegue, realiza las siguientes acciones:

 • Se registra como una tarea programada.
 • Recibe comandos de un servidor remoto utilizando websockets.
 • Instala extensiones de Chrome en Preferencias Seguras.
 • Configura AnyDesk, oculta la pantalla y deshabilita el apagado de Windows.
 • Captura eventos de teclado y mouse.
 • Recopila información sobre archivos, extensiones de navegador e historial de navegación.

La vulnerabilidad explotada por "oscompatible" radica en su capacidad de simular ser un paquete legítimo, lo que facilita su instalación inadvertida por los usuarios. Una vez ejecutado, este software realiza varias acciones maliciosas:

 • Instalación Silenciosa: El paquete se instala sin el conocimiento explícito del usuario, aprovechando las brechas de seguridad en el sistema o en el software instalado.

 • Ejecución de Código Remoto: Permite a los atacantes ejecutar código arbitrario en la máquina infectada. Esto significa que los atacantes pueden realizar casi cualquier acción en el sistema comprometido, desde robar datos hasta instalar más malware.

 • Establecimiento de Backdoors: La mayor amenaza de este paquete es su capacidad de establecer puertas traseras en el sistema. Estas backdoors son vías de acceso remoto para los atacantes, permitiéndoles entrar y salir del sistema a su antojo.

 • Recolección de Datos: Una vez dentro del sistema, puede recopilar una amplia gama de datos personales y confidenciales, incluyendo credenciales de acceso, información financiera y archivos personales.

 • Propagación en Redes: La habilidad de este malware para propagarse a través de redes conectadas aumenta exponencialmente su peligro, poniendo en riesgo no solo al usuario inicial sino también a sistemas conectados.

Esta complejidad y sofisticación hacen que "oscompatible" sea una amenaza particularmente peligrosa y difícil de detectar y erradicar una vez que ha infectado un sistema.

El impacto de "oscompatible" en los usuarios de Windows no es trivial. Dada su capacidad de dar acceso remoto a los atacantes, las implicaciones van desde la violación de la privacidad hasta el potencial robo de información confidencial y financiera. La magnitud del problema se ve acentuada por la popularidad de Windows como sistema operativo, lo que pone en riesgo a millones de usuarios en todo el mundo.

Conclusión

Los ataques a la cadena de suministro representan una amenaza cibernética emergente y altamente disruptiva. Estos ataques, que se centran en infiltrar organizaciones a través de sus proveedores y socios de confianza, ponen de manifiesto la interconexión y dependencia que tienen las empresas modernas en su red de suministro. La naturaleza sigilosa de estos ataques los hace particularmente peligrosos, ya que los atacantes pueden permanecer indetectados durante largos periodos, maximizando el potencial de daño.

La reciente escalada en la frecuencia y sofisticación de estos ataques subraya la necesidad de una estrategia de seguridad robusta y proactiva. Las empresas deben ir más allá de las medidas de seguridad convencionales y adoptar un enfoque holístico que incluya la evaluación continua de riesgos, la supervisión de la red de proveedores y la implementación de controles de seguridad rigurosos en todos los niveles de la cadena de suministro.

La educación y la formación en seguridad informática para empleados y socios también son esenciales, ya que el factor humano a menudo es el eslabón más débil en la seguridad.

En resumen, los ataques a la cadena de suministro exigen un cambio en la mentalidad de seguridad de “sí ocurre” a “cuando ocurra”. Prepararse para estos ataques no es solo una cuestión de implementar la tecnología adecuada; también implica fomentar una cultura de seguridad consciente y resiliente. Al abordar estos desafíos de manera integral, las organizaciones pueden fortalecer su postura de seguridad y protegerse mejor contra las amenazas cada vez más complejas en el panorama de la ciberseguridad actual.