14 septembre 2021

Une 0Day critique dans MSHTML permet l’exécution de code arbitraire à distance sur des machines Windows

Introduction

Microsoft a publié un bulletin de sécurité le 07 septembre 2021 concernant une nouvelle vulnérabilité découverte sous la CVE-2021-40444.

La vulnérabilité en question impacte le composant MSHTML utilisé par ActiveX. Un attaquant ayant connaissance de cette vulnérabilité peut réaliser une exécution de code arbitraire à distance sur une machine en envoyant un simple fichier Office piégé (via courriel par exemple).

Avec un score CVSS de 8.8, le niveau de risque est considéré comme élevé. Le niveau de risque dépend essentiellement du niveau de privilèges de l’utilisateur ayant ouvert le document malveillant. Plus ses privilèges sont élevés (administrateur par exemple), plus l’impact sur le système d’information sera important. La nécessité d’une interaction utilisateur (UI:R dans la notation CVSS) via l’ouverture du document piégé réduit la probabilité d’occurrence et donc la criticité de la vulnérabilité.

Détails techniques et explications

En pratique, cette vulnérabilité implique essentiellement un document Microsoft Office spécialement conçu, qui comprend un élément ActiveX malveillant. Ce dernier active le composant MSHTML vulnérable.

MSHTML, plus connu sous le nom de « Trident » est le nom du moteur d’affichage de pages Web utilisé dans Internet Explorer sous Windows, et par extension, tous les navigateurs basés sur Internet Explorer.

Les contrôles ActiveX sont des sortes de « petits logiciels » qui peuvent être utilisés un peu partout (pages web par exemple) à l’instar des DLL. Cette technologie ActiveX permet notamment le dialogue entre programmes.

Ce qui rend cette vulnérabilité unique, c’est l’utilisation d’applications dites « legacy » qui ont toujours existé sur Windows. Internet Explorer et ActiveX font partie intégrante de Windows depuis plus de trois décennies. Introduit pour la première fois en 1996 avec Internet Explorer 3.0, ActiveX permet des interactions entre Internet Explorer et le système d’exploitation hôte. En raison des privilèges accordés à ActiveX, les contrôles ActiveX malveillants peuvent avoir accès à des informations critiques, telles que des frappes clavier et des données systèmes sensibles. Bien qu’obsolètes, les contrôles ActiveX sont toujours pris en charge par Windows 10 et Microsoft Office. En effet, de nombreuses organisations dépendent de cette technologie.

Typiquement, le scénario d’une attaque peut se produire si un contrôle ActiveX malveillant est utilisé par un document Microsoft Office (Excel, Word, etc.) qui héberge le moteur de rendu d’Internet Explorer Trident.

Dans son fonctionnement, lorsqu’Office ouvre un document, il vérifie s’il est étiqueté avec une « marque du Web » (MoTW), ce qui signifie qu’il provient d’Internet et donc potentiellement dangereux.

En théorie, Microsoft Office gère les documents reçus depuis Internet en mode protégé ou via Application Guard pour Office, l’un ou l’autre pouvant empêcher l’exécution de la vulnérabilité. Si cette balise MoTW existe, Microsoft ouvrira le document en mode « lecture seule », bloquant efficacement l’exploitation de la vulnérabilité à moins qu’un utilisateur ne clique sur le bouton « Activer les modifications ».

Initialement, les utilisateurs sont protégés via la fonction « Vue protégée » d’Office. Cependant de nombreux utilisateurs ignorent cet avertissement et cliquent quand même sur le bouton « Activer la modification ». Ce comportement est un comportement humain, psychologique naturel ayant pour but de supprimer l’ensemble des messages d’erreurs, warnings, etc. afin d’avoir une vue claire du document.

