Adversarios no identificados orquestaron una sofisticada campaña de ataque que afectó a varios desarrolladores individuales, así como a la cuenta de la organización de GitHub asociada con Top.gg, un sitio de descubrimiento de bots de Discord.
«Los actores de amenazas utilizaron múltiples TTP en este ataque, incluida la apropiación de cuentas mediante cookies de navegador robadas, la contribución de código malicioso con confirmaciones verificadas, la configuración de un espejo de Python personalizado y la publicación de paquetes maliciosos en el registro de PyPI», Checkmarx dicho en un informe técnico compartido con The Hacker News.
Se dice que el ataque a la cadena de suministro de software provocó el robo de información confidencial, incluidas contraseñas, credenciales y otros datos valiosos. Algunos aspectos de la campaña fueron previamente revelado a principios de mes por un desarrollador con sede en Egipto llamado Mohammed Dief.
Principalmente implicó la creación de un typosquat inteligente del dominio oficial de PyPI conocido como «files».pitónalojado[.]org», dándole el nombre «files.pipialojado[.]org» y usarlo para alojar versiones troyanizadas de paquetes conocidos como colorama. Desde entonces, Cloudflare eliminó el dominio.
«Los actores de amenazas tomaron Colorama (una herramienta muy popular con más de 150 millones de descargas mensuales), la copiaron e insertaron código malicioso», dijeron los investigadores de Checkmarx. «Luego ocultaron la carga útil dañina dentro de Colorama utilizando espacio acolchado y alojaron esta versión modificada en su espejo falso de dominio typosquatted».
Estos paquetes maliciosos luego se propagaron a través de repositorios de GitHub como github.[.]com/maleduque/Valorant-Checker y github[.]com/Fronse/League-of-Legends-Checker que contenía un archivo requisitos.txtque sirve como lista de paquetes de Python que instalará el administrador de paquetes pip.
Un repositorio que continúa activo al momento de escribir este artículo es github[.]com/whiteblackgang12/Discord-Token-Generatorque incluye una referencia a la versión maliciosa de colorama alojada en «files.pypihosted[.]organización.»
También se modificó como parte de la campaña la archivo requisitos.txt asociado con Top.gg python-sdk por una cuenta llamada editor-syntax el 20 de febrero de 2024. Los mantenedores del repositorio han solucionado el problema.
Vale la pena señalar que la cuenta «editor-syntax» es un mantenedor legítimo de la organización Top.gg GitHub y tiene permisos de escritura para los repositorios de Top.gg, lo que indica que el actor de amenazas logró secuestrar la cuenta verificada para cometer un compromiso malicioso.
«La cuenta de GitHub de ‘editor-syntax’ probablemente fue secuestrada mediante cookies robadas», señaló Checkmarx.
«El atacante obtuvo acceso a las cookies de sesión de la cuenta, lo que le permitió eludir la autenticación y realizar actividades maliciosas utilizando la interfaz de usuario de GitHub. Este método de apropiación de cuentas es particularmente preocupante, ya que no requiere que el atacante conozca la contraseña de la cuenta».
Es más, se dice que los actores de amenazas detrás de la campaña impulsaron múltiples cambios en los repositorios fraudulentos en una sola confirmación, alterando hasta 52 archivos en una instancia en un esfuerzo por ocultar los cambios en el archivo requisitos.txt.
El malware incrustado en el paquete colorama falso activa una secuencia de infección de varias etapas que conduce a la ejecución de código Python desde un servidor remoto, que, a su vez, es capaz de establecer persistencia en el host a través de cambios en el Registro de Windows y robar datos de la web. navegadores, billeteras criptográficas, tokens de Discord y tokens de sesiones relacionados con Instagram y Telegram.
«El malware incluye un componente de robo de archivos que busca archivos con palabras clave específicas en sus nombres o extensiones», dijeron los investigadores. «Se dirige a directorios como Escritorio, Descargas, Documentos y Archivos recientes».
Los datos capturados finalmente se transfieren a los atacantes a través de servicios anónimos para compartir archivos como GoFile y Anonfiles. Alternativamente, los datos también se envían a la infraestructura del actor de la amenaza mediante solicitudes HTTP, junto con el identificador de hardware o la dirección IP para rastrear la máquina víctima.
«Esta campaña es un excelente ejemplo de las tácticas sofisticadas empleadas por actores maliciosos para distribuir malware a través de plataformas confiables como PyPI y GitHub», concluyó el investigador.
«Este incidente resalta la importancia de la vigilancia al instalar paquetes y repositorios incluso de fuentes confiables. Es crucial examinar minuciosamente las dependencias, monitorear actividades sospechosas en la red y mantener prácticas de seguridad sólidas para mitigar el riesgo de ser víctima de tales ataques».