follina
Threat Research

Le document Word “Follina” a exploité une vulnérabilité inconnue dans Microsoft Office

L'utilisation abusive de MSDT.exe a provoqué en mai dernier un véritable chaos lors du Memorial Day Monday.

Mise à jour (10/06/2022) : Lien vers une liste d’IOC publiée sur le Github des SophosLabs.

Mise à jour (08/06/2022) : Les SophosLabs ont découvert une nouvelle utilisation complexe de l’exploit Follina dans des spams envoyés par email.

Mise à jour (31/05/2022) : Les SophosLabs ont mis à jour les signatures de protection des systèmes endpoint pour la détection statique, dynamique et comportementale des maldocs et charges virales liés à CVE-2022-30190. Les conseils de Microsoft pour désactiver MSDT sont disponibles ci-dessous.

Lors du week-end du Memorial Day, un acteur malveillant inconnu a commencé à diffuser un document Word piégé qui utilisait une vulnérabilité dans Microsoft Office jamais observée jusqu’à présent. Surnommée “Follina“, la vulnérabilité CVE-2022-30190 signifie qu’un document malveillant peut ouvrir une URL et déclencher une chaîne d’infection sans avoir besoin d’abuser des scripts Macro. De plus, l’exploit se déclenchera également si Windows affiche un document malveillant au format RTF dans le volet de prévisualisation de l’explorateur. Il n’existe pas de correctif à l’heure actuelle pour traiter ce bug.

Le processus d’infection exploite l’utilitaire Windows msdt.exe, qui est utilisé pour exécuter divers packs de dépannage Windows. Le document malveillant qui abuse de cet outil l’invoque sans intervention de l’utilisateur, en utilisant le gestionnaire de protocole pour le protocole ms-msdt:.

follina

Un exemple qui illustre la manière avec laquelle le document malveillant apparaît dans Process Explorer, engendrant msdt.exe en tant qu’enfant de WINWORD.EXE

L’expert Kevin Beaumont a publié une étude très intéressante sur le déroulement de l’attaque et a fait le lien avec d’autres exemples de documents malveillants que des experts ont trouvés ces derniers jours, certains remontant à mars dernier.

Microsoft a publié des conseils pour désactiver temporairement l’utilitaire MSDT afin de mitiger les effets néfastes de cette vulnérabilité.

Comment fonctionne l’exploit ?

Le script d’un document Word malveillant connu appelle un fichier HTML à partir d’une URL distante. Les attaquants ont choisi d’utiliser le domaine xmlformats[.]com, probablement parce qu’il ressemblait beaucoup au domaine légitime openxmlformats.org utilisé par la plupart des documents Word.

follina

Ce fichier HTML contient un bloc de code avec des caractéristiques étranges : 6324 octets douteux (61 lignes composées de rangées commentées avec 100 caractères “A”), suivis d’un script légèrement obfusqué qui, à un moment donné, a téléchargé et exécuté une charge virale.

follina

Dans les jours qui ont suivi l’apparition de l’exploit, nous avons vu divers acteurs malveillants expérimenter et affiner des méthodes d’attaque qui utilisaient le document Word piégé, ainsi que des contre-mesures qui désactivaient temporairement les fonctionnalités Windows non sécurisées attaquées par cet exploit.

Émergence d’une méthode d’infection élaborée

Un peu plus d’une semaine après son apparition soudaine, les documents Word compatibles avec Follina ont commencé à apparaître à un rythme effréné. Comme le bug CVE-2021-40444, les builders de maldoc compatibles avec Follina sont apparus rapidement. Nous avons vu une attaque inhabituellement complexe émerger la semaine du 6 juin et avons pensé qu’il était important de la souligner.

follina

L’attaque commençait par un malspam de type “message thread injection“, où les attaquants injectent une réponse au milieu d’une conversation existante par email . Le message est bref mais demande au destinataire d’ouvrir la pièce jointe HTML. Le client de messagerie peut afficher le texte brut intégré du fichier HTML en mode inline dans le corps du message.

Les pièces jointes de cette campagne utilisaient toutes la même convention de dénomination : huit nombres aléatoires, un trait de soulignement (_), puis six nombres aléatoires. Lorsque vous ouvriez le HTML dans un navigateur, celui-ci déclenchait immédiatement le “téléchargement” d’un fichier .zip.

follina

Le fichier .zip n’est en fait téléchargé nulle part. En effet, le .zip était intégré à la pièce jointe HTML, et un script obligeait le navigateur à lancer le “téléchargement” lorsque vous l’ouvriez. Les données .zip commencent là où vous voyez apparaître “var text =” dans l’image ci-dessous.

follina

À l’intérieur du fichier .zip se trouve une autre archive, à savoir un fichier .zip avec un suffixe .img. La convention de dénomination du fichier .img intégré se répliquera quel que soit le .zip parent utilisé. Si vous avez atteint cette étape, vous êtes déjà en difficulté. En effet, vous voilà confronté à de sérieux problèmes ! Nous vous en présentons quelques-uns.

follina

