CloudGuard Spectral detecta varios paquetes maliciosos en PyPI – El repositorio oficial de software para desarrolladores de Python – Check Point Research
Puntos clave:
- CloudGuard Spectral detecta 10 paquetes maliciosos en PyPI, el principal índice de paquetes de Python utilizado por los desarrolladores para el lenguaje de programación Python.
- Los paquetes maliciosos instalan exploits de robo de datos que permiten a los atacantes robar la información personal y las credenciales personales de un desarrollador.
- Tras la detección, CPR reveló la información y alertó a PyPI sobre estos paquetes. Luego será eliminado por PyPI.
- CPR insta a los usuarios a estar atentos y conscientes de estos paquetes
Antecedentes
PyPI Es el principal repositorio de Python más utilizado por los usuarios de Python. Todos los desarrolladores de Python están familiarizados con la “instalación de pip” diaria para traer el software de Python que necesitan.
Pypi ayuda a los desarrolladores a encontrar e instalar software desarrollado y compartido por otros desarrolladores en esta comunidad. Actualmente, la plataforma y su uso son gratuitos y los desarrolladores usan el repositorio a diario. Según ellos mismos sitio webPypi tiene más de 612.240 usuarios activos, 391.325 proyectos trabajando y 3.664.724 lanzamientos.
Lo que muchos usuarios no saben es que esta simple frase los pone en alto riesgo. El comando pip install ejecuta la instalación del paquete, que puede incluir el script setup.py. Este script puede incluir fragmentos de Python para realizar el proceso de instalación requerido en la máquina del instalador de destino. Los piratas informáticos utilizan esta función para incrustar código malicioso como parte de un script de instalación, que se ejecuta sin ser detectado en la máquina del usuario. La ignorancia no es felicidad en esta situación, ya que este tipo de ataques suelen recopilar puntos de datos muy importantes, como contraseñas y tokens Api. Además, este tipo de ataques van en aumento. Un ejemplo relevante puede ser último ataque de pigrata donde se utilizan paquetes maliciosos para robar claves de AWS (Amazon Web Services) y variables de entorno como parte de un ataque a la cadena de suministro. Es importante señalar que los actores maliciosos no se hacen esperar y, como puede ver, los mismos atacantes ya crearon una nueva campaña contra los usuarios de PyPI. Los detalles de los paquetes que descubrimos se describen y detallan en este blog.
Ascii2texto
Ascii2texto es solo un paquete malicioso que imita el arte popular paquete con nombre y descripción. Curiosamente, fueron lo suficientemente inteligentes como para copiar la descripción completa del proyecto sin la parte de lanzamiento, evitando que los usuarios se dieran cuenta de que era un paquete falso.
Una imagen falsa de ascii2text comparada con la imagen original del artpack
La parte maliciosa del paquete estaba en el archivo __init__.py importado por el script de instalación setup.py. El código en el archivo __init__.py fue responsable de descargar y ejecutar un script malicioso que buscaba contraseñas locales y las cargaba usando la bifurcación web de discord.
Fragmento malicioso dentro de __init__.py
Un script malicioso que descarga
Pyg-utils, Pymocks y PyProto2
Pyg-utils parece un remanente de los últimos tiempos Campaña Pygrata su propósito era recopilar las credenciales de AWS de los usuarios. Como parte de la instalación de Setup.py, Pyg-utils se conecta al mismo dominio malicioso (pygrata.com), que podría ser la infraestructura para un ataque de phishing. pymocks y PyProto2 Curiosamente, tiene casi el mismo código dirigido a un dominio diferente: pymocks.com. Mientras que pyg-utils se lanzó el 15/6, Pymocks y PyProto se lanzaron más recientemente (24/6 y 7/4 respectivamente). El dominio pymocks.com también se creó el mismo día (24/6). Por lo tanto, es lógico suponer que todos estos paquetes fueron creados por el mismo actor malicioso, probablemente Pyg-utils, que decidió esconderse y copiar y volver a ejecutar sus campañas maliciosas.
El archivo setup.py malicioso Pyg-utils está al lado de los archivos Pymocks y PyProto2 casi idénticos.
Prueba asíncrona
Prueba asíncrona se describe como en la descripción ‘extremadamente útil y un excelente paquete de prueba que todos necesitan al 100%’. Descarga y ejecuta código posiblemente malicioso de Internet en el script de instalación setup.py. Curiosamente, antes de descargar ese fragmento, le dice al canal Discord que ha comenzado una “nueva ejecución”.
Script de configuración test-async setup.py
VPN de red gratis
VPN de red gratis y red gratis vpn2 son paquetes maliciosos que se dirigen a variables de entorno. Tener un código limpio y documentado para recopilar las credenciales de los usuarios en su script de configuración setup.py (es bueno ver que incluso los piratas informáticos están prestando atención a los estándares del código). Luego, estos secretos se publican en el sitio asignado por el servicio de asignación dinámica de DNS.
Script de configuración free-net-vpn setup.py
Zlibsrc
El paquete zlibsrc aparentemente trató de confundir a los usuarios legítimos con el popular instalador de Python zlib paquete. En su script setup.py, descarga y ejecuta el archivo malicioso como parte de la instalación.
La secuencia de comandos zlibsrc __init__.py
navegadordiv
Browserdiv es un paquete malicioso diseñado para robar las credenciales de los instaladores al recopilarlas y enviarlas a un webhook de phishing predefinido. Curiosamente, aunque el nombre parece apuntar a la programación relacionada con el diseño web (bowser, div), la motivación del paquete según la descripción es permitir el uso de selfbots dentro de discord.
Script de instalación browserdiv setup.py
WINRPPCploit
Un paquete malicioso que roba las credenciales de los usuarios como parte del script de configuración Setup.py (curiosamente, según su descripción, este ‘Paquete para aprovechar la vulnerabilidad RPC de Windows’, la realidad es que solo roba las credenciales del instalador).
Secuencia de comandos de instalación WINRPCexploit setup.py
CloudGuard espectral los usuarios están protegidos de paquetes maliciosos
Ataques a la cadena de suministro diseñado para aprovechar las relaciones de confianza entre la organización y las partes externas. Estas relaciones pueden incluir asociaciones, relaciones con proveedores o el uso de software de terceros. Los actores de amenazas cibernéticas comprometerán a una organización y luego usarán estas conexiones confiables para obtener acceso a los entornos de otras organizaciones y ascender en la cadena de suministro. Dichos ataques se han vuelto más frecuentes en los últimos años y su impacto ha aumentado, por lo que los desarrolladores deben asegurarse de mantener sus acciones seguras, verificar dos veces cada componente de software en uso, especialmente si se descarga de diferentes repositorios, especialmente no autónomos. unos. – creado.
En Spectralops.io, Checkpoint Now empresa, nuestra misión es crear un proceso de desarrollo seguro, asegurándonos de que los desarrolladores estén haciendo lo correcto (en cuanto a la seguridad). Como parte de este esfuerzo, analizamos constantemente PyPI en busca de paquetes maliciosos para evitar tales riesgos de ataques a la cadena de suministro.
Divulgación responsable de PyPi
Después de identificar estos usuarios y paquetes maliciosos, nuestros investigadores notificaron a PyPI a través del correo electrónico designado que figura en el sitio web oficial de PyPi, invitando a los usuarios a notificarles sobre problemas de seguridad y solicitando su eliminación. PyPI eliminó estos paquetes después de nuestro anuncio.