El paquete NPM roba contraseñas de Chrome a través de la herramienta legítima de recuperación de contraseñas - Calendae | Informática, Electrónica, CMS, Ciberseguridad

El paquete NPM roba contraseñas de Chrome a través de la herramienta legítima de recuperación de contraseñas

Hola y mil gracias por leerme. Te habla Eduardo Arroyo y hoy vamos a hablar sobre El paquete NPM roba contraseñas de Chrome a través de la herramienta legítima de recuperación de contraseñas

El paquete NPM roba contraseñas a través de la herramienta de recuperación de cuentas de Chrome

En otro ataque masivo a la cadena de suministro de software, el ladrón de contraseñas está robando credenciales de Chrome en sistemas Windows a través de ChromePass.

Se ha encontrado una bomba de código de robo de credenciales que utiliza herramientas legítimas de recuperación de contraseña en el navegador web Chrome de Google al acecho en el repositorio de código fuente abierto de npm, esperando ser implantada en la vasta galaxia de aplicaciones de minería de código de esa fuente.

Los investigadores capturaron credenciales de robo de malware de Chrome en sistemas Windows. El ladrón de contraseñas es multifuncional: también escucha los comandos entrantes del servidor de comando y control (C2) del atacante y puede cargar archivos, grabar desde la pantalla y la cámara de la víctima y ejecutar comandos de shell.

npm (originalmente abreviatura de Node Package Manager o NPM) es el administrador de paquetes predeterminado para el entorno de ejecución de JavaScript de Node.js, que se basa en el motor de JavaScript V8 de Chrome. Es similar a otros repositorios de código como GitHub, RubyGems y PyPI en que forma parte de una cadena de suministro de software (muy larga).

«Vast» sería un eufemismo para describir el ecosistema: npm aloja más de 1.5 millones de paquetes únicos y atiende más de mil millones de solicitudes de paquetes JavaScript por día, a aproximadamente 11 millones de desarrolladores en todo el mundo.

Abusar de la utilidad Google ChromePass

Además de los archivos JavaScript basados ​​en texto, npm también contiene varios tipos de ejecutables, como PE, ELF y Mach-O. Los investigadores de ReversingLabs, que publicaron sus resultados en un Publicación del miércoles, dijo que durante un escaneo del repositorio de código, encontraron un interesante archivo ejecutable incrustado de Windows: una amenaza de robo de credenciales. Con la etiqueta «Win32.Infostealer.Heuristics», apareció en dos paquetes: nodejs_net_server y temptesttempfile.

Al menos por ahora, la primera gran amenaza es nodejs_net_server. Algunos detalles:

  • nodejs_net_server: Un paquete con 12 versiones publicadas y un total de más de 1.300 descargas desde que se lanzó por primera vez en febrero de 2019. Se actualizó por última vez hace seis meses y fue creado por alguien con el nombre «chrunlee». Según ReversingLabs, chrunlee también parece ser un desarrollador activo en GitHub, donde el desarrollador está trabajando en 61 repositorios.

nodejs_net_server Resumen del paquete NPM. Fuente: ReversingLabs.

Perfil de github de Chrunlee. Fuente: ReversingLabs.

Mediante análisis estático, los investigadores encontraron el archivo Win32.Infostealer.Heuristics en diferentes versiones del paquete nodejs_net_server. Sus metadatos mostraron que el nombre del archivo original era «a.exe» y que estaba dentro de la carpeta «lib». Un nombre de archivo de una sola letra con tal extensión es una señal de alerta para los cazadores de amenazas, anotaron los investigadores. Efectivamente, a.exe resultó ser una utilidad llamada ChromePass, una herramienta legítima utilizada para recuperar contraseñas almacenadas en un navegador web Chrome.

chrunlee impulsó el paquete nodejs_net_server en 12 versiones hasta que lo actualizó en diciembre pasado con un script para descargar el ladrón de contraseñas, que el desarrollador aloja en un sitio web personal. Más tarde se modificó para ejecutar TeamViewer.exe en su lugar, «probablemente porque el autor no quería tener una conexión tan obvia entre el malware y su sitio web», teorizaron los investigadores.

