10 paquetes PyPI maliciosos encontrados robando credenciales de desarrollador

Los analistas de amenazas han descubierto diez paquetes maliciosos de Python en el repositorio de PyPI, utilizados para infectar los sistemas de los desarrolladores con malware para robar contraseñas.

Los paquetes falsos usaban typosquatting para hacerse pasar por proyectos de software populares y engañar a los usuarios de PyPI para que los descargaran.

PyPI (Python Package Index) es un depósito de más de 350,000 paquetes de software de código abierto que millones de usuarios registrados pueden incorporar fácilmente en sus proyectos de Python y crear productos complejos con un mínimo esfuerzo.

Los operadores de malware aprovechan la naturaleza abierta de la plataforma y  con frecuencia cargan  paquetes maliciosos o falsos para comprometer los sistemas de los desarrolladores.

A partir de ahí, los actores de amenazas apuntan a los desarrolladores y sus activos para ataques a la cadena de suministro, roban código fuente patentado o buscan posibles puntos de inflexión en el entorno de desarrollo de software.

Diez paquetes de Pypi utilizados para robar credenciales

Los paquetes PyPi maliciosos descubiertos por CheckPoint y descritos en un  nuevo informe  son:

  • Ascii2text : imitando el “arte”, una popular biblioteca de arte ASCII para Python, Ascii2text usa la misma descripción menos los detalles de la versión. Su código obtiene un script malicioso que busca contraseñas locales y las extrae a través de un webhook de Discord.

Comparación de paquetes falsos y reales   (CheckPoint)

  • Pyg-utils, Pymocks, PyProto2 : los tres paquetes tienen como objetivo las credenciales de AWS y se parecen mucho a otro conjunto de paquetes descubierto por Sonatype en junio . El primero incluso se conecta al mismo dominio (“pygrata.com”), mientras que los otros dos apuntan a “pymocks.com”.
  • Test-async : paquete con una descripción vaga que obtiene código malicioso de un recurso remoto y notifica a un canal de Discord que se ha establecido una nueva infección.
  • Free-net-vpn y Free-net-vpn2 : recopilador de credenciales de usuario publicado en un sitio asignado por un servicio de asignación de DNS dinámico.

Script de instalación de Free-net-vpn (CheckPoint)

  • Zlibsrc : imitando el proyecto zlib, este paquete contiene un script que descarga y ejecuta un archivo malicioso desde una fuente externa.
  • Browserdiv : paquete dirigido a las credenciales de los programadores de diseño web. Utiliza webhooks de Discord para la exfiltración de datos.
  • WINRPCexploit : un paquete de robo de credenciales que promete automatizar la explotación de la vulnerabilidad RPC de Windows. Sin embargo, cuando se ejecuta, el paquete cargará las variables de entorno del servidor, que comúnmente contienen credenciales, a un sitio remoto bajo el control del atacante.

Script de instalación de Browserdiv (CheckPoint)

Aunque CheckPoint informó sobre los paquetes descubiertos y los eliminó de PyPI, los desarrolladores de software que los descargaron en sus sistemas aún podrían estar en riesgo.

Si ha descargado y utilizado alguno de los paquetes anteriores, considérese comprometido y tome las medidas adecuadas.

En muchos casos, los paquetes maliciosos sentaron las bases para posibles ataques a la cadena de suministro, por lo que la computadora del desarrollador puede ser solo el punto inicial de una infección generalizada, y el código debe auditarse en busca de código malicioso.

Es importante recordar que ningún paquete en PyPI viene con garantías de seguridad, y los usuarios son responsables de examinar los nombres, los historiales de lanzamiento, los detalles de envío, los enlaces de la página de inicio y los números de descarga.

Todos estos elementos en conjunto pueden ayudar a determinar si un paquete de Python es confiable o potencialmente malicioso.