Saltar al contenido
Cosas Tecnológicas

30.000 descargas de software de la máquina donde PyPI saqueó al desarrollador

Los investigadores dijeron el jueves que aproximadamente 30.000 paquetes de software de código abierto descargados del repositorio de código abierto de PyPI contenían código malicioso que robaría datos de tarjetas de crédito y credenciales de inicio de sesión e inyectaría código malicioso en las máquinas infectadas.

En una publicación de blog, los investigadores Andrey Polkovnichenko, Omer Kaspi y Shachar Menashe del proveedor de software DevOps JFrog declararon que recientemente descubrieron ocho paquetes de software que realizan una serie de actividades maliciosas en PyPI. Según una búsqueda en https://pepy.tech (un sitio que proporciona estadísticas sobre descargas de paquetes de Python), los investigadores estiman que el paquete malicioso se ha descargado aproximadamente 30.000 veces.

Amenaza sistémica

Este descubrimiento es el último de una larga lista de ataques que han abusado de la aceptación de los repositorios de código abierto en los últimos años, y millones de desarrolladores de software confían en los repositorios de código abierto todos los días. Aunque juegan un papel vital, los repositorios a menudo carecen de fuertes controles de seguridad y censura. Esta debilidad ocurre cuando los desarrolladores, sin saberlo, se infectan o incorporan código malicioso en el software que lanzan. Puede causar serios ataques a la cadena de suministro.

Asaf Karas, director de tecnología de JFrog, escribió en un correo electrónico: “El descubrimiento constante de paquetes de malware en repositorios populares como PyPI es una tendencia preocupante que puede llevar a ataques generalizados a la cadena de suministro”. “Los atacantes pueden usarlo. Técnicas simples de ofuscación introducir malware significa que los desarrolladores deben permanecer atentos. Se trata de una amenaza sistémica que los encargados de mantenimiento y desarrolladores del repositorio de software deben abordar activamente en varios niveles “.

Los investigadores agradecieron al encargado de mantenimiento de PyPI, Dustin Ingram, por “responder rápidamente y eliminar el paquete malicioso” después de recibir la notificación. Ingram no respondió de inmediato a una solicitud de comentarios.

Los diferentes paquetes enviados el jueves llevaron a cabo diferentes tipos de actividades malignas. Seis de ellos tienen tres cargas útiles, uno se usa para recopilar cookies de autenticación para las cuentas de Discord, el segundo se usa para extraer las contraseñas o datos de tarjetas de pago almacenados en el navegador, y el tercero se usa para recopilar información sobre la PC infectada, como Dirección IP, nombre de la computadora y nombre de usuario.

Los dos paquetes restantes contienen malware que intenta conectarse a la dirección IP en el puerto TCP 9009 especificado por el atacante y luego ejecuta cualquier código Python disponible en el socket. No sé cuál es la dirección IP o si contiene malware.

Como la mayoría de los programas maliciosos de Python para principiantes, estos paquetes solo utilizan una ofuscación simple, como la ofuscación del codificador Base64. El siguiente es un desglose del paquete:

Nombre del paqueteMantenedorCarga útil
noblexin1111Ladrón de tokens de discordia, ladrón de tarjetas de crédito (Basado en Windows)
Robot de creaciónxin1111Como nobles
xin1111Como nobles
sufrirsufrirIgual que la nobleza, confundido Armadura
Noble 2sufrirComo nobles
Noble 2sufrirComo nobles
PitagoraLeonora 123Inyección de código remoto
pytagora2Leonora 123Igual que pytagora

Karas me dijo que los primeros seis paquetes son capaces de infectar la computadora del desarrollador, pero no pueden infectar el código escrito por el desarrollador usando malware.

“Esto es posible con los paquetes pytagora y pytagora2 que permiten la ejecución de código en la máquina donde están instalados”, dijo en un mensaje directo. “Después de infectar la máquina de desarrollo, permitirán que se ejecute el código, y luego el atacante puede descargar la carga útil, modificando así el proyecto de software en desarrollo. Sin embargo, no tenemos evidencia de que esto se haya hecho realmente”.

Tenga cuidado con el paquete de malware “Frankenstein”

En lugar de pasar unos días desarrollando código para realizar tareas diarias, los programadores pueden usar repositorios como PyPI, RubyGems o npm para obtener paquetes de aplicaciones maduras ya desarrolladas por sus pares. Por ejemplo, de los 2,7 millones de paquetes de software disponibles en PyPI, los desarrolladores pueden usar estos paquetes de software para permitir que las aplicaciones usen datos rastreados desde Internet para predecir el precio de venta de las casas, enviar correos electrónicos a través del servicio de correo electrónico simple de Amazon o verificar el código abierto. código para vulnerabilidades. PyPI proporciona paquetes para software escrito en Python, mientras que RubyGems y npm proporcionan paquetes para aplicaciones Ruby y JavaScript.

Esta función vital hace que el repositorio sea un entorno ideal para los ataques a la cadena de suministro, que utilizan técnicas conocidas como ciberocupación o dependencia de la ofuscación, que son cada vez más comunes.

El ataque a la cadena de suministro del repositorio se remonta al menos a 2016, cuando un estudiante universitario cargó un paquete malicioso en PyPI. En unos pocos meses, su código de sustitución de impostores se ha ejecutado más de 45.000 veces en más de 17.000 dominios independientes, y más de la mitad de su código ha recibido una autoridad de gestión omnipotente. Desde entonces, los ataques a la cadena de suministro se han convertido en la norma para RubyGems y npm. En los últimos meses, los hackers de sombrero blanco han ideado un nuevo tipo de ataque a la cadena de suministro cargando paquetes maliciosos en repositorios de código público y asignándoles un nombre que es el mismo que el almacenado en el repositorio interno de un software popular. Los paquetes son los mismos. Estos llamados ataques de ofuscación de dependencia han dejado en problemas a Apple, Microsoft y otras 33 empresas.

Los investigadores de JFrog dijeron que, según el estado actual de la seguridad del repositorio, es probable que Internet se enfrente a más ataques en el futuro.

Escribieron: “Casi todos los fragmentos de código analizados en este estudio se basan en herramientas públicas conocidas, y solo algunos parámetros han cambiado”. “La ofuscación también se basa en ofuscadores públicos. Esperamos ver más de estos malware de ‘Franken’ Stan el paquete se empalmó de diferentes herramientas de ataque (con parámetros de fuga modificados) “.