LE PLUS POPULAIRE

Telle une cellule dormante en attente d’activation, une porte dérobée Windows inédite, baptisée Sleepwalker, attend silencieusement en mémoire qu’un paquet réseau spécialement conçu la réveille et délivre des commandes en utilisant le langage à 23 instructions du malware. Les commandes peuvent tout faire, depuis l’exécution de code directement en mémoire jusqu’au déplacement de données hors de l’ordinateur.

Le chercheur en logiciels malveillants Dominik Reichel a découvert la porte dérobée passive, qui possède également son propre langage de commande, et a détaillé Sleepwalker dans une analyse technique lundi.

« Ce qui vaut la peine d’être écrit, c’est ce que contient ce paquet : non pas une commande lisible, mais un court programme écrit dans un langage de commande propre à la porte dérobée », a déclaré Reichel. « Ses 23 instructions couvrent la planification, plusieurs façons de déplacer des données, la livraison de fichiers par étapes et l’exécution du code directement en mémoire. La récupération de la clé de cryptage n’est pas suffisante pour comprendre l’un de ces programmes. Le langage de commande interne doit également faire l’objet d’une ingénierie inverse. « 

En plus d’avoir son propre langage de commande, il convient également de noter que l’hôte distant peut être une cible VMware VMCI au lieu d’une adresse réseau normale.

« Dans son ensemble, l’approche adoptée ici est conforme à une opération ciblée et dotée de ressources suffisantes plutôt qu’à une opération opportuniste », a écrit Reichel.

Le malware, caché dans un fichier DLL Windows 64 bits, se fait passer pour celui de Microsoft. dpapi.dllqui fait partie de l’API de protection des données de Windows pour protéger les données sensibles. Il exporte les sept mêmes fonctions que le vrai dpapi.dll, mais tente de transférer les appels vers un fichier nommé dpapisvc.dll, qui n’est pas un véritable composant Windows.

Le fichier contient également une ressource de version falsifiée d’ESET Management Agent et se charge via un chargement latéral dans ERAAgent.exel’exécutable Windows pour ESET Management Agent. Après avoir confirmé que son processus hôte est nommé ERAAgent.exeSleepwalker s’endort dans la mémoire de l’ordinateur, ce qui l’aide également à rester caché des outils antivirus traditionnels.

Contrairement à la plupart des portes dérobées, qui rappellent un serveur de commande et de contrôle (C2) contrôlé par un attaquant et commencent à recevoir des commandes, Sleepwalker attend, vérifiant chaque paquet qui traverse le réseau à la recherche d’un modèle spécifique – c’est ce qu’on appelle un paquet magique. Une fois qu’elle a détecté un paquet correspondant exactement au modèle, la porte dérobée décrypte les données et les traite comme une commande.

« Comme la porte dérobée n’envoie jamais rien d’elle-même et n’ouvre aucun port d’écoute évident par défaut, les outils qui surveillent les connexions à des domaines connus comme étant défectueux ou un trafic sortant inhabituel ne verront rien d’inhabituel », a écrit Reichel. « L’absence de connexions sortantes vers une infrastructure connue comme étant défectueuse n’exclut pas non plus une infection. Une machine peut être entièrement compromise par cette porte dérobée sans rien produire du tout pour qu’un moniteur réseau puisse le signaler. »

Commandes cachées

Chaque commande envoyée à la porte dérobée est cryptée à l’aide d’AES-256-CCM, et le langage de commande est unique dans le sens où, une fois déchiffré, il ne s’agit ni de texte ni de document.

Au lieu de cela, chaque commande est une courte séquence d’octets bruts, et elle n’a de sens que lorsqu’elle est lue dans un ordre spécifique. Le texte de Reichel comprend une clé qui montre comment lire les octets, et chacune des 23 instructions de Sleepwalker est écrite dans ce langage de commande.

Certaines instructions comportent un programme interne. Par exemple, un planificateur peut également contenir un écouteur réseau, avec une routine qui attend qu’un fichier particulier soit assemblé et vérifié avant de s’exécuter sur l’ordinateur compromis.

Au-delà des deux instructions de reniflage de paquets magiques et des instructions de base – comme une commande de sortie qui arrête tous les programmes en cours d’exécution et l’écouteur de paquets, et une instruction qui démarre un deuxième programme plus petit s’exécutant simultanément avec le programme parent – la porte dérobée en a plusieurs autres.

Celles-ci incluent quatre instructions sur l’envoi et le masquage de données. L’un d’eux ouvre une connexion TCP vers une adresse et un port choisis, puis envoie un bloc de données à un hôte distant, qui peut être une cible VMware VMCI au lieu d’une adresse réseau normale. Un autre écrit un bloc de données dans un tube nommé Windows sur un ordinateur choisi et peut éventuellement se connecter d’abord avec un nom d’utilisateur et un mot de passe.

Cinq autres instructions se concentrent sur la réception de tâches entrantes, comme attendre de recevoir – ou tendre la main par elle-même – une instruction de suivi, ouvrir un port TCP ou UDP, ou créer et/ou se connecter à un canal nommé.

De plus, le malware propose cinq instructions différentes pour créer et exécuter des programmes.

Beaucoup d’inconnues… et d’outils de détection

Comme le note Reichel, cependant, beaucoup de choses restent inconnues sur Sleepwalker. « Je n’ai aucun contexte de collecte reliant le dossier à une intrusion confirmée, je ne peux donc pas identifier une victime, une industrie, un pays ou une organisation concernée », a-t-il écrit.

Bien que nous sachions que la DLL est conçue pour s’exécuter via un chargement latéral après avoir été placée à côté de ERAAgent.exenous ne savons pas comment l’opérateur du logiciel malveillant a pour la première fois accédé à l’ordinateur ou transmis le fichier malveillant. Nous ne connaissons pas non plus l’opérateur ou le développeur, ni quelle activité post-compromise, le cas échéant, a eu lieu.

« Je n’ai trouvé aucun code associé qui permettrait une attribution à un groupe connu, et cet échantillon ne peut pas établir quand et dans quelle mesure Sleepwalker a été déployé, s’il existe des variantes ou s’il appartient à une campagne continue », a écrit Reichel.

Peut-être plus important encore, pour quiconque pense être infecté par Sleepwalker ou un échantillon de malware associé, Reichel a écrit : « J’ai créé une boîte à outils pour aider à décoder son bytecode, examiner les artefacts cryptés et réseau, résumer le comportement et les indicateurs et reproduire en toute sécurité son pipeline de réception sans exécuter de commandes ni transmettre de trafic », exhortant les personnes ciblées à le contacter.

Il a également créé un guide d’atténuation, avec un script de correction à utiliser après la détection de Sleepwalker.®

A lire également