Nous utilisons quasiment tous des documents Microsoft Office. Qu’il s’agisse de documents de travail, de reçus électroniques ou du bail d’un nouvel appartement, les documents Office sont utiles à chacun d’entre nous et c’est en partie la raison pour laquelle nous sommes susceptibles de les ouvrir lorsque nous en recevons en pièce jointe d’un e-mail. Connaissant la propension de nombreux utilisateurs à ouvrir la quasi-totalité des documents, même ceux provenant d’une source non fiable, des individus malintentionnés choisissent couramment ces fichiers pour attaquer et infecter un système.
Nous allons ici passer en revue cinq techniques différentes permettant de détourner les documents Office pour en faire des armes d’attaque et d’infection des postes de travail Windows. Nous en avons déjà évoqué certaines précédemment, tandis que d’autres sont nouvelles.
Macros
Les macros sont le moyen le plus simple pour un assaillant d’infecter des documents Office. Les applications Office intègrent un moteur de scripts capable d’exécuter le langage VBA (Visual Basic for Applications). Du code malveillant contenu dans ces scripts peut ainsi s’exécuter sur le système dès l’ouverture du document, sans aucune intervention de l’utilisateur (à condition toutefois que ce dernier ait au préalable activé les macros). Si l’utilisateur n’a pas activé les macros, un message apparaît pour lui demander s’il souhaite le faire. Il s’agit de l’un des divers mécanismes de sécurité mis en place par Microsoft afin d’atténuer le risque présenté par les macros. Microsoft impose également une autre extension de nom de fichier (.docm au lieu de .docx pour les nouveaux documents contenant des macros). En dépit de ces mesures de sécurité, des utilisateurs décident néanmoins d’ouvrir ces fichiers et d’activer leur contenu, de sorte que les macros demeurent un vecteur courant, aussi bien pour des attaques vastes et simples destinées à propager un ransomware, telles que Emotet, que pour des campagnes élaborées, à l’image de Sofacy.
Comme l’illustre cet exemple, les auteurs des attaques tentent de convaincre les utilisateurs de désactiver les mécanismes de sécurité mis en place par Microsoft. Ils usent, pour ce faire, de techniques d’ingénierie sociale, persuadant l’utilisateur d’activer le contenu afin de pouvoir consulter l’intégralité du document. Dans l’exemple Sofacy, les assaillants ont simplement coloré le texte en blanc, de sorte que celui-ci était bien présent avant que l’utilisateur n’active les macros, mais invisible.
Fichiers Flash incorporés
En dehors des fonctionnalités intégrées telles que les macros, les documents Office peuvent aussi incorporer des objets externes, par exemple des fichiers Adobe Flash. Ces objets étant transmis au logiciel approprié pour leur traitement, toute vulnérabilité éventuellement présente dans ce logiciel peut également être exploitée par son incorporation dans le contenu Adobe Flash à l’intérieur du document Office. Un exemple de ce vecteur d’attaque est la faille Zero Day CVE-2018-4878dans Adobe Flash Player, exploitée par l’incorporation de fichiers SWF malveillants dans des documents Excel. Dans les attaques de ce type, le document Excel infecté incorpore un contenu Adobe Flash capable de déclencher la vulnérabilité Flash et d’exécuter du code shell intégré.
Editeur d’équations Microsoft
Comme pour les fichiers Adobe Flash incorporés dans un document Office, il est également possible d’insérer dans des documents des équations mathématiques qui seront interprétées par l’Editeur d’équations Microsoft, un outil ayant pour vocation de faciliter leur écriture :
Comme dans notre exemple précédent, des vulnérabilités dans l’éditeur d’équations s’exploitent par l’intermédiaire de documents Office malveillants. Nous en avons observé des cas tout récemment lorsque la faille CVE-2017-11882 a été exploitée, ouvrant la voie à d’autres, telles que CVE-2018-0802. Toutes deux touchent l’éditeur d’équations, ce qui permet d’amener l’utilisateur à ouvrir un document Office pour l’exécution de code à distance. Des vulnérabilités similaires dans l’Editeur d’équations Microsoft, telles que CVE-2018-0807 et CVE-2018-0798, identifiées par les chercheurs de l’Unité 42.
Il est à noter que, l’Editeur d’équations Microsoft s’exécutant sous la forme d’un processus distinct (eqnedt32.exe), les protections spécifiques à Microsoft Office, telles que EMET et Windows Defender Exploit Guard ne sont pas efficaces par défaut, car elles protègent uniquement les processus Microsoft Office (par exemple winword.exe).
Objets OLE et handlers HTA
Les objets OLE et les handlers HTA sont des mécanismes pour les documents Office. Ils font référence à d’autres documents inclus dans leur contenu. Ils peuvent servir à infecter un poste de travail de la manière suivante :
Un objet OLE2 (lien) s’incorpore dans un document Microsoft Word. Une fois le document ouvert, le processus Word (winword.exe) envoie une requête HTTP à un serveur distant afin de télécharger un fichier HTA contenant un script malveillant. Winword.exe recherche alors dans le handler le type « application/hta » via un objet COM, ce qui entraîne le chargement et l’exécution du script malveillant par l’application Microsoft HTA (mshta.exe).
Cette fonctionnalité a été exploitée dans la vulnérabilité CVE-2017-0199, permettant l’exécution de code à distance dans Microsoft Office/WordPad et corrigée par Microsoft en septembre 2017. Diverses campagnes y ont eu recours, par exemple OilRig.
Aux côtés des vulnérabilités OLE et HTA décrites plus haut, les auteurs des attaques ont découvert que des fichiers RTF peuvent également exécuter des objets OLE de type mime « text/html », au moyen de MSHTML. Cela signifie que les documents RTF présentent la même vulnérabilité aux attaques qu’Internet Explorer.
CVE-2018-8174
L’exploitation de cette vulnérabilité logique, nommée CVE-2018-8174, permet aux auteurs d’attaques d’exécuter du code HTML/JavaScript/VBScript arbitraire. Tandis que le code exécuté de cette façon se place dans une « sandbox » (où il ne peut lancer de nouveaux processus, écrire dans le système de fichiers ou effectuer d’autres opérations) à l’instar de tout autre code exécuté à partir d’Internet Explorer. Cette faille peut servir à en exploiter d’autres, par exemple une vulnérabilité UAF de corruption de mémoire dans le moteur VBScript, pour permettre l’exécution de code arbitraire dans le cadre de l’application Word (winword.exe) et la prise de contrôle du système.
Tandis que les attaques utilisant des documents comme vecteur sont courantes depuis plus d’une dizaine d’années, nous observons une augmentation récente de leur fréquence et de leur complexité. Cette tendance pourrait s’expliquer par la difficulté croissante d’exploiter les vulnérabilités des navigateurs, en raison du renforcement de leur protection par leurs développeurs. Quoi qu’il en soit, il est important pour les entreprises de savoir comment se défendre.