Du côté attaquant, il existe des solutions de contournement quant à l’ouverture « sécurisée » des documents par Office. Sachant que cette protection se met en place lorsqu’un document provient d’internet, un contournement simple est de faire en sorte qu’il ne soit pas détecté comme provenant d’internet. Concrètement, cela consiste à ce que le document ne reçoive pas l’étiquette « MoTW ». Une méthode répandue est d’envoyer une archive à la place d’un document seul. En effet, quand 7Zip ouvre une archive provenant d’Internet, le contenu extrait n’aura aucune indication de sa provenance et ne comportera ainsi pas d’étiquette MoTW.

Trend Micro a obtenu plusieurs échantillons de documents exploitant la CVE-2021-40444. Les documents contiennent tous le code suivant dans le fichier document.xml.rels de leur package :

L’URL, qui a volontairement été floutée, va ici venir télécharger un fichier intitulé « side.html » via le TargetMode « External » car l’URL de l’attaquant est une URL externe. Ce fichier contient du code JavaScript obfusqué. L’équipe de Trend Micro a travaillé sur la « désobfuscation » de ce code qui nous permet d’observer que ce dernier télécharge un fichier .CAB, extrait un fichier .DLL dudit fichier .CAB et utilise des attaques de traversée de chemin (path traversal) pour exécuter le fichier (qui s’appelle championship.inf).

Finalement, cela conduit à l’exécution du fichier championship.inf en tant que fichier du panneau de configuration .cpl (Control Panel File).

La vidéo montre l’exécution d’une charge utile Cobalt Strike via la CVE-2021-40444. Une fois le document Word ouvert et la modification du document activée, l’attaquant aura donc une main sur la machine via son C2 (Command & Control) Cobalt Strike. Il pourra exécuter n’importe quelle commande avec les privilèges de l’utilisateur victime.

Utilisation de la CVE pour des attaques dans la « nature »

Alors que la vulnérabilité a été officiellement annoncée par Microsoft le 7 septembre 2021, il semblerait que cette dernière soit exploitée depuis bien plus longtemps. En effet, un tweet de « Shadow Chaser Group » remontant au 2 septembre 2021, met en lumière les URL utilisées par les attaquants, comportant le nom de domaine « hidusi.com » avec le fichier side.html et ministry.cab

N’ayant toujours pas de correctif associé ni contournement efficace, cette vulnérabilité est d’autant plus dangereuse. Étant dans la nature depuis environ 2 semaines, il est fortement probable que des attaquants en ont tiré profit pour infecter de nombreuses machines. Nous ne serons pas surpris d’apprendre dans quelques semaines que des entreprises ont été compromises via ce vecteur d’attaque.

Correctifs et solutions de contournement

La découverte de cette vulnérabilité étant assez récente, il n’existe aujourd’hui aucun correctif ou mise à jour officielle de la part de Microsoft.

Cependant, face à ce risque, des mesures successives ont été prises de la part de Microsoft : l’antivirus Microsoft Defender, a été mis à jour afin de détecter et contrer l’exploitation de cette brèche.

De plus, pour contourner la vulnérabilité, le géant américain a conseillé de désactiver les contrôles ActiveX dans Internet Explorer en modifiant directement les registres de la machine. Cette opération délicate peut être effectuée en enregistrant le code suivant dans un fichier .reg, double cliquer dessus pour l’exécuter puis redémarrer la machine pour appliquer les modifications.

Il est important de noter que le contournement n’empêchera pas les contrôles ActiveX déjà installés de fonctionner sans risque.

Afin de contrer ce type d’attaque, il est nécessaire de sensibiliser le personnel des entreprises aux dangers de l’ouverture de pièces jointes provenant d’Internet. Cela peut se faire via des exercices de simulation d’attaque par hameçonnage par exemple qui met en pratique le scénario d’un attaquant qui tenterait d’envoyer un e-mail aux collaborateurs d’une entreprise afin que ces derniers téléchargent et ouvrent la pièce jointe frauduleuse.

L’offre Red Team proposée par BSSI répond parfaitement à cette problématique en simulant une attaque par hameçonnage personnalisée de bout en bout et adaptée aux besoins de l’entreprise.

14 septembre 2021 CERT

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *