Seguridad

Los administradores de PyPI eliminan tres paquetes maliciosos tras más de 10 000 descargas

El Python Package Index (PyPI) ha eliminado los paquetes de despliegue de malware y de robo de datos que fueron descargados miles de veces. Aunque dos de los paquetes maliciosos han permanecido sin ser detectados durante 10 meses.

El trío de paquetes maliciosos engañaba a los usuarios desprevenidos mediante el uso de nombres de paquetes legítimos.

Reputación

En el caso de dos de los paquetes, exfiltraban datos de sistemas comprometidos, el número de descargas también fue potencialmente inflado por el parecido al nombre real y la repercusión que estos paquetes tenían aumentó su credibilidad.

«Ambos paquetes incluían la URL de su código fuente como una biblioteca popular existente, por lo que cualquiera que navegara hasta el paquete en PyPI o analizara la popularidad de la biblioteca vería un gran número de estrellas y forks de GitHub, lo que indicaba una buena reputación«.

Andrew Scott, director de producto en Palo Alto y mantenedor del proyecto de seguridad de Python Ochrona Security, en una publicación del blog Medium.

Subidos por el mismo usuario, los dos paquetes – «dpp-client» y «dpp-client1234«- parecían dirigirse a usuarios de Apache Mesos, que se utiliza para gestionar clusters de ordenadores.

Fueron subidos a PyPI en febrero de 2021, tras lo cual dpp-client fue descargado más de 10 000 veces, incluyendo más de 600 descargas sólo en el último mes. Scott agradeció al equipo de seguridad de Python la rápida eliminación de los paquetes el 13 de diciembre, el mismo día en que se lo notificó.

Un tercer paquete de redistribución de troyanos, llamado «aws-login0tool«, registró unas 600 descargas entre su aparición en PyPI el 1 de diciembre y su eliminación cuando los administradores de PyPI fueron alertados el 10 de diciembre.

«Creo que aws-login0tool pretendía confundir a los usuarios de una herramienta llamada aws-login-tool que ya no existe en PyPI, pero sí en algunas réplicas antiguas».

«Los paquetes dpp-client tengo que suponer que tal vez [pretenden imitar] un componente interno de algún tipo de herramienta de pipeline de procesamiento de datos, pero no he podido confirmarlo».

Andrew Scott a The Daily Swig

Operativo malicioso

Los tres paquetes fueron identificados como potencialmente maliciosos a través de la cadena import urllib.request, «ya que ésta se utiliza comúnmente para exfiltrar datos o descargar archivos maliciosos», dijo Scott.

El par de robos de datos reunía variables de entorno y listados de archivos, aparentemente buscando archivos relacionados con Apache Mesos, y los transmitía «a un servicio web desconocido».

El aws-login0tool realizaba una instalación de paquetes estándar, antes de buscar un archivo .exe «desde un dominio no descrito» e intentar ejecutar el archivo, un conocido troyano de Windows.

«Es difícil saber cuál sería el impacto de esto».»El paquete de troyanos sólo se limitaría a las capacidades del malware y la extracción de datos realmente dependerá de su entorno – pero definitivamente podría ver esto siendo capaz de cosechar cosas como creds de AWS y otras claves de API. Estoy menos seguro de qué información específica de Mesos se almacena en los directorios objetivo.»

Andrew Scott

Sondeo en Python

Los hallazgos surgieron de un análisis estático de unos 200 000 paquetes de PyPI -cerca de dos tercios del total- después de descargarlos con Bandersnatch.

Extrajo los paquetes creando «un script de Python bastante sencillo para iterar recursivamente a través de la estructura de carpetas algo complicada de Bandersnatch y luego descomprimir y extraer cada sdist, egg o wheel a un directorio plano».

«Una vez extraído, ejecuté una serie de búsquedas de cadenas y regex utilizando grep, y luego revisé manualmente los resultados», dijo Scott.

Esta técnica también descubrió una pequeña vulnerabilidad en un paquete de código abierto desarrollado por un proveedor comercial.

Scott dijo que Ochrona, una herramienta de análisis de la composición del software de código abierto, puede ayudar a los desarrolladores si utilizan una réplica o quieren averiguar si los paquetes están presentes en su proyecto.

También tiene la intención de actualizar y perfeccionar su análisis de paquetes y publicará más adelante otros hallazgos.

Más información:

3 New Malicious Packages Found on PyPI https://medium.com/ochrona/3-new-malicious-packages-found-on-pypi-a6bbb14b5e2

PyPI admins remove three malicious packages after more than 10,000 downloads https://portswigger.net/daily-swig/pypi-admins-remove-three-malicious-packages-after-more-than-10-000-downloads

La entrada Los administradores de PyPI eliminan tres paquetes maliciosos tras más de 10 000 descargas se publicó primero en Una al Día.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.