chrunlee lanzó la primera versión «solo para probar el proceso de publicación de un paquete de NPM», describieron los analistas. Tres meses después, el productor de malware implementó la funcionalidad de shell remoto que se ha perfeccionado en varias versiones sucesivas. Luego, en abril de 2020, chrunlee realizó pequeños cambios en la funcionalidad del shell en las versiones 1.0.7 y 1.0.8. Finalmente, en diciembre de 2020 se actualizó la versión 1.1.0 con un script para descargar la herramienta de robo de contraseñas.

Empaquetar el segundo problema

  • filetemptesttemp: más de 800 descargas totales. Esto es un dolor de cabeza, ya que «la página de inicio y los enlaces del repositorio de GitHub a este paquete conducen a páginas web inexistentes», señalaron los analistas.

Uno de los paquetes npm de chrunlee, tempdownloadtempfile, también tiene enlaces inexistentes. Uno de sus archivos, file / test.js, implementa la misma funcionalidad de shell remoto que los que se encuentran en las versiones del paquete nodejs_net_server, pero este paquete no secuestra la ejecución y carece de un mecanismo de persistencia, lo que hace que su propósito sea «un poco confuso», dijo ReversingLabs. .

Desarrollador divertido de F-Up

Los analistas de ReversingLabs descubrieron un «hecho divertido» durante el desarrollo mientras recopilaban el código de nodejs_net_server: su autor, chrunlee, no solo creó un ladrón de credenciales, sino que también publicó accidentalmente sus credenciales de inicio de sesión almacenadas. atacar.

«Parece que las versiones 1.1.1 y 1.1.2 publicadas del repositorio npm incluyen resultados de pruebas de la herramienta ChromePass en la computadora personal del autor», anotaron los investigadores. «Estas credenciales de inicio de sesión se almacenaron en el archivo ‘a.txt’ ubicado en la misma carpeta que la herramienta de recuperación de contraseña, llamado ‘a.exe'».

Otro dato divertido: ese archivo de texto tiene 282 credenciales de inicio de sesión capturadas por el navegador de chrunlee, algunas de las cuales aún pueden ser válidas (ReversingLabs no las verificó). Y algunas de estas credenciales cuentan con las contraseñas más tontas («111», por ejemplo) y nombres de usuario («admin», ¿alguien?).

Algunas de las contraseñas que el autor del malware chrunlee recuperó de su navegador. Fuente: ReversingLabs.

«Con solo mirar algunas de las credenciales recuperadas … demuestra que al autor no siempre le han importado las mejores prácticas de política de contraseñas», subestimaron suavemente los analistas.

Los paquetes no válidos no se eliminaron

ReversingLabs se comunicó con el equipo de seguridad de npm el 2 de julio para advertirles sobre los paquetes nodejs_net_server y tempdownloadtempfile e hizo un nuevo giro la semana pasada, el jueves, ya que el equipo aún no había eliminado los paquetes del repositorio. Threatpost se ha puesto en contacto con npm Inc., que administra el repositorio, y actualizará esta historia con cualquier actualización o comentario.

Si no se elimina antes de que se publique este artículo, estos son los paquetes y SH1 a tener en cuenta:

  • nodejs_net_server-1.0.0: f79e03d904fafc5171392d2e54e10057780f9c25
  • nodejs_net_server-1.0.1: 9027433ef11506f349e9d89ec83d8050e669e3fb
  • nodejs_net_server-1.0.2: af2ec5a8e2a873e960f38d16e735dd9f52aa1e8b
  • nodejs_net_server-1.0.3: 41b56bd5b7aaf6af3b9a35a9e47771708fddc172
  • nodejs_net_server-1.0.4: 3128ebd6c3e89dc2b5a7ecf95967a81a4cdde335
  • nodejs_net_server-1.0.5: eb9cfe52e304702f1cf0fb1cc11dfc3fb1b0eab7
  • nodejs_net_server-1.0.6: 4b518b15db29eb9a0d8d11d1642f73e9da1275ca
  • nodejs_net_server-1.0.7: afe203e2d2cb295955915ba04edb079ae7697c62
  • nodejs_net_server-1.0.8: 6e9b1d8ce1bb49f0abc3bea62e0435912d35b458
  • nodejs_net_server-1.1.0: 9bf160389b0401435a2e5f8541688c1d5f877896
  • nodejs_net_server-1.1.1: 1be0fa1d44859e4c0bafc8317c1da1d4e897c1cc
  • nodejs_net_server-1.1.2: 3cb0aeed9f260d38504677c834a5878b4eb59dc2
  • tempdownloadtempfile-1.0.0: ffbefb79bd6b72a0e42bc04e03b9f63aa9e859e5

