Software descargado 30.000 veces de máquinas de desarrolladores saqueadas por PyPI

Software descargado 30.000 veces de máquinas de desarrolladores saqueadas por PyPI

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

en un correo, los investigadores Andrey Polkovnichenko, Omer Kaspi y Shachar Menashe del proveedor de software devops JFrog dijeron que recientemente encontraron ocho paquetes en PyPI que llevaban a cabo una variedad de actividades maliciosas. Basado en búsquedas en https://pepy.tech, un sitio que proporciona estadísticas de descarga de paquetes de Python, los investigadores estiman que los paquetes maliciosos se descargaron unas 30.000 veces.

Amenaza sistémica

El descubrimiento es el último de una larga lista de ataques en los últimos años que abusan de la receptividad de los repositorios de código abierto, en los que millones de desarrolladores de software confían a diario. A pesar de su papel crucial, los repositorios a menudo carecen de controles sólidos de seguridad y de investigación, una debilidad que tiene el potencial de causar serios ataques a la cadena de suministro cuando los desarrolladores se infectan sin saberlo o incorporan código malicioso en el software que publican.

“El descubrimiento continuo de paquetes de software malicioso en repositorios populares como PyPI es una tendencia alarmante que puede llevar a ataques generalizados a la cadena de suministro”, escribió Asaf Karas, CTO de JFrog, en un correo electrónico. “La capacidad de los atacantes de utilizar técnicas sencillas de ocultación para introducir malware significa que los desarrolladores deben estar preocupados y vigilantes. Esta es una amenaza sistémica y debe ser abordada activamente en varias capas, tanto por los mantenedores de los repositorios de software como por los desarrolladores “.

Los investigadores agradecieron al mantenedor de PyPI Dustin Ingram “por responder rápidamente y eliminar los paquetes maliciosos” cuando se les notificó. Ingram no respondió de inmediato a una solicitud de comentarios.

Los diferentes paquetes del recorrido del jueves llevaron a cabo diferentes tipos de actividades nefastas. Seis de ellos tenían tres cargas útiles, una para recolectar cookies de autenticación para cuentas de Discord, una segunda para extraer contraseñas o datos de tarjetas de pago almacenados por los navegadores, y la tercera para recopilar información sobre la PC infectada, como direcciones IP, nombre de la computadora y nombre de usuario.

Los dos paquetes restantes tenían malware que intenta conectarse a una dirección IP designada por el atacante en el puerto TCP 9009 y luego ejecutar cualquier código Python disponible en el socket. Ahora no se sabe cuál era la dirección IP o si había malware alojado en ella.

Como la mayoría de los programas maliciosos de Python para principiantes, los paquetes utilizaban solo una ofuscación simple, como la de los codificadores Base64. Aquí hay un desglose de los paquetes:

Nombre del paquete Mantenedor Carga útil
nobleza
xin1111 Ladrón de tokens de discordia, ladrón de tarjetas de crédito (Basado en Windows)
genesisbot xin1111 Igual que la nobleza
aryi xin1111 Igual que la nobleza
sufrir sufrir Igual que la nobleza, ofuscada por PyArmor
noblesse2 sufrir Igual que la nobleza
noblessev2 sufrir Igual que la nobleza
Pytagora leonora123 Inyección de código remoto
pytagora2 leonora123 Igual que pytagora

Karas me dijo que los primeros seis paquetes tenían la capacidad de infectar la computadora del desarrollador, pero no podían contaminar el código que los desarrolladores escribieron con malware.

“Para los paquetes pytagora y pytagora2, que permite la ejecución de código en la máquina en la que se instalaron, esto sería posible”. dijo en un mensaje directo. “Después de infectar la máquina de desarrollo, permitirían la ejecución de código y luego el atacante podría descargar una carga útil que modificaría los proyectos de software en desarrollo. Sin embargo, no tenemos pruebas de que esto se haya hecho realmente “.

Tenga cuidado con los paquetes de malware ‘Frankenstein’

En lugar de pasar días desarrollando código que realiza tareas cotidianas, los programadores pueden recurrir a repositorios como PyPI, RubyGems o npm para obtener paquetes de aplicaciones maduras que sus pares ya han desarrollado. Entre los 2,7 millones de paquetes disponibles en PyPI, por ejemplo, se encuentran los que los desarrolladores pueden usar para crear aplicaciones. Predecir el precio de venta de una casa utilizando datos extraídos de Internet, enviar correos electrónicos a través de Amazon ‘s Servicio de correo electrónico simple, o comprobar el código fuente abierto por vulnerabilidades. PyPI proporciona paquetes para software escrito en Python, mientras que RubyGems y npm proporcionan paquetes para aplicaciones Ruby y JavaScript.

Esta función crucial convierte a los repositorios en el escenario ideal para los ataques a la cadena de suministro, que se han vuelto cada vez más comunes mediante el uso de técnicas conocidas como typosquatting o confusión de dependencias.

Los ataques a la cadena de suministro del repositorio se remontan al menos a 2016, cuando un estudiante universitario cargó paquetes maliciosos en PyPI. En un lapso de varios meses, su código de impostor se ejecutó más de 45.000 veces en más de 17.000 dominios separados, y más de la mitad de las veces su código recibió derechos administrativos todopoderosos. Desde entonces, los ataques a la cadena de suministro se han convertido en algo habitual para RubyGems y npm. En los últimos meses, los piratas informáticos de sombrero blanco han preparado un nuevo tipo de ataque a la cadena de suministro que funciona cargando paquetes maliciosos en repositorios de código público y dándoles un nombre idéntico al de un paquete almacenado en el repositorio interno de un software popular. Estos llamados ataques de confusión de dependencia ya han atrapado a Apple, Microsoft y otras 33 empresas.

Los investigadores de JFrog dijeron que, basándose en el estado actual de la seguridad del repositorio, es probable que Internet sufra más ataques en el futuro.

“Casi todos los fragmentos de código analizados en esta investigación se basaron en herramientas públicas conocidas, con sólo algunos parámetros modificados”, escribieron. “La ofuscación también se basó en ofuscadores públicos. Esperamos ver más de estos paquetes de malware ‘Frankenstein’ combinados a partir de diferentes herramientas de ataque (con parámetros de exfiltración modificados) ”.

Leave a Reply

Your email address will not be published. Required fields are marked *