Cada vez más, los desarrolladores recurren a repositorios y gestores de paquetes para gestionar las dependencias de muchos de sus proyectos de programación. Así, los usuarios de NodeJS cuentan con NPM (siglas de ‘Node Package Manager’), y los de Python cuentan con varios repositorios, como Conda o PyPI (Python Package Index).
Por desgracia, además de facilitar enormemente la vida a muchos desarrolladores, esta clase de plataformas ofrecen también destacadas puertas de entrada al malware. En palabras del CTO de JFrog, Asaf Karas,
«El descubrimiento continuo de paquetes de software malicioso en repositorios populares como PyPI es una tendencia alarmante que puede conducir a ataques generalizados en la cadena de suministro. […] Estamos ante una amenaza sistémica».
Ocho bibliotecas retiradas de PyPI
En este caso, de hecho, han sido los administradores de PyPI quienes han tenido que eliminar, a lo largo de esta semana, hasta ocho bibliotecas tras serles notificado por el equipo de seguridad de JFrog que contenían código malicioso.
Dos de los paquetes (pytagora y pytagora2, subidos por el usuario ‘leonora123’) permitían ataques RCE (de ejecución de código remoto) conectando el equipo de la víctima al puerto TCP 9009 y facilitando la ejecución de comandos maliciosos en el mismo.
Otros seis paquetes (noblesse, genesisbot, are, suffer, noblesse2 y noblessev2, desarrollados por los usuarios ‘xin1111’ y ‘suffer’) actuaban como ladrones de datos: una vez instalados, recopilaban datos del equipo buscando desde tokens de Discord a información general del sistema (dirección IP, nombre del equipo y el usuario, clave de licencia, versión de Windows, etc)…
…pero también han estado recopilando información sobre nuestras tarjetas de crédito, extraída de los datos guardados para ‘autcompletar’ en los navegadores que tengamos instalados.
La mayoría de los paquetes de este segundo grupo se ‘venden’ ante el resto de usuarios como «optimizadores», aunque no queda muy claro de qué: en el caso de ‘Noblesse’ (ver imagen inferior), los desarrolladores de este paquete afirman que es tan capaz de optimizar nuestro código Python como de optimizar nuestro PC para ejecutar Python.
Además, gran parte de su código real se muestra ofuscado ante el usuario que indague en el mismo: se ha encriptado en base64 haciendo uso de herramientas como PyArmor. Según Karas,
«La capacidad de los atacantes de utilizar técnicas de ofuscación simples para introducir malware significa que [tanto los mantenedores de los repositorios de software como] los desarrolladores deben estar vigilantes».
Globalmente, los 8 paquetes maliciosos se descargaron 30.000 veces antes de verse eliminados del portal PyPI. Y, por desgracia, no es la primera vez que ocurre: en el pasado ya ha habido ataques similares que buscaba robar claves SSH y GPG, o instalar puertas traseras ocultas en sistemas Linux.
Fuente: Genbeta
¿Quieres convertirte en un profesional de programación en Python? Con el curso de Python Programming-Profundizando en el lenguaje más simple para programar, que ofrecemos en EducaciónIT, aprenderás a desarrollar programas de consola para automatizar tareas y diseñar aplicaciones de escritorio que interactúen con bases de datos en tiempo récord, manejar las estructuras de datos y controles de flujo básicos del lenguaje, y mucho más.
- El teclado para ‘copiar y pegar’ código de Stack Overflow, una inocentada convertida en gadget (y ya en preventa) – 6 octubre, 2021
- Los papeles de Pandora: cómo Python y el aprendizaje automático han sido clave en una investigación mundial con datos masivos – 5 octubre, 2021
- China marca las directrices éticas de la IA nacional: un mayor control frente a los algoritmos de las grandes tecnológicas – 4 octubre, 2021
Deja una respuesta