Un cheval de Troie ciblant les spécialistes de la sécurité informatique découvert sur GitHub

Real-time threat news | Hot news | Toutes les actualités

Des référentiels infectés sur GitHub ont attiré l'attention des spécialistes du laboratoire antivirus Doctor Web. Des projets de l'environnement de développement Microsoft Visual Studio y ont été découverts, contenant du code malveillant au sein des fichiers .suo, .csproj, ainsi que dans des fichiers de code source en Python et en Go. La charge utile finale — l'application Microsoft.exe — est capable de contourner astucieusement les niveaux de protection afin d'installer une porte dérobée (backdoor) et un « clipper », et de dérober des données utilisateur sensibles. L'élément le plus intrigant dans ce cas précis est que ces projets malveillants ciblent non seulement les utilisateurs intéressés par les jeux basés sur les cryptomonnaies, mais également… les spécialistes de la sécurité informatique. Au moment de l'étude, plus de 2 000 PC ont été infectés.

Source d'infection

Les premiers référentiels infectés sont apparus il y a deux ans. Les premières versions ciblaient les utilisateurs de portefeuilles de cryptomonnaies : les attaquants publiaient des dépôts contenant des projets Visual Studio liés à des jeux basés sur les cryptomonnaies, ainsi que des bots et des « triches » (cheats) pour ces jeux.

Exemple de dépôt infecté lié au jeu Telegram « Catizen ».

Ces dépôts contiennent :

  • un fichier .csproj incluant une instruction PreBuildEvent qui lance du code malveillant avant la compilation du projet,
  • des fichiers .suo contenant une commande PowerShell intégrée.

Les cybercriminels ont même pensés aux utilisateurs qui ne disposent pas des compétences techniques nécessaires pour effectuer l'opération eux-mêmes : ils ont joint des instructions expliquant comment installer Visual Studio et cloner le dépôt.

.csproj fichier contenant du code malveillant

Cependant, les auteurs de logiciels malveillants ont actuellement réorienté leurs chevaux de Troie vers une autre cible : les spécialistes de la sécurité informatique. Désormais, des programmes malveillants se dissimulent au sein de projets dédiés à l'automatisation de l'analyse, aux tests de sécurité des systèmes et à l'examen des journaux d'événements. A la charge déjà présente se sont ajoutés les fichiers .go et .py, dans lesquels du code malveillant est dissimulé derrière un grand nombre d'espaces. Plusieurs adresses appartenant à des attaquants ont été découvertes dans des dépôts infectés :

  • muckanthropic[.]com
  • muckduck.duckdns[.]org
  • muckcoding[.]com
  • muckdeveloper[.]com
  • 130.12.182[.]172

Dépôt infecté contenant un script destiné à analyser, nettoyer et formater les résultats de Fscan

Fichier Python contenant du code malveillant inséré

Fichier Golang contenant du code malveillant inséré

Schéma d'infection

PowerShell.Packed.270

Après le téléchargement de fichiers infectés, un script PowerShell est exécuté sur l'ordinateur de l'utilisateur. Exemples des chemins possibles :

  • C:\Users\Public\Pictures\t.ps1,
  • C:\Users\Public\Pictures\L.ps1.

PowerShell.Packed.270

Le script est capable d'accéder aux serveurs attaquants ainsi qu'aux services légitimes : YouTube, Telegram, Google Docs, GitCode, Pastebin.

Chaîne chiffrée sur le service Pastebin

De là, le cheval de Troie reçoit une chaîne qui, après décryptage, devient un lien vers l'archive Quixo.7z. Ensuite, l'archive est téléchargée depuis les serveurs des attaquants ou depuis GitHub, puis décompressée dans le répertoire C:\ProgramData\Windows.Microsoft.Photos.

Microsoft.exe (Trojan.Loader.3261)

L'archive contient une application développée à l'aide du framework Electron ; c'est elle qui est à l'origine des dommages. Le cheval de Troie présente une structure modulaire complexe ; la version en vigueur au moment de la rédaction de cet article est la 1.4.5. Trojan.Loader.3261 dispose d'un large éventail de fonctions :

  • télécharge le fichier Nexara.7z, qui contient une charge utile chiffrée, des configurations et des fichiers auxiliaires ;
  • collecte des informations sur l'ordinateur et les transmet aux attaquants via un bot Telegram ;
  • s'ajoute dans l'auto-démarrage ;
  • élève ses privilèges par deux méthodes différentes ;
  • désactive Windows Defender, l'UAC, les notifications, la restauration du système (System Restore) et le service VSS ;
  • ajoute des exclusions à Windows Defender ;
  • injecte des fichiers malveillants dans des processus légitimes (BackDoor.AsyncRAT.115, Trojan.InjectNET.14) ;
  • décompresse et exécute une charge utile supplémentaire depuis l'archive Nexara/Nvdia.7z (JS.Stealer.191) ;
  • supprime les antivirus McAfee, ESET et Malwarebytes ;
  • modifie le fichier situé à l'adresse C:\windows\system32\drivers\etc\hosts.