Secuestros de npm anteriores

Esta no es la primera vez que npm ha sido infiltrado por un código envenenado. A principios de este año, se lanzaron tres paquetes de software malicioso en npm; cualquier aplicación dañada por el código podría robar tokens y otra información de los usuarios de Discord, dijeron los investigadores.

En julio de 2018, un delantero credenciales npm comprometidas por un responsable de ESLint y publicaron versiones maliciosas de los populares paquetes «eslint-scope» y «eslint-config-eslint» en el registro de npm. El código malicioso copió las credenciales npm de la máquina que ejecuta eslint-scope y las cargó en el atacante.

Unos meses más tarde, en noviembre de 2018, se descubrió otro paquete malicioso: dependía de la versión 3.3.6 del popular paquete «event-stream». El paquete malicioso, llamado «flatmap-stream», contenía una carga útil encriptada diseñada para robar Bitcoin de la aplicación Copago.

Los repositorios son objetivos cada vez más populares

Si bien el hecho de que este malware haya estado en el registro de npm durante más de tres años es preocupante, el hecho es que, afortunadamente, esos años dieron a los motores antivirus la oportunidad de ponerse al día: VirusTotal muestra que 46 proveedores de seguridad han marcado el archivo a.exe como malicioso. Así lo señaló Ax Sharma, investigador senior de seguridad de Sonatype, quien dijo a Threatpost el miércoles que el malware de robo de contraseñas de Chrome «confirma aún más cómo los ataques a los ecosistemas de código abierto están aquí para quedarse y pueden pasar desapercibidos durante años».

No es solo npm en la mira de los piratas informáticos, eso sí. A principios de este mes, los investigadores se encontraron con un grupo de criptomineros que se infiltraron en PyPI, también conocido como Python Package Index (PyPI), un repositorio de código de software creado en el lenguaje de programación Python.

Según el informe, la infiltración de npm es solo el ejemplo más reciente de cómo los desarrolladores confían demasiado en el código de terceros, reutilizan bibliotecas para obtener resultados rápidos y fáciles, y «rara vez [making] evaluaciones de seguridad exhaustivas antes de incluirlos en su proyecto «.

Claro, hay mucho código por descubrir.

«Esta omisión es el resultado de la naturaleza abrumadora y la gran cantidad de posibles problemas de seguridad que se encuentran en el código de terceros», según ReversingLabs. “Entonces, en general, los paquetes se instalan rápidamente para ver si solucionan el problema y, si no, pasar a la alternativa. Esta es una práctica peligrosa y puede dar lugar a la instalación accidental de software malintencionado «.

Sharma dijo que lo que es particularmente notable sobre el descubrimiento de a.exe es el hecho de que utiliza una utilidad legítima de recuperación de contraseña de Windows, ChromePass, para robar contraseñas del navegador Chrome de un usuario. «Los actores de amenazas a menudo dependen de componentes y servicios legítimos para realizar sus siniestras actividades con el fin de evadir la detección», dijo por correo electrónico.

En la conclusión del informe, ReversingLabs señaló que los ataques a la cadena de suministro de software se están convirtiendo en «una estrategia poderosa» para los actores malintencionados, con los desarrolladores como un punto de entrada crítico para su organización y base de clientes.

«Uno de los vectores de ataque más frecuentes dirigidos a los desarrolladores es la explotación de repositorios de paquetes públicos», advierte el informe. «Debido a que estos repositorios tienen una gran cantidad de paquetes alojados, ofrecen un buen escondite para el malware al acecho. El descubrimiento repetido de paquetes maliciosos en estos repositorios ha demostrado que existe una creciente necesidad de soluciones de seguridad que puedan proporcionar una identificación y protección confiables. contra este tipo de ataques «.

072121 15:09 ACTUALIZACIÓN: Se agregó información de Axe Sharma.

.

Recuerda compartir en tu Facebook para que tus amigos opinen

??? ? ? ???

Comparte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *