JDownloader hackeado: malware Python RAT distribuido desde el sitio oficial

El 7 de mayo de 2026 a las 17:06 UTC, un usuario de Reddit informó de que los instaladores descargados desde el sitio web oficial de JDownloader estaban activando una alerta de Windows Defender. Dieciocho minutos después, los desarrolladores cerraron el servidor. Entre estos dos momentos, y durante casi 41 horas ya, el sitio había estado distribuyendo un **RAT (**Troyano de Acceso Remoto) en Python modular, fuertemente ofuscado y capaz de ejecutar remotamente código arbitrario en cada máquina infectada.

JDownloader, un gestor de descargas gratuito disponible en Windows, Linux y macOS, ha sido utilizado por millones de personas durante más de una década. Es precisamente esta base instalada, y la confianza que deposita en un sitio oficial establecido desde hace tiempo, lo que transforma el incidente en una escuela deataque a la cadena de suministro de software. El CMS fue el verdadero punto de entrada en este caso: sin tocar el código fuente ni los servidores de compilación, los atacantes simplemente secuestraron los mecanismos de distribución que dan a los usuarios una sensación de seguridad.

Un CMS sin parchear basta para secuestrar los enlaces de descarga

Los atacantes nunca tocaron los servidores subyacentes de JDownloader. Aprovecharon una vulnerabilidad no parcheada en el sistema de gestión de contenidos del sitio, que les permitió modificar las listas de control de acceso y el contenido publicado sin autenticación. Su radio de acción se limitaba a las páginas y enlaces gestionados por el CMS, sin llegar al sistema de archivos ni al sistema operativo del servidor.

La cronología reconstruida por el equipo revela un enfoque metódico. El 5 de mayo de 2026, hacia las 23:55 UTC, los atacantes probaron su técnica en una subpágina de poco tráfico, sin afectar a los enlaces principales. El 6 de mayo a las 00:01 UTC, los enlaces de descarga cambiaron a instaladores maliciosos. La ventana de riesgo se extiende hasta el 7 de mayo a las 17:24 UTC, cuando el servidor se apaga tras una alerta inicial de Reddit publicada 18 minutos antes. El sitio permaneció fuera de línea durante toda la fase de reparación y no volvió a estar en línea hasta la noche del 8 al 9 de mayo con enlaces verificados.

Screenshot of JDownloader incident notice listing affected and unaffected download channels
Aviso relativo al incidente de JDownloader en el que se especifican los canales de descarga afectados – Fuente: JDownloader

Se han modificado dos vías de descarga específicas: el enlace «Descargar instalador alternativo» en Windows, disponible en varias versiones según la arquitectura y la versión de Java utilizada, y el script de shell de Linux. Todo lo demás se ha conservado: las actualizaciones in-app, los paquetes Flatpak, Winget y Snap, el archivo JAR principal y las descargas para macOS. Las actualizaciones distribuidas a través de la aplicación se basan de hecho en una verificación criptográfica RSA independiente del sitio web, que se mantuvo mientras duró el compromiso.

Un wrapper, un cargador cifrado y una RAT Python ofuscada

El primer informe público procede del usuario de Reddit «PrinceOfNightSky». Su relato describe la señal de advertencia visible en la víctima: archivos marcados como maliciosos por Microsoft Defender y, sobre todo, un editor mostrado en las propiedades del archivo que indica «Zipline LLC» o «The Water Team» en lugar de «AppWork GmbH», el editor legítimo de JDownloader. La ausencia o invalidez de la firma digital era un indicador fiable, siempre que uno se acordara de comprobarlo.

El investigador Thomas Klemenc ha publicado el primer análisis técnico de ejecutables maliciosos de Windows en X. El envoltorio inicial es un binario sin firma que incrusta dos recursos: el instalador legítimo de JDownloader por un lado, y un segundo PE cifrado por el otro. Este segundo binario actúa como un cargador multietapa. Una vez descifrado, extrae y ejecuta la carga útil final, una RAT Python fuertemente ofuscada a través de PyArmor (una herramienta legítima para proteger el código Python, pero a menudo utilizada por el malware Python para complicar la ingeniería inversa).

