Investigadores de ciberseguridad han detectado un conjunto de 116 paquetes maliciosos en el repositorio del Índice de Paquetes de Python (PyPI) diseñados para infectar sistemas Windows y Linux con una puerta trasera personalizada. Dos expertos de ESET, Marc-Etienne M.Léveillé y Rene Holt, dijeron en un informe publicado esta semana que, en algunos casos, la carga útil final es una variante del infame ladrón W4SP, o un sencillo monitor de portapapeles para robar criptomonedas, o ambas cosas.
Se estima que los paquetes han sido descargados más de 10.000 veces desde mayo de 2023. Los actores de amenazas detrás de la actividad han sido vistos usando tres técnicas para incluir código malicioso en los paquetes de Python: a través de un script test.py, la incrustación de PowerShell en el archivo setup.py y la incorporación de código malicioso de forma obfuscada en el archivo __init__.py.
Independientemente del método utilizado, el objetivo final de la campaña es comprometer el host objetivo con malware, principalmente una puerta trasera capaz de la ejecución remota de comandos, la extracción de datos y la captura de pantallas. El módulo de la puerta trasera está implementado en Python para Windows y en Go para Linux.
Alternativamente, las cadenas de ataque también culminan en el despliegue del ladrón W4SP o del malware que monitoriza el portapapeles, diseñado para vigilar de cerca la actividad del portapapeles de una víctima y cambiar la dirección de la cartera original, si está presente, por una dirección controlada por el atacante.
Esto es lo más reciente de un conjunto de paquetes de Python comprometidos que los atacantes han lanzado para envenenar el ecosistema de código abierto y distribuir una mezcla de malware para ataques de la cadena de suministro. Es también la última adición a un flujo constante de paquetes falsos de PyPI que han actuado como un canal sigiloso para la distribución de robo de malware. En mayo de 2023, ESET reveló otro grupo de bibliotecas que fueron diseñadas para propagar Sordeal Stealer, que toma prestadas sus características de W4SP Stealer.
Luego, el mes pasado, se descubrieron paquetes maliciosos que se hacían pasar por herramientas de ofuscación aparentemente inocuas y que implementaban un malware de robo de información denominado BlazeStealer.
«Los desarrolladores de Python deben revisar detenidamente el código que descargan, especialmente verificando estas técnicas, antes de instalarlo en sus sistemas», advierten los investigadores.
La divulgación también sigue al descubrimiento de paquetes npm que se encontraron atacando a una institución financiera no nombrada como parte de un «ejercicio avanzado de simulación de adversario». Los nombres de los módulos, que contenían un fragmento cifrado, se han retenido para proteger la identidad de la organización.
«Esta carga útil descifrada contiene un binario embebido que habilidosamente exfiltra las credenciales del usuario a un webhook de Microsoft Teams que es interno a la empresa objetivo en cuestión», reveló Phylum, una empresa de seguridad en la cadena de suministro de software, la semana pasada.