Los investigadores de ciberseguridad llaman la atención sobre una nueva campaña que aprovecha los repositorios de Python alojados en GitHub para distribuir un troyano de acceso remoto (RAT) basado en JavaScript que anteriormente no estaba documentado, denominado PyStore Rat .
«Estos repositorios, que suelen tener el tema de utilidades de desarrollo o herramientas OSINT, contienen solo unas pocas líneas de código responsables de descargar silenciosamente un archivo HTA remoto y ejecutarlo a través de 'mshta.exe'», dijo Yonatan Edri, investigador de Morphisec dijo en un informe compartido con The Hacker News.
PyStoreRAT se ha descrito como un implante «modular de varias etapas» que puede ejecutar módulos EXE, DLL, PowerShell, MSI, Python, JavaScript y HTA. El malware también utiliza un ladrón de información conocido como Rhadamanthys como carga útil de seguimiento.
Las cadenas de ataque implican la distribución del malware a través de paquetes de carga de Python o JavaScript integrados en los repositorios de GitHub que se hacen pasar por herramientas OSINT, bots de DeFi, contenedores GPT y utilidades con temas de seguridad diseñadas para atraer a analistas y desarrolladores.
Los primeros indicios de la campaña se remontan a mediados de junio de 2025, con un flujo constante de «repositorios» publicados desde entonces. Las herramientas se promocionan a través de plataformas de redes sociales como YouTube y X, y además inflan artificialmente las métricas de estrellas y bifurcaciones de los repositorios, una técnica que recuerda a Red fantasma de Stargazers .
Los actores de amenazas que están detrás de la campaña aprovechan las cuentas de GitHub recién creadas o las que permanecen inactivas durante meses para publicar los repositorios, y dejan pasar sigilosamente la carga maliciosa en forma de confirmaciones de «mantenimiento» en octubre y noviembre, después de que las herramientas comenzaran a ganar popularidad y llegaran a las listas de tendencias más populares de GitHub.
De hecho, muchas de las herramientas no funcionaban como se anunciaban y, en algunos casos, solo mostraban menús estáticos o interfaces no interactivas, mientras que otras realizaban operaciones mínimas con los marcadores de posición. La intención de la operación era darles una apariencia de legitimidad abusando de la confianza inherente de GitHub y engañando a los usuarios para que ejecutaran el código de carga responsable de iniciar la cadena de infección.
Esto desencadena de manera efectiva la ejecución de una carga útil remota de una aplicación HTML (HTA) que, a su vez, entrega el malware PyStoreRAT, que viene con capacidades para crear perfiles del sistema, comprobar los privilegios de administrador y escanear el sistema en busca de archivos relacionados con la billetera de criptomonedas, específicamente aquellos asociados con Ledger Live, Trezor, Exodus, Atomic, Guarda y BitBox02.
El código auxiliar del cargador recopila una lista de los productos antivirus instalados y las cadenas de verificación que coinciden con «Falcon» (una referencia a CrowdStrike Falcon) o «Reason» (una referencia a Cybereason o ReasonLabs), probablemente con el fin de reducir la visibilidad. En caso de que se detecten, ejecuta "mshta.exe" mediante «cmd.exe». De lo contrario, procede a la ejecución directa de "mshta.exe».
La persistencia se logra configurando una tarea programada que se disfraza de actualización automática de una aplicación de NVIDIA. En la fase final, el malware contacta con un servidor externo para buscar los comandos que se ejecutarán en el host. Algunos de los comandos compatibles se enumeran a continuación:
- Descargue y ejecute cargas útiles EXE, incluido Rhadamanthys
- Descargar y extraer archivos ZIP
- Descarga una DLL maliciosa y la ejecuta usando "rundll32.exe»
- Obtenga código JavaScript sin procesar y ejecútelo dinámicamente en la memoria usando eval ()
- Descargar e instalar paquetes MSI
- Genera un proceso "mshta.exe" secundario para cargar cargas útiles de HTA remotas adicionales
- Ejecute los comandos de PowerShell directamente en la memoria
- Se propaga a través de unidades extraíbles mediante la sustitución de documentos legítimos por archivos maliciosos de acceso directo de Windows (LNK)
- Eliminar la tarea programada para eliminar el rastro forense
Actualmente no se sabe quién está detrás de la operación, pero la presencia de artefactos y patrones de codificación en ruso alude a un actor de amenazas de probable origen de Europa del Este, dijo Morphisec.
«PyStoreRAT representa un cambio hacia implantes modulares basados en scripts que pueden adaptarse a los controles de seguridad y ofrecer múltiples formatos de carga útil», concluyó Edri. «El uso de HTA/JS para la ejecución, de cargadores de Python para la entrega y de una lógica de evasión compatible con Falcon crea un punto de apoyo sigiloso en la primera etapa que las soluciones de EDR tradicionales solo detectan en una fase avanzada de la cadena de infección».
La revelación se produce cuando el proveedor de seguridad chino QianXin detalló otro nuevo troyano de acceso remoto (RAT) con nombre en código SetCodeRAT que probablemente se esté propagando por todo el país desde octubre de 2025 a través de señuelos de publicidad maliciosa. Se dice que cientos de ordenadores, incluidos los de gobiernos y empresas, se infectaron en el lapso de un mes.
«El paquete de instalación malintencionado verificará primero la región de la víctima», dijo el Centro de Inteligencia de Amenazas de QianXin dijo . «Si no está en la zona de habla china, saldrá automáticamente».
El malware se disfraza de instaladores legítimos para programas populares como Google Chrome y pasa a la siguiente etapa solo si el idioma del sistema corresponde a China continental (zh-CN), Hong Kong (zh-HK), Macao (zh-MO) y Taiwán (zh-TW). También termina la ejecución si la conexión a una URL de Bilibili («api.bilibili [.] com/x/report/click/now») no tiene éxito.
En la siguiente etapa, se lanza un ejecutable llamado "pnm2png.exe" para descargar de forma lateral "zlib1.dll», que luego descifra el contenido de un archivo llamado «qt.conf» y lo ejecuta. La carga útil descifrada es una DLL que incorpora la carga RAT. SetcodeRAT puede conectarse a Telegram o a un servidor convencional de comando y control (C2) para recuperar instrucciones y llevar a cabo el robo de datos.
Permite al malware tomar capturas de pantalla, registrar las pulsaciones de teclas, leer carpetas, configurar carpetas, iniciar procesos, ejecutar "cmd.exe», establecer conexiones de socket, recopilar información de conexión del sistema y de red y actualizarse a una nueva versión.