El repositorio de paquetes NPM sigue activo y, a pesar de la disminución en los números de malware entre 2023 y 2024, las cifras de este año no parecen continuar esa tendencia a la baja.
Recientemente, los investigadores de seguridad han descubierto dos paquetes interesantes Ethers-Provider2 y Ethers-Providerz.
Estos paquetes actúan como descargadores, inyectando código malicioso en una versión localmente instalada del paquete Ether legítimo y, en última instancia, crean un shell inverso en la máquina de la víctima. Este nivel de refinamiento requiere una investigación más exhaustiva.
Distribución de malware Ethers-Provider2
El paquete Ethers-Provider2 está disponible en NPM en el momento de la publicación e imita el paquete SSH2 legítimo y ampliamente utilizado.
Aunque contiene un código fuente SSH2 legítimo, Ethers-Provider2 contiene adiciones maliciosas.
ReversingLabs ha detectado código malicioso en Ethers-Provider2. El archivo Install.js se modificó para descargar dos etapas de malware desde el servidor remoto durante la instalación.
Este script descargado se ejecutará y se eliminará de inmediato. Esta es una táctica que es rara en un paquete legal y muestra intención maliciosa.
El malware de la segunda etapa funciona verificando continuamente el sistema local para la presencia de paquetes legales de éter.
Cuando se detecta, reemplaza el archivo del proveedor-jsonrpc.js con una versión modificada que contiene código malicioso que descarga y ejecuta el malware del tercer escenario desde el mismo servidor remoto.
Paquete malicioso
Además, el malware de la segunda etapa crea un archivo Loader.js que replica y ejecuta la función “Patch”.
La etapa final implica establecer una conexión de shell inversa al servidor del atacante utilizando un cliente SSH del paquete Ethers-Provider2.
Este cliente funciona de manera similar a un cliente SSH2 legítimo, mientras se modifica para recibir ciertos mensajes que inician un shell inverso.
Críticamente, esta caparazón inversa permanece activa incluso después de que se elimina Erters-Provider2, proporcionando persistencia a los atacantes.
Paquete Ethers-Providerz
El paquete Ethers-Providerz, parte de la misma campaña, viene en tres versiones, con las dos últimas similares a Ethers-Provider2.
La primera versión parecía una versión de prueba con componentes no funcionales. La carga útil maliciosa en el script Install.js intenta parchear el archivo en el paquete @etersproject/proveedores.
Sin embargo, la ruta del archivo se definió incorrectamente, dejando la incertidumbre particular del paquete objetivo.
La carga útil también crea y ejecuta un archivo Malicioso cargador.js en la carpeta Node_Modules. Descarga la segunda etapa del mismo servidor remoto que Ethers-Provider2 y lee el informe ReversingLabs.
Es posible que el actor de amenaza intente “parchear” un paquete NPM común, legítimo e instalado localmente utilizando una versión casi idéntica que contiene código malicioso.
Tras el descubrimiento de Ethers-Provider2 y Ethers-Providerz, los investigadores identificaron paquetes adicionales que podrían estar vinculados a la campaña: reproducción-hardhat y @teórico123/proveedores.
Ambos paquetes se han eliminado de NPM. La campaña destaca los riesgos de la creciente cadena de suministro de software tanto para productores de software como para organizaciones de usuarios finales.
A pesar de la disminución del malware en los repositorios de código abierto en 2024, los actores maliciosos participan activamente en la distribución de paquetes maliciosos a los desarrolladores.
El refinamiento de este ataque, particularmente el mecanismo de mantenimiento, enfatiza la necesidad de vigilancia y medidas de seguridad robustas para mitigar las amenazas de la cadena de suministro.
Investigue enlaces maliciosos del mundo real y ataques de phishing con búsqueda de inteligencia de amenazas: pruébelo gratis