Se han descubierto dos paquetes troyanos de Python y PHP en lo que es otra instancia de un ataque a la cadena de suministro de software dirigido al ecosistema de código abierto.
Uno de los paquetes en cuestión es «ctx», un módulo de Python disponible en el repositorio de PyPi. El otro implica «phpass», un paquete de PHP que se ha bifurcado en GitHub para distribuir una actualización no autorizada.
«En ambos casos, el atacante parece haberse apoderado de paquetes que no se han actualizado en mucho tiempo», dijo el SANS Internet Storm Center (ISC) , uno de cuyos manejadores de incidentes voluntarios, Yee Ching, analizó el paquete ctx.
Vale la pena señalar que ctx se publicó por última vez en PyPi el 19 de diciembre de 2014. Por otro lado, phpass no ha recibido una actualización desde que se cargó en Packagist el 31 de agosto de 2012.
El paquete malicioso de Python, que se envió a PyPi el 21 de mayo de 2022, se eliminó del repositorio , pero la biblioteca de PHP sigue estando disponible en GitHub.
En ambos casos, las modificaciones están diseñadas para filtrar las credenciales de AWS a una URL de Heroku denominada ‘anti-theft-web.herokuapp[.]com’. «Parece que el perpetrador está tratando de obtener todas las variables de entorno, codificarlas en Base64 y enviar los datos a una aplicación web bajo el control del perpetrador», dijo Ching.
Se sospecha que el atacante logró obtener acceso no autorizado a la cuenta del mantenedor para publicar la nueva versión de ctx. Una investigación adicional ha revelado que el actor de amenazas registró el dominio vencido utilizado por el mantenedor original el 14 de mayo de 2022.
«Con el control sobre el nombre de dominio original, crear un correo electrónico correspondiente para recibir un correo electrónico de restablecimiento de contraseña sería trivial», agregó Ching. «Después de obtener acceso a la cuenta, el perpetrador podría eliminar el paquete anterior y cargar las nuevas versiones con puerta trasera».
Coincidentemente, el 10 de mayo de 2022, el consultor de seguridad Lance Vick reveló cómo es posible comprar dominios de correo electrónico de mantenimiento de NPM vencidos y luego usarlos para volver a crear correos electrónicos de mantenimiento y tomar el control de los paquetes.
Además, un análisis de metadatos de 1,63 millones de paquetes JavaScript NPM realizado por académicos de Microsoft y la Universidad Estatal de Carolina del Norte el año pasado descubrió 2818 direcciones de correo electrónico asociadas con dominios caducados, lo que permitió a un atacante secuestrar 8494 paquetes al hacerse cargo de las cuentas NPM.
«En general, cualquier nombre de dominio se puede comprar de un registrador de dominios, lo que permite al comprador conectarse a un servicio de alojamiento de correo electrónico para obtener una dirección de correo electrónico personal», dijeron los investigadores. «Un atacante puede secuestrar el dominio de un usuario para apoderarse de una cuenta asociada con esa dirección de correo electrónico».
Si el dominio de un mantenedor caduca, el autor de la amenaza puede adquirir el dominio y modificar los registros de intercambio de correo DNS ( MX ) para apropiarse de la dirección de correo electrónico del mantenedor.
«Parece que el compromiso de phpass ocurrió porque el propietario de la fuente del paquete, ‘hautelook’, eliminó su cuenta y luego el atacante reclamó el nombre de usuario», dijo el investigador Somdev Sangwan en una serie de tuits, detallando lo que se llama un ataque de secuestro de repositorio .
Los repositorios públicos de código fuente abierto como Maven, NPM, Packages, PyPi y RubyGems son una parte fundamental de la cadena de suministro de software en la que muchas organizaciones confían para desarrollar aplicaciones.
Por otro lado, esto también los ha convertido en un objetivo atractivo para una variedad de adversarios que buscan distribuir malware.
Esto incluye typosquatting , confusión de dependencias y ataques de apropiación de cuentas, el último de los cuales podría aprovecharse para enviar versiones fraudulentas de paquetes legítimos, lo que lleva a compromisos generalizados de la cadena de suministro.
«Los desarrolladores confían ciegamente en los repositorios e instalan paquetes de estas fuentes, suponiendo que sean seguros», dijo el año pasado la firma DevSecOps JFrog , y agregó cómo los actores de amenazas están usando los repositorios como un vector de distribución de malware y lanzan ataques exitosos tanto en el desarrollador como en CI/CD. máquinas en la tubería.