Los piratas informáticos secuestran 22.000 paquetes PyPI eliminados y difunden código malicioso a los desarrolladores


4 de septiembre de 2024Ravie Lakshmanan

Se ha explotado indiscriminadamente una nueva técnica de ataque a la cadena de suministro dirigida al registro del índice de paquetes de Python (PyPI) en un intento de infiltrarse en organizaciones posteriores.

La empresa de seguridad de la cadena de suministro de software JFrog lo ha bautizado como Revival Hijack y ha afirmado que el método de ataque podría utilizarse para secuestrar 22.000 paquetes PyPI existentes y provocar “cientos de miles” de descargas de paquetes maliciosos. Estos paquetes susceptibles tienen más de 100.000 descargas o han estado activos durante más de seis meses.

“Esta técnica de ataque implica secuestrar paquetes de software de PyPI manipulando la opción de volver a registrarlos una vez que son eliminados del índice de PyPI por el propietario original”, dijeron los investigadores de seguridad de JFrog Andrey Polkovnychenko y Brian Moussalli en un comunicado. informe compartido con The Hacker News.

En esencia, el ataque se basa en el hecho de que varios paquetes de Python publicados en el repositorio PyPI se eliminan, lo que los deja disponibles para que cualquier otro usuario los registre.

Ciberseguridad

Las estadísticas compartidas por JFrog muestran que, en promedio, se eliminan unos 309 paquetes cada mes. Esto puede suceder por diversas razones: falta de mantenimiento (es decir, abandonware), reedición de paquetes con un nombre diferente o introducción de la misma funcionalidad en bibliotecas oficiales o API integradas.

Esto también representa una superficie de ataque lucrativa que es más efectiva que el typosquatting y que un atacante, usando sus propias cuentas, podría explotar para publicar paquetes maliciosos bajo el mismo nombre y una versión superior para infectar entornos de desarrolladores.

“La técnica no depende de que la víctima cometa un error al instalar el paquete”, afirman los investigadores, destacando que Revival Hijack puede ofrecer mejores resultados desde el punto de vista de un adversario. “Actualizar un paquete que antes era seguro a su última versión es considerado una operación segura por muchos usuarios”.

Si bien PyPI cuenta con protecciones contra la suplantación de autor y los intentos de typosquatting, el análisis de JFrog descubrió que ejecutar el “lista de pips –obsoletaEl comando ” enumera el paquete falsificado como una nueva versión del paquete original, donde el primero corresponde a un paquete diferente de un autor completamente diferente.

Aún más preocupante es el funcionamiento del “instalación de pip –actualizaciónEl comando ” reemplaza el paquete real con el falso sin ninguna advertencia de que el autor del paquete ha cambiado, lo que potencialmente expone a los desarrolladores involuntarios a un enorme riesgo en la cadena de suministro de software.

JFrog dijo que tomó la medida de crear una nueva cuenta de usuario de PyPI llamada “tenencia de seguridad” que solía secuestrar de forma segura los paquetes susceptibles y reemplazarlos con marcadores de posición vacíos para evitar que actores maliciosos sacaran provecho de los paquetes eliminados.

Además, a cada uno de estos paquetes se le ha asignado el número de versión 0.0.0.1 (lo opuesto a un escenario de ataque de confusión de dependencia) para evitar que los desarrolladores los retiren cuando ejecutan un comando de actualización pip.

Lo que es más inquietante es que Revival Hijack ya ha sido explotado en la naturaleza, con un actor de amenaza desconocido llamado Jinnis introduciendo una versión benigna de un paquete llamado “pingdomv3” el 30 de marzo de 2024, el mismo día en que el propietario original (cheneyyan) eliminó el paquete de PyPI.

Se dice que el 12 de abril de 2024, el nuevo desarrollador lanzó una actualización que contiene una carga útil codificada en Base64 que verifica la presencia de “JENKINS_URL” variable de entorno y, si está presente, ejecuta un módulo desconocido de siguiente etapa recuperado de un servidor remoto.

Ciberseguridad

“Esto sugiere que los atacantes retrasaron la entrega del ataque o lo diseñaron para que fuera más específico, posiblemente limitándolo a un rango de IP específico”, dijo JFrog.

El nuevo ataque es una señal de que los actores de amenazas están considerando realizar ataques a la cadena de suministro a una escala más amplia, al apuntar a los paquetes PyPI eliminados para expandir el alcance de las campañas. Se recomienda a las organizaciones y desarrolladores que inspeccionen sus procesos de DevOps para asegurarse de que no estén instalando paquetes que ya se hayan eliminado del repositorio.

“El uso de un comportamiento vulnerable en el manejo de paquetes eliminados permitió a los atacantes secuestrar paquetes existentes, lo que hizo posible instalarlos en los sistemas de destino sin realizar cambios en el flujo de trabajo del usuario”, dijo Moussalli, líder del equipo de investigación de seguridad de JFrog.

“La superficie de ataque del paquete PyPI crece continuamente. A pesar de la intervención proactiva en este caso, los usuarios siempre deben permanecer alerta y tomar las precauciones necesarias para protegerse a sí mismos y a la comunidad PyPI de esta técnica de secuestro”.

¿Te ha parecido interesante este artículo? Síguenos en Gorjeo y LinkedIn para leer más contenido exclusivo que publicamos.





ttn-es-57