First JDownloader compromise IoCs
Primeros IoC comprometidos de JDownloader – Fuente: Thomas Klemenc en X

El payload incorpora un retardo de activación de ocho minutos, una técnica diseñada para volar bajo el radar de los sandboxes de análisis automatizados, que generalmente no esperan tanto tiempo antes de concluir que no hay comportamiento malicioso. Este tipo de retardo sigue siendo particularmente eficaz contra los pipelines de análisis masivos automatizados, cuyas ventanas de observación raramente superan unos pocos minutos por razones de coste y escalabilidad. La cadena de ejecución completa está documentada en un sandbox ANY.RUN compartido públicamente.

JDownloader malware sandbox ANY RUN
Cadena de ejecución completa de JDownloader – Fuente: Any Run

Una vez activado, el Python RAT funciona como un bot modular. Acepta y ejecuta código Python arbitrario enviado desde servidores de mando y control, lo que permite a los atacantes modificar sus capacidades sobre la marcha sin necesidad de una nueva infección. En los IOC publicados por Thomas Klemenc se identificaron dos servidores C2 (Mando y Control): parkspringshotel[.]com/m/Lu6aeloo.php y auraguest[.]lk/m/douV2quu.php, presumiblemente dos sitios legítimos comprometidos y utilizados como repetidores.

En cuanto a la persistencia en Windows, Klemenc encontró claves de registro en HKCU\\SOFTWARE\\Python y un mutex Global\\0C3C1D37.

El payload de Linux instala un binario SUID-root y se disfraza como upowerd

El análisis de BleepingComputer del script de shell de Linux modificado revela una lógica diferente pero igualmente agresiva. El código malicioso se inyectaba directamente en el script de instalación, que descargaba un archivo de checkinnhotels[.]com bajo la apariencia de un archivo SVG.

Una vez descomprimido, el archivo liberaba dos binarios ELF, pkg y systemd-exec. Este último se instaló como binario SUID-root en /usr/bin/, lo que otorga privilegios elevados al proceso en cuanto se ejecuta. La carga principal se copiaba a /root/.local/share/.pkg, se creaba un script de persistencia en /etc/profile.d/systemd.sh y el malware se ejecutaba como /usr/libexec/upowerd, un proceso legítimo del sistema utilizado para la gestión de energía. El binario pkg, también ofuscado mediante PyArmor, aún no se ha analizado por completo.

JDownloader malware code Linux installer
Código malicioso en el instalador de JDownloader para Linux – Fuente: BleepingComputer

Los indicadores SHA256 de compromiso publicados por los desarrolladores abarcan siete archivos maliciosos distintos en Windows, repartidos entre las arquitecturas amd64 (cuatro archivos) y x86 (tres archivos) y las distintas versiones de Java integradas. La lista completa puede consultarse en el informe oficial del incidente.

Tercer ataque a un sitio de software popular en seis semanas

El incidente de JDownloader forma parte de una serie corta y precisa. A principios de abril de 2026 (9-10 de abril), el sitio de CPUID, editor de CPU-Z y HWMonitor, se vio comprometido para distribuir instaladores trampa que desplegaban la STX RAT a través de DLL sideloading. Unas semanas más tarde, los desarrolladores de DAEMON Tools confirmaron que las versiones de su software de virtualización de discos publicadas el 8 de abril incluían una puerta trasera. Kaspersky contabilizó varios miles de instalaciones maliciosas en un centenar de países antes de publicar la versión corregida el 5 de mayo, justo dos días antes de que JDownloader cerrara temporalmente su sitio web.

