El 8 de agosto, CheckPoint publicó un informe sobre el descubrimiento de 10 paquetes maliciosos de Python en PyPI, el repositorio más utilizado por los desarrolladores de software.
A raíz de esta investigación, los expertos de Kaspersky utilizaron el sistema automatizado interno de supervisión de repositorios de código abierto y descubrieron 2 paquetes maliciosos aún más peligrosos en el mismo repositorio. Haciéndose pasar por uno de los paquetes de código abierto más populares llamado ‘requests’, roban datos de criptocarteras, tokens de Discord, cookies e incluso credenciales de Steam y Minecraft de los dispositivos de las víctimas, afectando potencialmente a millones de usuarios.
Fingiendo ser uno de los paquetes de código abierto más populares, apodado ‘requests’, la única diferencia con los paquetes maliciosos de Python está en la denominación: ‘ultrarequests’ y ‘pyquest’ en lugar del nombre original. Para engañar a las víctimas y que instalen un paquete malicioso, los atacantes han utilizado la descripción de los paquetes ‘requests’ legítimos para falsificar los números de instalación de las descargas y las reseñas de los usuarios. Los enlaces de la descripción también llevan a páginas reales del paquete ‘requests’, así como al correo electrónico de su autor.
Tras varias etapas de ocultación de scripts, los usuarios reciben un troyano escrito en Python, apodado W4SP Stealer por su autor, en código. El malware puede guardar cookies y contraseñas de los navegadores, recopilar datos de monederos criptográficos populares como MetaMask, Atomic y Exodus, así como recoger tokens de Discord y credenciales de Steam y Minecraft. Con estos datos, los atacantes pueden entrar rápidamente en las cuentas y secuestrarlas, vaciando las cuentas de las víctimas.
Todos los datos recopilados se envían al operador a través de un webhook de Discord y se presentan en un formato personalizado de interfaz, donde el atacante puede ver rápidamente el correo electrónico, el teléfono, la IP y la información de facturación de la víctima
Interfaz de la información de la víctima que los atacantes reciben tras ejecutar el malware en el dispositivo afectado
Incluso si la víctima decide cambiar la dirección de correo electrónico, la contraseña o la información de facturación para protegerse, el malware seguirá recopilando la información modificada y la enviará a los atacantes a través del canal Discord hasta que el malware se elimine por completo del dispositivo. Los atacantes también insertan en el código un script especial para lograr la persistencia en el dispositivo infectado. Sin embargo, los atacantes compilaron un código incorrecto, por lo que este método no funciona correctamente, por lo que no se consigue la persistencia.
El delincuente también analiza el historial de navegación y luego envía una lista de credenciales de sitios web con URLs que contienen palabras clave «correo», «tarjeta», «banco», «comprar», «vender». Curiosamente, la lista de palabras clave también contiene varias palabras en francés: «mot de passe» (contraseña), «mdp» (abreviatura de «mot de passe»), «banque» (banco), «compte» (cuenta), lo que sugiere que los atacantes probablemente se dirigen a usuarios de habla francesa principalmente.
«Hace tiempo que los programadores se dieron cuenta de que se tarda demasiado en escribir código repetitivo para cada aplicación y crearon repositorios, plataformas abiertas en las que cualquier desarrollador puede compartir paquetes de código abierto para acelerar el proceso de desarrollo. Su popularidad y apertura para subir cualquier paquete los hace extremadamente vulnerables a los ataques de los ciberdelincuentes, ya que podrían afectar a miles de usuarios en un solo movimiento. Este tipo de ataques no son poco frecuentes, ya que, por ejemplo, hace poco descubrimos cuatro paquetes maliciosos en el repositorio npm, a la caza de tokens de Discord e información de tarjetas de crédito. Por ello, no se puede confiar por defecto en todo lo que se descarga, incluso en los repositorios de buena reputación», comenta Leonid Bezvershenko, analista de seguridad del Equipo de Investigación y Análisis Global de Kaspersky.
«Ya hemos informado de estos paquetes maliciosos al equipo de seguridad de PyPI y hemos añadido detecciones de este malware a nuestros productos, por lo que los usuarios que ejecuten nuestras soluciones podrán identificar si han sido infectados y eliminar el malware», añade Igor Kuznetsov, analista jefe de seguridad del Equipo de Investigación y Análisis Global de Kaspersky.