Les auteurs de logiciels malveillants ont défini plusieurs méthodes pour injecter des fichiers malveillants, désignées sous les noms de mode3, mode2, mode3non et handler. Nous les examinons un par un.

Mode3

Les développeurs ont conçu ce module pour tenter de contourner les systèmes de protection. À cette fin, plusieurs techniques sont employées :

  • Le « PPID spoofing » (usurpation du PID parent) consiste à remplacer le PID du processus parent par l'identifiant explorer.exe.
  • Smart App Control bypass : il déjoue la fonction de protection Smart App Control, qui bloque les programmes non approuvés ou potentiellement dangereux avant leur exécution. Pour ce faire, le cheval de Troie modifie la valeur du paramètre VerifiedAndReputablePolicyState dans le registre Windows.
  • Ntdll.dll unhooking : neutralise les interceptions présentes dans la bibliothèque système ntdll, mises en place, par exemple, par une solution EDR. Le cheval de Troie lit le fichier ntdll.dll original sur le disque et le compare à la version présente dans le processus. S'il détecte des modifications s'apparentant à des instructions de « hook », il les réécrit en se basant sur les données originales de la bibliothèque.
  • Halo's Gate permet d'appeler directement les fonctions système de Windows via des « syscalls », ce qui rend plus difficile l'interception des appels par les solutions EDR. Le cheval de Troie récupère les numéros de service système (SSN) des fonctions NT nécessaires à la mise en œuvre d'injections.
  • Patch ETW : désactive la télémétrie Event Tracing for Windows en modifiant ntdll.dll!EtwEventWrite dans la mémoire du processus.
  • Patch AMSI : modifie la fonction AmsiScanBuffer au sein de la bibliothèque amsi.dll, empêchant ainsi l'envoi des scripts exécutés dans le processus à l'antivirus pour analyse.

Une fois les mécanismes de protection contournés, le cheval de Troie sélectionne un processus dans lequel s'injecter : RegAsm.exe, dwwin.exe, dwm.exe. Des modules malveillants sont présents dans les fichiers extraits de Nexara.7z : boot_f, kernel_f, thread_f. Ils sont chiffrés ; les clés de chiffrement se trouvent dans Nexara /manifest/config.json, sous les valeurs b_f, k_f et t_f.

Une fois injecté dans les processus, le cheval de Troie vérifie les connexions avec le serveur de commande à l'aide d'un script PowerShell et de l'utilitaire Netstat. Si au moins une charge utile ne parvient pas à s'injecter, le script peut envoyer un rapport d'erreur à un bot Telegram.

Mode2

Le cheval de Troie exécute ce mode si le lancement de la charge utile a échoué. Le « Mode2 » fonctionne selon l'algorithme suivant :

  • il déchiffre et vérifie les fichiers thumbcache_{11..20}.dll contenus dans l'archive Nexara.7z — ces fichiers contiennent les fonctions nécessaires à l'injection ;
  • ajoute des exclusions regasm.exe et dwm.exe dans Windows Defender ;
  • déchiffre des parties du script PowerShell (PowerShell.Inject.245) issues de la configuration, puis l'écrit dans le dossier temp sous un nom aléatoire et l'exécute. De son côté, le script déchiffre les fichiers boot_f, kernel_f et thread_f, puis les injecte dans le processus RegAsm.exe ;
  • il recherche le fichier cryptwizard, le déchiffre et l'injecte dans le processus dwwin.exe. Au moment de la rédaction de cette news, ce fichier n'existe pas et son indicateur d'exécution est défini sur false ;
  • vérifie les connexions au serveur C2 à l'aide d'un script PowerShell et de l'utilitaire Netstat.

Mode3non

Reprend les fonctionnalités du Mode3, à l'exception des techniques de contournement des protections.

Handler