Estos tres incidentes comparten el mismo patrón: los atacantes no atacan el software en sí, sino la infraestructura de distribución, ya sea el CMS, la API de descarga o el mecanismo de actualización. El objetivo es explotar la confianza que los usuarios depositan en las fuentes oficiales. En este sentido, el vector difiere notablemente de las campañas de malvertising o de envenenamiento SEO, que crean sitios falsos imitando software popular: en este caso, es el propio sitio legítimo el que sirve de punto de distribución.

Medidas que deben tomar los usuarios potencialmente expuestos

Los desarrolladores de JDownloader son explícitos sobre el alcance del riesgo: sólo están afectadas las personas que descargaron y ejecutaron uno de los instaladores afectados entre el 6 y el 7 de mayo de 2026. Una descarga no ejecutada o una simple visita al sitio no suponen ningún riesgo.

El primer paso es comprobar si el archivo descargado está incluido en la lista de SHA256 publicada en el informe del incidente. Si se ha ejecutado el instalador, no basta con un análisis antivirus. Dada la arquitectura multietapa del malware y sus mecanismos de persistencia, desarrolladores y analistas convergen en una única recomendación: la reinstalación completa del sistema operativo.

Mientras tanto, se recomienda encarecidamente cambiar las contraseñas de las cuentas importantes en otro dispositivo. Dado que el malware tiene la capacidad de ejecutar código arbitrario en la máquina infectada, el compromiso de las credenciales almacenadas debe considerarse probable.

Authenticated JDownloader installer
Instalador autenticado de JDownloader – Fuente: BleepingComputer

Para comprobar que un instalador de JDownloader es legítimo, el procedimiento es sencillo: haga clic con el botón derecho en el archivo, Propiedades, pestaña Firmas digitales. Todos los instaladores oficiales están firmados por AppWork GmbH. Cualquier otra mención, o la simple ausencia de firma, constituye una señal inequívoca.

La confianza en la fuente oficial ya no es una garantía

Lo que los atacantes están explotando en estos compromisos es precisamente el comportamiento del usuario más defendido por las buenas prácticas de seguridad: comprobar la URL, descargar desde el sitio oficial, no alejarse mucho de la fuente. El mismo mecanismo de confianza observado en la prevención de la ingeniería social, que convierte a los usuarios en cómplices, opera aquí a un nivel más profundo, antes de cualquier elección del usuario.

La verificación sistemática de las firmas digitales antes de ejecutar un instalador sigue siendo la contramedida más directa. Unos segundos habrían bastado a cualquier usuario expuesto para detectar la anomalía: los archivos maliciosos no estaban firmados o lo estaban por un editor desconocido. Las alertas de Microsoft Defender y SmartScreen proporcionaban una segunda red de seguridad, que muchas víctimas optaron por eludir manualmente.

Para los equipos de seguridad, la repetición de estos casos durante seis semanas plantea un problema operativo: verificar los hashes de los instaladores e integrar comprobaciones de integridad en las políticas de despliegue, incluso para software perfectamente legítimo, se está convirtiendo en un requisito previo difícil de evitar.

Lo que demuestra el caso JDownloader no es sólo que un sitio oficial puede verse comprometido, sino que los mismos mecanismos que se supone que reducen el riesgo -confianza en la fuente, automatización de las descargas, reputación del software- se están convirtiendo en superficies de ataque por derecho propio.

Fuente:

BleepingComputer: Hackean la web de JDownloader para sustituir los instaladores por malware Python RAT

Security Affairs : El sitio oficial JDownloader sirvió malware a usuarios de Windows y Linux entre el 6 y el 7 de mayo

Hackread: Hackers secuestran el sitio JDownloader para distribuir malware a través de instaladores

JDownloader : JDownloader – Incidente con el instalador de sitios web (mayo de 2026)

Reddit r/jdownloader : ¿Ha sido hackeado el sitio web?

Thomas Klemenc (X/@thomasklemenc) : Primeros IoC comprometidos de #JDownloader

Reddit r/cybersecurity : El sitio web oficial de JDownloader entregó Python RAT

Kaspersky : Ataque a la cadena de suministro a través de DAEMON Tools

Partager cet article