Les chercheurs de Proofpoint ont découvert une nouvelle technique de diffusion de malware via des pièces jointes. Dans la campagne d’attaques observée, les auteurs exploitent la fonction Windows Troubleshooting Platform (WTP), destinée au diagnostic des problèmes dans Windows, afin d’inciter par ruse les destinataires de leurs messages à exécuter des programmes malveillants.
Cette attaque est d’autant plus efficace que l’exécution de WTP ne s’accompagne pas d’un avertissement de sécurité et que les utilisateurs sont habitués à lancer l’outil de diagnostic lorsqu’il apparaît dans Windows. En l’occurrence, cependant, son lancement entraîne l’installation de LatentBot[4], un bot modulaire bien documenté utilisé pour la surveillance, le vol d’informations et l’accès à distance.
Figure 1 – Schéma fonctionnel de Windows Troubleshooting Platform
Le document leurre, dans ce cas, a été diffusé sous la forme d’un fichier joint à un e-mail, même si toute autre technique servant à transmettre des documents malveillants aurait pu être employée. Lorsque le destinataire ouvre le fichier, il se voit demander de double-cliquer pour détecter automatiquement le jeu de caractères. S’il obtempère, il ouvre en réalité un objet OLE imbriqué. Cet objet est un fichier ayant pour signature numérique DIAGCAB, qui est l’extension Windows pour un package de diagnostic. Une fois ouvert le fichier falsifié, l’utilisateur voit s’afficher une autre fenêtre d’apparence très réaliste (Figure 2).
S’il clique sur « Suivant » dans cette fenêtre, l’application lance les scripts associés au package de diagnostic. En l’occurrence, une commande PowerShell est exécutée afin de télécharger et lancer la charge malveillante.
Figure 2 – Le document leurre ; à noter le message incitant par ruse l’utilisateur à double-cliquer afin de lancer involontairement l’objet OLE
Figure 3 – Le package de diagnostic signé ; à noter que l’éditeur indiqué par le certificat n’est pas en cause mais que c’est plutôt un certificat valide qui a été piraté et exploité pour lancer cette attaque
Figure 4 – Le package de diagnostic télécharge la charge malveillante en tâche de fond au moyen d’un script PowerShell à l’insu de l’utilisateur
Comme le montrent les Figures 3 et 4, le package de diagnostic permet de personnaliser l’aspect de la fenêtre, les actions effectuées et les scripts exécutés, via un formatage XML. Il est par exemple possible de définir le titre « Encoding detection » et de spécifier que l’« Outil de diagnostic » est le script PowerShell « TS_1.ps1 » au moyen des directives suivantes :
Figure 5 – Package de diagnostic faisant référence à un fichier PowerShell malveillant en tant que script
Le script PowerShell responsable du téléchargement de la charge malveillante dans cette campagne est représenté sur la Figure 6 :
Figure 6 – Commandes PowerShell servant à télécharger la charge malveillante
Cette méthode d’exécution d’un malware échappe à l’observation de nombreuses solutions existantes de « sandbox » car l’activité malveillante est menée en dehors du fichier binaire msdt.exe chargeant le fichier .diagcab. Cela s’inscrit dans la tendance qui consiste pour les auteurs de malware à rechercher de nouvelles méthodes pour échapper aux sandbox via un flux d’exécution COM non standard, méthodes illustrées précédemment par des exemples tels que WMI (Windows Management Instrumentation), Office Interoperability, BITS (Background Intelligent Transfer Service) et le planificateur de tâches.
Dans ce cas particulier, via la création d’un objet COM IScriptedDiagnosticHost dans msdt.exe, le service DcomLaunch lance Scripted Diagnostics Host (sdiagnhost.exe), qui ouvre à son tour le shell et exécute les commandes PowerShell ci-dessous.
La charge malveillante, en l’occurrence, est un backdoor modulaire connu sous le nom de LatentBot, analysé en détail par FireEye fin 2015. Au cours de notre analyse de ce cas, nous avons observé le chargement des modules de bot suivants pour l’exfiltration et l’accès à distance :
- Bot_Engine
- remote_desktop_service
- send_report
- security
- vnc_hide_desktop
Les auteurs d’attaques ne cessent d’innover pour tirer profit des fonctions intégrées à Microsoft Windows afin d’inciter leurs victimes à exécuter sans méfiance des charges malveillantes. En l’occurrence, ils affichent une interface « Windows » très naturelle, susceptible de duper les utilisateurs même chevronnés. En outre, cette technique aboutit à une chaîne d’exécution inhabituelle qui permet d’échapper à la détection de nombreuses solutions de sandbox et complique nettement leur tâche.