DNSMessenger : Cheval de Troie d’accès distant (RAT) préféré en 2017

DNSMessenger

J’ai beaucoup écrit sur les chevaux de Troie d’accès distant (ndlr : Remote Access Trojan en anglais, abrévié RAT dans la suite de l’article) au cours des dernières années. Aussi ne pensais-je pas que ce logiciel classique prisé des hackers recèlerait autant d’innovations. Les RAT sont utilisés par les hackers pour accéder au shell et lancer des commandes permettant de rechercher du contenu et de copier des fichiers à l’insu de tous. À l’évidence, je suis passé à côté de DNSMessenger, une nouvelle variante de RAT découverte plus tôt dans l’année.

Le programme malveillant s’exécute lorsque la victime clique sur un document Word intégré à un e-mail – il est contenu dans un script VBA qui lance ensuite un PowerShell. Jusque-là, rien d’inhabituel dans cette approche de phishing.

Pour finir, la charge diabolique du RAT est installée au cours d’une autre phase de lancement. Le cheval de Troie d’accès distant DNSMessenger est en lui-même un script PowerShell. Le mode opératoire du programme malveillant est intentionnellement alambiqué et embrouillé pour le rendre difficile à localiser.

Et que fait ce RAT basé sur le PowerShell ?

La logique du RAT

Rien ne dit qu’un RAT doive être si compliqué. La boucle de traitement principale accepte des messages qui indiquent au programme malveillant d’exécuter des commandes et de renvoyer les résultats.

DNSMessenger

Voici un morceau de code DNSMessenger visant à sonder les serveurs DNS. Les adresses sont codées en dur.

L’astuce de DNSMessenger réside dans le fait (surprise !) qu’il utilise le DNS comme serveur de contrôle et de commande pour obtenir des enregistrements à partir desquels il extrait les commandes.

C’est un peu plus compliqué qu’il n’y paraît, et si vous le souhaitez, vous pouvez lire l’analyse originale effectuée par le groupe de sécurité Talos de Cisco.

Un RAT furtif

Comme l’indiquent les pros de la sécurité, DNSMessenger est en fait « sans fichier » puisqu’il n’a pas besoin d’enregistrer de commandes depuis le serveur distant sur le système de fichiers de la victime. Du fait qu’il utilise PowerShell, DNSMessenger est très difficile à détecter lorsqu’il est en cours d’exécution. Cela signifie également qu’il ne sera pas automatiquement identifié par les antivirus.

Ce mode opératoire est directement tiré du petit manuel du piratage sans programme malveillant.

Ce RAT est encore plus redoutable du fait qu’il s’appuie sur le DNS, un protocole qui ne figure pas sur la liste habituelle des protocoles utilisés pour la surveillance et le filtrage du réseau, comme c’est le cas du HTTP ou du HTTPS.

Coup de chapeau aux hackers pour y avoir pensé. Mais cela ne signifie pas pour autant que DNSMessenger est totalement indétectable. Le programme malveillant n’a pas accès au système de fichiers du fait que les commandes sont envoyées via le DNS pour analyser les dossiers et rechercher des contenus monétisables. La technologie d’analyse du comportement des utilisateurs (UBA) de Varonis permet d’identifier les anomalies sur le compte utilisé pour exécuter DNSMessenger.

Ce serait super de pouvoir établir un lien entre l’activité inhabituelle au niveau des accès aux fichiers et l’exfiltration DNS opérée par DNSMessenger. Nous aurions alors une preuve solide qu’un incident est en cours.

Varonis Edge

Il y a peu de temps, nous avons diffusé Varonis Edge, conçu spécialement pour rechercher les signes d’attaque au niveau du périmètre et notamment des VPN, des passerelles de sécurité Web et, oui, du DNS.

Comme je l’ai indiqué dans mon dernier billet (ndlr : bientôt traduit), le piratage sans malware est en plein essor et nous devrions en faire les frais en 2018.

Il serait intéressant d’essayer de tester et d’analyser un cheval de Troie de type DNSMessenger. Je n’en aurai pas le temps ce mois-ci, mais ma résolution du Nouvel An sera d’essayer de faire le test courant janvier dans mon environnement AWS.

D’ici là, assistez à une démo de Varonis Edge pour en savoir plus.