Múltiples exploits troyanizados alojados en GitHub han distribuido un troyano de acceso remoto (RAT) basado en Python denominado ChocoPoC, diseñado para ejecutar comandos y robar información sensible. La campaña, descubierta por la empresa de ciberseguridad Sekoia, utiliza repositorios que imitan pruebas de concepto (PoC) legítimas para vulnerabilidades conocidas, con el objetivo de engañar a investigadores y pentesters.

Mecanismo de ataque

A diferencia de otras campañas que incrustan directamente el malware en los archivos de exploit, ChocoPoC añade paquetes Python maliciosos a la lista de dependencias del PoC. Cuando la víctima clona un repositorio comprometido, se descarga e instala automáticamente el paquete troyanizado 'frint' desde PyPI. A su vez, 'frint' extrae otro paquete malicioso, 'skytext', que contiene una extensión nativa compilada. Al ejecutar el PoC, dicha extensión descifra código Python embebido que activa un descargador para obtener la carga final (ChocoPoC) desde un dataset de Mapbox.

Capacidades del RAT

  • Ejecutar comandos arbitrarios del shell y código Python
  • Subir archivos y directorios
  • Robar contraseñas, cookies, autocompletado e historial de navegación
  • Buscar archivos de texto, documentación Markdown y bases de datos
  • Recopilar historial de shell, configuración de red y procesos en ejecución

Además, el RAT utiliza datasets de Mapbox para la exfiltración de datos, mientras que las subidas de archivos grandes se realizan a través de un servidor HTTP independiente.

Repositorios identificados

Sekoia identificó al menos siete repositorios en GitHub que distribuyen ChocoPoC, con exploits para diversas vulnerabilidades: FortiWeb (CVE-2025-64446), React2Shell (CVE-2025-55182), MongoBleed (CVE-2025-14847), PAN-OS (CVE-2026-0257), Ivanti Sentry (CVE-2026-10520), Check Point VPN (CVE-2026-50751) y Joomla SP Page Builder (CVE-2026-48908). El paquete skytext fue descargado unas 2.400 veces, principalmente en sistemas Linux. Las descargas aumentaron tras la divulgación de vulnerabilidades populares, usadas como señuelo.

Origen de la campaña

Aunque no se ha identificado al responsable, los investigadores encontraron direcciones de correo asociadas a commits en GitHub vinculados con otra actividad de troyanización de exploits a finales de 2025. Dos de esas cuentas aparecían en bases de datos de credenciales filtradas, y una tercera probablemente fue comprometida mediante un infostealer. Sekoia evalúa con alta confianza que el atacante utilizó principalmente cuentas comprometidas para publicar los paquetes maliciosos en PyPI y los PoCs en GitHub.

Según estos hallazgos, evaluamos con alta confianza que el atacante empleó principalmente cuentas comprometidas para publicar paquetes PyPI maliciosos y PoCs.

Los investigadores advierten que esta nueva técnica permite mantener intacto el exploit original, delegando el comportamiento malicioso a paquetes que parecen inofensivos por sí mismos. Dado que los pentesters e investigadores de vulnerabilidades son blancos atractivos por ejecutar código no confiable, se recomienda no confiar ciegamente en repositorios de GitHub y ejecutar código no verificado únicamente en entornos aislados.

image
image
Example of a malicious repository
Example of a malicious repository
Infection chain
Infection chain
Download trends for skytext
Download trends for skytext
article image
article image