La décompression de l’archive .img révèle les principaux composants de l’attaque sous la forme de trois fichiers : Une DLL Windows, un fichier .docx malveillant Follina et un raccourci Windows. Le raccourci partage le même modèle de dénomination que le parent .zip et .img, mais pas la DLL et le .docx.

follina

À ce stade, la cible peut infecter l’ordinateur concerné de deux manières différentes. Méthode 1 : si vous double-cliquez sur le raccourci Windows, il “enregistre” la DLL dans Windows à l’aide d’une commande de type ligne de commande, démarrant ainsi le cycle d’infection.

follina

Méthode 2 : si vous n’avez déployé aucune des mesures de mitigation pour Follina, l’ouverture du docx Word (ou sa prévisualisation dans le volet adéquat) incitera Word à exploiter le bug CVE-2022-30190. Comme avec CVE-2021-40444, vous pourriez voir Word vous informer qu’il télécharge un élément au niveau de son écran de démarrage…

follina

…ou bien vous pourriez voir apparaître une fenêtre contextuelle à l’intérieur de Word.

follina

En coulisses, la page Web visitée par le maldoc contient un autre script malveillant. Il se trouve que cette page contenait également une grande quantité de faux texte du type ‘lorem ipsum’ intégré, au-dessus du script.

follina

Dans ce cas, l’attaquant a inséré un petit commentaire sarcastique dans cette page Web, invisible pour un utilisateur final :

Heureusement que nous avons désactivé les macros

follina

Le script au bas de la page, encodé en base64, ressemble au code présenté dans l’image ci-dessous lorsqu’il est décodé. Il demande à la machine Windows de télécharger trois fichiers à partir de serveurs différents, de les placer dans le répertoire %temp%, puis d’utiliser regsvr32.exe pour les exécuter.

follina

Lorsque tout est exécuté avec succès, vous obtenez alors une chaîne d’attaque qui ressemble à Word invoquant MSDT, qui lance une copie de l’utilitaire mpsigstub.exe ou sdiagnhost.exe et chacune des exécutions regsvr32.exe des trois charges virales, en tant que processus enfant des éléments lancés précédemment.

follina

Ces charges virales DLL semblent toutes être des clones les unes des autres, et même si l’exploit tente d’en charger trois copies, le malware reconnaît ses semblables et n’injecte qu’une seule copie dans un processus système, dans ce cas, explorer.exe, qui montre des signes d’infection en balisant un certain nombre d’adresses C2 jusqu’à ce qu’il atteigne une machine active.

follina

Cette méthode d’infection, qui exploite les messages threads existants afin d’injecter une réponse dans la conversation , est déjà largement utilisée. Nous avons déjà expliqué comment la famille BazarLoader procédait, tout comme d’autres familles de malwares. L’utilisation de cette technique implique qu’au moins une partie de la conversation ait déjà été infectée par un malware capable de lire les emails d’une victime et d’envoyer des réponses à l’aide de son compte.

La bonne nouvelle est que nos protections existantes détectent et bloquent déjà divers aspects de ce comportement malveillant avant qu’il ne puisse créer des problèmes, en utilisant les signatures référencées ci-dessous. Les DLL de cette attaque seront détectées par les signatures Troj/Inject-HUW ou Troj/Agent-BIXE. Les fichiers de raccourci à l’intérieur de l’archive .img sont détectés sous le nom Troj/LnkRun-BW et les fichiers Follina .docx sous le nom Troj/DocDl-AGFL.

Malgré tout, il est très important de rester vigilant et de ne pas oublier que cette menace existe bel et bien, en étant à l’affût des réponses “injectées” qui vous envoient des pièces jointes inattendues.

Détection et conseils

Comme les emails semblent être un vecteur de menace, les produits Sophos détectent la pièce jointe sous le nom CXmail/OleDl-AG, lorsqu’elle est intégrée dans un message. De plus, nous avons publié la détection Troj/DocDl-AGDX pour les variantes connues des maldocs (et le HTML ciblé). L’équipe de détection comportementale a mis à jour la règle Exec_39a pour améliorer notre protection en profondeur. Alors qu’ils surveillaient l’activité, ils ont trouvé plusieurs scripts de “builder” maldoc qui généraient de nouveaux échantillons.

Nous continuerons à travailler sur ces détections et surveillerons d’éventuels nouveaux échantillons ou toute nouvelle utilisation de ce nouvel exploit. Les indicateurs de compromission liés aux incidents décrits ci-dessus sont publiés sur le Github des SophosLabs.

Remerciements

Les SophosLabs remercient pour leur contribution Richard Cohen, Gabor Szappanos, Ronny Tijink et Michael Wood, qui ont coordonné les efforts internes pour suivre et contrer le bug Follina, ainsi que les experts externes qui ont permis à la communauté de sécurité de prendre conscience de l’existence de cette vulnérabilité. Merci à Fraser Howard, Threat Research Director aux SophosLabs, d’avoir attiré notre attention sur cette campagne d’injection d’emails.

Billet inspiré de ‘Follina’ Word doc taps previously unknown Microsoft Office vulnerability, sur le Blog Sophos.