Cet article traite de la vulnérabilité Follina, référencée sous le code CVE-2022-30190, relative à des technologies Microsoft.
CVE-2022-30190 (Follina) est une vulnérabilité liée à Microsoft Support Diagnostic Tool (MSDT)
Le 30 mai 2022, Microsoft a publié la CVE-2022-30190, qui affecte la technologie Microsoft Support Diagnostic Tool (MSDT).
MSDT est un outil qui permet de générer un ensemble de données techniques, pour faciliter l’analyse d’un problème. C’est donc un outil de diagnostic, principalement utilisé pour de l’assistance ou du support technique.
En quoi consiste la vulnérabilité CVE-2022-30190 Follina ?
La vulnérabilité CVE-2022-30190 consiste à déclencher un appel à l’outil MSDT via une URL au format ms-msdt:/
suivie de plusieurs paramètres.
Lors de cet appel, il est possible d’utiliser une faille de MSDT pour déclencher une exécution de code potentiellement malveillant, sans action de l’utilisateur.
Un attaquant peut ainsi créer un fichier Microsoft Word qui contient un appel ms-msdt, puis l’envoyer à sa victime.
Si la victime ouvre le fichier, l’appel MSDT se déclenchera et exécutera une commande choisie par l’attaquant.
Microsoft Word propose un mode de protection qui bloque de nombreuses actions si le fichier n’est pas émis par une source de confiance. Cependant, dans certaines configurations, il est possible de déclencher les appels MSDT même en mode protégé, via notamment des fichiers RTF où la vulnérabilité se déclenchera dès la visualisation en mode aperçu.
Comment utiliser la vulnérabilité Follina ?
La vulnérabilité est simple à utiliser, et plusieurs techniques d’attaques ont déjà été validées.
La première approche consiste à générer un fichier Word malveillant. Certains générateurs existent comme https://github.com/chvancooten/follina.py/blob/main/follina.py.
Pour utiliser le programme ci-dessus, la procédure est la suivante :
Temps nécessaire : 1 heure
Comment générer un fichier Word malveillant pour exploiter CVE-2022-30190 Follina ?
- Prérequis : installer Git et Python
Si vous ne savez pas réaliser ces opérations en autonomie, nous vous déconseillons de passer aux étapes suivantes !
- Cloner le dépôt Git de démonstration https://github.com/chvancooten/follina.py
Utilisez pour cela la commande :
git clone https://github.com/chvancooten/follina.py
- Générer ensuite un fichier Word qui tapera sur localhost et lancera la calculatrice Windows
Allez dans le répertoire follina.py, puis lancez la commande :
python .\follina.py -m binary -b \windows\system32\calc.exe -H 127.0.0.1
Note : l’adaptation de la ligne de commande pour générer un appel vers un site hébergé sur Internet est relativement simple et laissée comme exercice à nos lecteurs. - Ouvrir le document généré
Constater que des requêtes sont réalisées vers le serveur web lancé sur localhost, et que la calculatrice s’ouvre.
L’enregistrement ci-dessous illustre l’exploitation de la vulnérabilité sur un poste Windows 10 :
Quelle est la gravité de la vulnérabilité Follina ?
Les logiciels de sécurité de base fournis par Microsoft permettent de détecter une tentative d’exploitation de la CVE-2022-30190, et de la bloquer.
Ainsi, pour que l’exploit puisse se lancer, il faut en pratique désactiver la protection contre les virus et menaces, ce qui n’est recommandé dans un environnement professionnel.
La vulnérabilité Follina a un score CVSS de 7.8 à 7.3 sur 10, et peut être neutralisée par les configurations par défaut d’un ordinateur Windows à jour avec ses services de sécurité actifs. Ceci est confirmé par le bulletin dédié de Microsoft, qui précise que Microsoft Defender peut neutraliser plusieurs exploits.
Quels sont les configurations affectées par CVE-2022-30190 ?
L’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) précise dans son bulletin CERTFR-2022-ALE-005 que les systèmes suivants sont affectés :
- Windows 10 Version 1607 pour systèmes 32 bits
- Windows 10 Version 1607 pour systèmes x64
- Windows 10 Version 1809 pour systèmes 32 bits
- Windows 10 Version 1809 pour systèmes ARM64
- Windows 10 Version 1809 pour systèmes x64
- Windows 10 Version 20H2 pour systèmes 32 bits
- Windows 10 Version 20H2 pour systèmes ARM64
- Windows 10 Version 20H2 pour systèmes x64
- Windows 10 Version 21H1 pour systèmes 32 bits
- Windows 10 Version 21H1 pour systèmes ARM64
- Windows 10 Version 21H1 pour systèmes x64
- Windows 10 Version 21H2 pour systèmes 32 bits
- Windows 10 Version 21H2 pour systèmes ARM64
- Windows 10 Version 21H2 pour systèmes x64
- Windows 10 pour systèmes 32 bits
- Windows 10 pour systèmes x64
- Windows 11 pour systèmes ARM64
- Windows 11 pour systèmes x64
- Windows 7 pour systèmes 32 bits Service Pack 1
- Windows 7 pour systèmes x64 Service Pack 1
- Windows 8.1 pour systèmes 32 bits
- Windows 8.1 pour systèmes x64
- Windows RT 8.1
- Windows Server 2008 R2 pour systèmes x64 Service Pack 1
- Windows Server 2008 R2 pour systèmes x64 Service Pack 1 (Server Core installation)
- Windows Server 2008 pour systèmes 32 bits Service Pack 2
- Windows Server 2008 pour systèmes 32 bits Service Pack 2 (Server Core installation)
- Windows Server 2008 pour systèmes x64 Service Pack 2
- Windows Server 2008 pour systèmes x64 Service Pack 2 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server 2022
- Windows Server 2022 (Server Core installation)
- Windows Server 2022 Azure Edition Core Hotpatch
- Windows Server, version 20H2 (Server Core Installation)
L’ANSSI préconise d’appliquer sur ces systèmes la mesure de contournement décrite ci-après.
Comment corriger la vulnérabilité CVE-2022-30190 ?
Microsoft met à disposition, dans son Patch Tuesday du 14 juin 2022, les mises à jour suivantes :
- KB5014738 / KB5014746 pour Windows Server 2012 R2 et Windows 8.1 ;
- KB5014747 / KB5014741 pour Windows Server 2012 ;
- KB5014748 / KB5014742 pour Windows Server 2008 R2 et Windows 7 ;
- KB5014702 pour Windows Server 2016 et Windows 10 1607 ;
- KB5014710 pour Windows 10 ;
- KB5014699 pour Windows 10 21H2, WIndows Server 20H2, Windows 10 20H2 et Windows 10 21H1 ;
- KB5014697 pour Windows 11 ;
- KB5014678 pour Windows Server 2022 ;
- KB5014692 pour Windows Server 2019 et Windows 10 1809.
Microsoft propose également des solutions de contournement.
Le durcissement pour neutraliser la vulnérabilité passe par la désactivation du protocole des URL MSDT, en supprimant la clé de registre HKEY_CLASSES_ROOT\ms-msdt
.
La procédure est la suivante :
- Lancer une Invite de commande en tant qu’administrateur
- Faire une sauvegarde de la clé de registre avec la commande
reg export HKEY_CLASSES_ROOT\ms-msdt filename
(en remplaçantfilename
par le nom du fichier de sauvegarde) - Lancer la commande
reg delete HKEY_CLASSES_ROOT\ms-msdt /f
Une fois que les correctifs seront disponibles, la solution de contournement pourra être retirée. La procédure de restauration de la clé de registre sera alors :
- Lancer une Invite de commande en tant qu’administrateur
- Lancer la commande
reg import filename
(en remplaçantfilename
par le nom du fichier de sauvegarde généré précédemment)
Attention : cette procédure consiste à modifier la base de registre, et il est donc recommandé de faire plusieurs tests avant de la lancer en production.
La recommandation reste, dans la mesure du possible, de déployer les correctifs de sécurité fournis par Microsoft, dans les plus brefs délais.
Comment vérifier la présence des mesures de contournement avec Cyberwatch ?
Le produit Cyberwatch Compliance Manager permet de vérifier la présence de la mesure de contournement sur votre parc, à l’aide de la règle de conformité Workaround-CVE-2022-30190-Follina
.
Pour toute demande d’assistance ou démonstration, n’hésitez pas à nous solliciter via le formulaire dédié.
Cet article sera enrichi en fonction de l’évolution de la situation.
Date de dernière modification : 16/06/2022 à 20h00