Reprend le mécanisme de lancement des modules malveillants décrit pour le Mode2. Ce mode est moins flexible et moins modulaire que le Mode2. Par exemple, il n'utilise pas de configurations ; toutes les données sont directement intégrées au code. Il s'agit peut-être d'une ancienne version du mécanisme de lancement, que les auteurs de logiciels malveillants ont choisi de conserver dans le code.

L'objectif principal de tous les mods mentionnés ci-dessus est l'exécution de trois charges utiles malveillantes : deux fichiers, BackDoor.AsyncRAT.115 et Trojan.InjectNET.14.

BackDoor.AsyncRAT.115

Un cheval de Troie qui donne aux attaquants un accès complet à l'ordinateur infecté. Deux fichiers malveillants strictement identiques sont injectés dans les processus ; seuls les ports de connexion diffèrent. Il est probable que cela permette à deux opérateurs de contrôler simultanément le même PC.

Trojan.InjectNET.14

Ce cheval de Troie injecte le fichier Trojan.Clipper.688 dans le processus regasm.exe, lequel remplace les adresses de portefeuilles de cryptomonnaies présentes dans le presse-papiers. Au moment de cette substitution, il effectue une capture d'écran et l'envoie à un bot Telegram, accompagnée d'informations sur la version du « clipper », le nom de la fenêtre active, le nom d'utilisateur et l'adresse IP.

Après le déploiement des charges utiles, le cheval de Troie extrait de l'archive Nexara/Nvdia.7z un programme supplémentaire, développé à l'aide du framework Electron : le voleur de données JS.Stealer.191.

JS.Stealer.191

Le cheval de Troie vérifie s'il est exécuté dans un environnement virtuel isolé (bac à sable) ou sur une machine virtuelle, collecte des informations sur l'ordinateur infecté et dérobe les données de l'utilisateur :

  • données issues des navigateurs ;
  • les fichiers XML du logiciel FileZilla ;
  • le fichier MobaXterm.ini du logiciel MobaXterm ;
  • le fichier wcx_ftp.ini du logiciel Total Commander ;
  • configurations VPN ;
  • les fichiers des messengers ;
  • comptes de jeux ;
  • comptes de services de jeu ;
  • jetons (tokens) Discord.

Les données dérobées sont archivées et transmises aux cybercriminels via un bot Telegram.

Si des logiciels antivirus tels qu'ESET, McAfee ou Malwarebytes sont installés sur la machine infectée, le cheval de Troie tente de les supprimer.

Code de suppression des antivirus

Le cheval de Troie ajoute une entrée dans le fichier système system32\drivers\etc\hosts afin de bloquer plusieurs domaines appartenant à des éditeurs de logiciels antivirus. De plus, le logiciel malveillant supprime tous les fichiers et dossiers présents dans le répertoire system32\drivers\etc\, à l'exception des fichiers autorisés hosts, networks, protocol, services et lmhosts.sam ; cette action vise à empêcher l'utilisateur d'avoir recours à des sauvegardes.

Fonctionnalités futures

Les cybercriminels modifient continuellement le code et dotent le cheval de Troie de nouvelles fonctionnalités. Les chercheurs ont, par exemple, découvert des fonctions inutilisées chargées du téléchargement et de l'exécution d'une archive supplémentaire : Lodge.7z. Il contient un projet, encore en cours de développement, basé sur le framework Electron. Le fichier exécutable qu'il renferme est WUDFHost.exe. L'analyse du code permet d'identifier certaines fonctionnalités à venir :

  • la création d'un service via l'utilitaire sc.exe afin de pérenniser la présence de Microsoft.exe ;
  • la vérification de la présence de Microsoft.exe sur le disque, avec rechargement si le fichier est absent ;
  • le contrôle de l'auto-démarrage ;
  • l'installation de ses propres mises à jour.

Comme le montre la description des fonctionnalités de ce cheval de Troie, il représente une menace sérieuse, même pour les utilisateurs expérimentés, y compris les spécialistes de la sécurité informatique. Afin d'éviter toute contamination de votre ordinateur, nous vous recommandons de mettre régulièrement à jour vos bases de données antivirus et de vérifier tous les fichiers téléchargés depuis Internet. Les solutions antivirus Dr.Web Security Space et Dr.Web Desktop Security Suite détectent ce cheval de Troie et suppriment rapidement les fichiers infectés.

Plus d'info sur Trojan.Loader.3261

Plus d'info sur Trojan.Clipper.688

Plus d'info sur JS.Stealer.191

Indicateurs de compromission

0
Dernières news Toutes les news