Sommaire
Ce billet de blog sur cette vulnérabilité Microsoft Zero Day a été initialement publié sous la forme d’un rapport FLINT (SEKOIA.IO Flash Intelligence) envoyé à nos clients le 31 mai 2022.
Le 27 mai, un document Microsoft Office malveillant a été découvert par l’équipe de sécurité NAO SEC et d’autres chasseurs de menaces en tant que chercheurs de MalwareByte sur VirusTotal. Ce document DOCX (MD5 :52945af1def85b171870b31fa4782e52) a été conçu pour charger un fichier HTML distant spécifique à l’aide du moteur MSHTML.
Une fois ouvert, le fichier HTML utilise Javascript pour remplacer sa propre URL par une URL contenant le ms-msdt . Cette action conduit Microsoft Office à lancer l’utilitaire Microsoft Support Diagnostic Tool (msdt.exe) avec des arguments spécifiques, conduisant au Remote Code Exécution d’une charge utile Powershell arbitraire. MSDT est un outil utilisé pour dépanner et collecter des données de diagnostic pour analyse par des professionnels du support technique afin de résoudre un problème.
Ce n’est pas la première fois que l’outil de diagnostic du support Microsoft est utilisé de manière abusive afin d’obtenir l’exécution de code arbitraire sous Windows. Dans le passé, il a été abusé pour exécuter des exécutables distants spécifiques via des vulnérabilités XSS sur les applications Electron ou en tant que binaire Windows Living of the Land (LOL).
Cependant, l’exploitation passée nécessitait au moins une interaction utilisateur « en un clic » ou un deuxième fichier XML présent sur l’ordinateur pour être réalisée. Dans ce cas précis, aucune interaction n’est requise de la part de l’utilisateur et MSDT exécute directement le script Powershell intégré dans le IT_BrowseForFile . Tel qu’identifié par John Hammond de la cybersécurité Huntress, le contenu duIT_BrowseForFile doit remplir ces conditions pour être exécuté :
- Au minimum, deux traversées de répertoires (../) sont requises dans l’ IT_BrowseForFile Le argument
- code enveloppé dans $() est exécuté via PowerShell, mais des espaces le casserait
- «.exe» doit être la dernière chaîne de fin présente à la fin de l’ IT_BrowseForFile argument
À l’heure actuelle, nous ne savons pas pourquoi l’outil de diagnostic du support Microsoft autorise l’exécution arbitraire de PowerShell dans le IT_BrowseForFile . Cependant, il est probable que les chercheurs trouveront d’autres utilitaires Microsoft « vulnérables » permettant une telle exécution de PowerShell dans leurs arguments de paramètres dans les semaines à venir.
Il est important de noter que cette vulnérabilité (CVE-2022-30190, également surnommée Follina par certains chercheurs en sécurité) peut être exploitée même sans ouvrir le fichier en créant un document RTF (Rich Text Format) spécifique et en le faisant prévisualiser par l’utilisateur dans le Volet de prévisualisation de l’Explorateur Windows. Plusieurs chercheurs ont souligné que même si la chaîne d’exploitation docx semble ne plus fonctionner, celle RTF est toujours vulnérable.
Une vulnérabilité aux racines chinoises
Le document découvert n’est pas le premier DOCX vu ITW exploiter cette vulnérabilité. SEKOIA a découvert que plusieurs ensembles d’intrusions en étaient conscients avant sa découverte par NAO SEC et la première vague d’exploitation semble avoir été réalisée par des Chinois. Ensembles d’intrusion APT. Dans les documents, l’inclusion de la ressource externe dans l’exploit initial se termine par un point d’exclamation susceptible de forcer l’exécution par le moteur MSHTML sans avertissement.
Figure 1. Référence malveillante à un fichier HTML externe
En examinant les fichiers contenant cette chaîne spécifique sur VirusTotal à la fin de l’URL de l’attribut cible, nous avons pu trouver cinq autres documents exploitant cette vulnérabilité depuis début mars 2022. Voici la liste des documents, leur description et l’URL où la charge utile HTML malveillante était hébergée :
- 05-2022-0438.doc (MD5 :52945af1def85b171870b31fa4782e52), créé le 2022-05-25, est un document vierge, peut-être un repositionnement de l’exploit initial. Ce document charge un fichier HTML hébergé sur le domaine appartenant aux attaquants www.xmlformats[.]com. Il est à noter que SEKOIA a pu récupérer un autre domaine utilisé par le même attaquant et baptisé miniformats[.]com.
- Exposing_Nitesh_Pariyar_Liar!!!.doc (MD5:d313002804198b5af1e0b537799be348), créé le 2022-03-25, est un document qui semble cibler un individu travaillant pour la société népalaise NCELL qui est le premier fournisseur privé de services mobiles opérant au Népal et le deuxième plus grande entreprise de télécommunications, après Nepal Telecom. Ce document charge un fichier HTML hébergé sur le serveur Exchange probablement compromis à l’URL suivante : hxxps://exchange.oufca[.]com.au/aspnet_client/poc.html
- Exposing_Sonish_Liar!!!.doc (MD5 :529c8f3d6d02ba996357aba535f688fc), créé le 2022-04-06 – est un document similaire mais exposant un autre individu népalais. Ce document demande un autre fichier HTML hébergé sur le même serveur : hxxps://exchange.oufca[.]com.au/owa/auth/15.1.2375/themes/p3azx.html
- приглашение на интервью.doc (MD5 :f531a7c270d43656e34d578c8e71bc39), créé le 2022-04-12 – est un document qui semble cibler des individus spécifiques en demandant une interview sur l’émission de radio russe Spoutnik liée à l’Ukraine. Ce document charge un fichier HTML hébergé sur un serveur VPS à l’URL suivante : hxxps://www.sputnikradio[.]net/radio/news/3134.html
- РЭТ-ЮМ-3044 от 12.04.2022.doc (MD5 :6bcee92ab337c9130f27143cc7be5a55), créé le 2022-04-07, semble cibler le PDG de Concern Radio-Electronic Technologies. Selon wikipedia, le CRET produit un émetteur-récepteur militaire crypté Rostec R-168-5UN-2 de cinquième génération qui est utilisé par les forces russes en Ukraine. Le document charge un autre fichier HTML hébergé sur le serveur sputnikradio[.]net à l’URL suivante :
hxxps://www.sputnikradio[.]net/radio/news/1134.html - CSAFP’S_GUIDANCE_RE_NATIONAL_AND_LOCAL_ELECTION_2022_NLE.docx (MD5 : 8ee8fe6f0226e346e224cd72c728157c), créé le 2022-03-09, est le premier document vu ITW qui exploite le vulnérabilité. Ce document se fait passer pour les forces armées philippines dans une lettre destinée à plusieurs divisions des forces armées. Il charge le fichier HTML hébergé sur un VPS à l’URL suivante : http://141.98.215[.]99/color.html
Il est intéressant de noter qu’il n’existe aucune connexion d’infrastructure entre ces documents. Par conséquent, il semble que le même exploit ait été utilisé ou réutilisé par différents acteurs de la menace avant sa découverte par les chercheurs en sécurité.
Malheureusement pour nous, une seule URL était active au moment d’écrire ces lignes. Cette petite opportunité nous a permis de récupérer un fichier cabinet exécuté sur le poste de la victime après l’exploitation. Ce fichier cabinet (test.cab – MD5:75b614b50ff24d567d1b136340507b82) contient un binaire est un PyInstaller compilé qui contient un fichier nommé «loader.py».
Ce chargeur – qui semble avoir des origines chinoises d’après les commentaires laissés par le développeur – télécharge un shellcode encodé depuis le serveur 160.20.145[.]111. Ensuite, il effectue des opérations de chiffrement et de déchiffrement RSA inutiles dessus et les exécute dans un nouveau thread. Le shellcode récupéré est une balise Cobalt Strike qui communique avec 103.51.140[.]188 en utilisant le profil malléable jQuery.
Les deux adresses IP récupérées sont déjà connues comme malveillantes dans SEKOIA.IO Intelligence Center. 160.20.145[.]111 pour être un PlugX C2 et 103.51.140[.]188 pour être un CobaltStrike C2. À ce jour, aucune attribution à un ensemble d’intrusions ou à un cluster d’activités chinois spécifique ne peut être effectuée avec ces indicateurs techniques.
Détection de cette vulnérabilité Microsoft Zero Day
La détection de l’exploitation CVE-2022-30190 peut se faire par l’analyse de l’exécution des processus. msdt.exe exécuté avec l’ IT_BrowseForFile contenant $( est un signe de la tentative d’exploitation de la vulnérabilité.)
Solutions
Comme la version actuelle d’Office est toujours vulnérable avec les documents RTF et que Microsoft n’a pas encore publié de correctif, nous vous conseillons d’appliquer des correctifs. Différent Des remédiations, déployables par GPO, semblent possibles dans l’attente du patch officiel de Microsoft :
- Supprimer la ms-msdt dans le registre HKEY_CLASSES_ROOT
- Désactiver les « assistants de dépannage » dans le registre HKEY_LOCAL_MACHINE : SOFTWARE\Policies\Microsoft\Windows\ScriptedDiagnostics
IOCs
Malicious documents hashs
8ee8fe6f0226e346e224cd72c728157c
6bcee92ab337c9130f27143cc7be5a55
f531a7c270d43656e34d578c8e71bc39
529c8f3d6d02ba996357aba535f688fc
d313002804198b5af1e0b537799be348
52945af1def85b171870b31fa4782e52
Loaders hashs
414ac723fe6fdbd5cb1e703b0c225b50
8e4d8cbbc7374574f40c31f02f225053
75b614b50ff24d567d1b136340507b82
VPS servers
103.51.140[.]188
160.20.145[.]111
141.98.215[.]99
sputnikradio[.]net
xmlformats[.]com
miniformats[.]com
onedrivo[.]com
Règles YARA
rule exploit_CVE202230190_html_file_hunting {
meta:
id ="70b5ddc4-443d-4bc7-b047-29ed2247f364"
version = "1.0"
description = "Detects the HTML file used for to exploit"
cve = "CVE-2022-30190"
source = "SEKOIA"
ceation_date = "2022-05-30"
modification_date = "2022-05-30"
classification = "TLP:WHITE"
strings:
$script = "<script" ascii nocase
$href = "location.href" ascii nocase
$ms_msdt = "ms-msdt:" ascii nocase
condition:
filesize >= 4000 and $script and
$ms_msdt in (@href..@href+20)
}
rule exploit_CVE202230190_Documentxmlrels_hunting {
meta:
id = "b3d06d37-fa80-4515-9aaf-1168c515bd8f"
version = "1.0"
description = "Detects document.xml.rels used by the DOCXs"
warning = "Hunting rule, can produce FPs"
cve = "CVE-2022-30190"
source = "SEKOIA"
creation_date = "2022-05-31"
modification_date = "2022-05-31"
classification = "TLP:WHITE"
strings:
$s = { 21 22 20 54 61 72 67 65
74 4D 6F 64 65 3D 22 45
78 74 65 72 6E 61 6C 22
2F 3E }
condition:
uint32be(0) == 0x3C3F786D and #s == 1
}
rule exploit_CVE202230190_MalRTF_hunting {
meta:
id = "2302a0c8-4762-4751-8928-61e26c42ad0a"
version = "1.0"
description = "Detects potential RTFs exploiting CVE-2022-30190"
warning = "Hunting rule, can produce FPs"
source = "SEKOIA"
creation_date = "2022-06-02"
modification_date = "2022-06-02"
classification = "TLP:WHITE"
strings:
$s = { 7B 5C 2A 5C 6F 62 6A 63 6C 61 73 73 20 68 74 74 70 }
condition:
uint32be(0) == 0x7B5C7274 and #s == 1
}
Règles SIGMA
version: 2.0
uuid: e3fe6d7d-7609-4641-9c52-62ccf578d35a
rule: Msdt File Browse Process Execution
description: >-
Detects when the Compatability Troubleshooter is abused.
detection:
selection:
process.name: 'msdt.exe'
process.command_line|contains|all:
- 'IT_BrowseForFile'
- '$('
condition: selection
alert_category: intrusions
alert_type: system-compromise
alert_severity: 80
attack:
- T1203
data_sources:
- Process command-line parameters
- Process monitoring
- Windows event logs
TTPs (ATT&CK)
- Exploitation for Client Execution (T1203)
- Command and Scripting Interpreter : PowerShell (T1059.001)
- Phishing (T1566)
Références
- [Twitter] NaoSec Tweet lié au document malveillant
- [Microsoft] Avis Microsoft
- [Benjamin-altpeter] Abus MSDT via XSS sur Electron Apps
- [LOLBAS] Abus MSDT pour exécuter du code arbitraire
- [Twitter] Chaîne d’exécution RTF toujours vulnérable
Lire aussi sur notre blog :
- LuckyMouse utilise une application de messagerie pour cibler MacOS
- Raccoon Stealer v2 – Partie 2 : Analyse approfondie
- Le paysage des menaces ransomware observé par SEKOIA.IO durant le 1ᵉʳ semestre 2022
- Traffers : une plongée dans l’écosystème des voleurs d’informations
- MSDT abused to achieve RCE on Microsoft Office