Fuite d'informations d'identification NTLM via Thèmes Windows
Commentaires éditoriaux et additionnels de Tricia Howard
Synthèse
Le chercheur sur la sécurité d'Akamai Tomer Peled a récemment découvert une vulnérabilité d'usurpation dans Thèmes Microsoft. Elle a été dénommée CVE-2024-21320 avec un score CVSS de 6,5.
Cette vulnérabilité peut déclencher une coercition à l'authentification. Il s'agit d'une attaque dans laquelle une victime est contrainte d'envoyer des informations d'identification (généralement sous la forme de hachages NTLM sur SMB) à la machine d'un attaquant. L'attaquant peut ensuite craquer les informations d'identification hors ligne.
Pour exploiter cette vulnérabilité, l'attaquant a seulement besoin que la victime télécharge un fichier de thème sur son ordinateur. Lorsque l'utilisateur ouvre le fichier dans Explorer, le navigateur envoie automatiquement des paquets d'établissement de liaison SMB (Server Message Block) contenant les informations d'identification au serveur de l'attaquant.
Toutes les versions de Windows sont concernées, car Thèmes est une fonctionnalité intégrée au système d'exploitation Windows.
Microsoft a corrigé cette vulnérabilité dans Patch Tuesday de janvier 2024.
Nous fournissons un fichier Thèmes de démonstration, ainsi qu'une vidéo de démonstration, et présentons plusieurs façons d'atténuer cette vulnérabilité.
Introduction
Depuis l'époque de Windows XP, Microsoft a fourni plusieurs options de personnalisation prévisuelle prêtes à l'emploi : couleurs, polices et curseurs, pour n'en nommer que quelques-unes. Cette personnalisation est facile à faire pour les utilisateurs. Ils peuvent afficher les thèmes installés en cliquant simplement avec le bouton droit sur le bureau, en sélectionnant « Personnaliser » et en cliquant sur « Thèmes ». Les fichiers de thème ont le suffixe .theme et ils peuvent être créés à l'aide de cette présentation de MSDN.
Ce service apparemment anodin peut constituer un foyer pour certaines vulnérabilités insidieuses. Dans notre analyse du Tuesday Patch de septembre 2023, nous avons brièvement évoqué l'impact de CVE-2023-38146, une vulnérabilité au sein de Thèmes. Lors de l'analyse de la vulnérabilité, nous avons décidé de « jouer » avec les valeurs d'un fichier Thèmes, et avons découvert qu'il y avait un manque de validation dans certains paramètres.
En abusant de ce manque de validation, nous pouvons exécuter une attaque sans aucune interaction de la part de l'utilisateur : les utilisateurs n'ont qu'à télécharger un fichier Thèmes malveillant. Une fois que l'utilisateur ouvre le fichier dans Explorer, l'exploitation commence.
Nous avons documenté ce que vous devez savoir sur cette vulnérabilité, y compris les mesures d'atténuation et une démonstration. Lire la suite.
Fonctionnement
Le format de fichier Thèmes se compose de plusieurs blocs de paramètres. Dans cet article, nous allons parler de deux paramètres : le paramètre BrandImage à l'intérieur du bloc [Thèmes] (figure 1), et le paramètre Wallpaper (figure 2) à l'intérieur du bloc [Panneau de configuration\Bureau] .
Chaque fichier dans Windows a une vignette qui est censée correspondre à sa fonction. La vignette peut être très variée, du logo du produit à une représentation de son utilisation (comme avec Calculatrice, par exemple). Les vignettes de fichier de thème sont composées de trois parties : un fond d'écran (le carré noir), un fichier MSstyle (le carré violet), et l'image de marque (l'image Infection Monkey , figure 3).
Ces composants sont écrits dans le fichier Thèmes dans trois paramètres différents : BrandImage, Wallpaper et VisualStyle. Ils peuvent tous constituer des chemins distants qui pointent vers des points de terminaison UNC.
Exploitation
Lorsqu'un fichier Thèmes est créé ou ouvert, Windows essaie de créer la vignette appropriée à partir de ses trois composants. Ce processus de création de vignette se lance automatiquement dans le processus Explorer. La figure 4 décrit le flux de code pour la création de la vignette d'un fichier Thèmes.
Puisque ces actions démarrent automatiquement, c'est l'endroit idéal pour les attaquants de rechercher des moyens de manipuler le résultat. L'une des façons dont les attaquants peuvent procéder est de changer la valeur des trois paramètres en un chemin UNC pointant vers un serveur contrôlé par l'attaquant, en espérant que la machine de la victime tentera de s'authentifier auprès de leur machine.
Nous avons constaté que le chemin de l'image peut être n'importe quel chemin légitime, y compris un chemin UNC. La modification des valeurs de « BrandImage » ou « Wallpaper » a produit une connexion de la machine de la victime conduisant à une attaque de coercition à l'authentification. Plus précisément, dans le cadre de la connexion au serveur distant, le client effectue une négociation SMB au cours de laquelle ses informations d'identification NTLM sont envoyées.
Les conséquences d'une fuite NTLM
Avec les informations d'identification NTLM d'une victime, un attaquant peut exécuter une attaque relais NTLM. C'est une attaque sur les systèmes qui acceptent NTLM en tant qu'informations d'identification d'accès. En relayant les hachages NTLM, un attaquant pourrait s'authentifier en tant qu'utilisateur légitime et ainsi accéder à des systèmes auxquels il n'aurait pas accès autrement.
Une autre option consiste à fournir les informations d'identification NTLM comme entrée à une application de craquage de mot de passe, telle que John the Ripper, pour essayer de craquer le mot de passe de la victime en utilisant la force brute.
Un exemple de l'impact que peut avoir une attaque de la sorte est la peu connue vulnérabilité d'Outlook, qui a été initialement divulguée à Microsoft en mars 2023. Un résultat similaire a été découvert et a été activement exploité « in the wild », prouvant que ce vecteur d'attaque est toujours pertinent et lucratif pour les attaquants.
La vulnérabilité de mars permettait à un attaquant d'envoyer un e-mail à la victime et de déclencher le téléchargement d'un fichier audio. Le chemin d'accès à ce fichier audio peut pointer n'importe où, y compris vers un serveur distant (à l'aide d'un chemin UNC). Le chercheur Akamai Ben Barnea a beaucoup écrit sur cette vulnérabilité et sur comment il a trouvé de multiples façons de contourner le correctif qui avait été proposé pour l'atténuer.
Ce qui a été corrigé
Dans son correctif, Microsoft a ajouté un appel à une fonction qui vérifie si l'entrée est un chemin UNC (« PathIsUNC »), et une valeur de registre pour vérifier si les chemins UNC sont autorisés pour l'utilisation du fichier Thèmes (figure 6). S'il s'agit d'un chemin UNC et que les chemins UNC ne sont pas autorisés, la vignette ne sera pas chargée. S'ils sont autorisés, la vignette sera créée avec les paramètres BrandImage et Wallpaper.
La valeur « DisableThumbnailOnNetworkFolder » se trouve à l'emplacement du registre : « HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation ». La valeur est vérifiée dans la fonction nouvellement ajoutée « IsUNCPathAllowedForThumbnailImage() » à l'intérieur de la bibliothèque themeui.dll.
Dans sa FAQ pour cette vulnérabilité, Microsoft a écrit : « ...puis convaincre l'utilisateur de manipuler le fichier spécialement conçu, mais pas nécessairement de cliquer sur ou d'ouvrir le fichier malveillant. » D'après nos recherches, cela semble incorrect. Comme nous l'avons expliqué, aucune modification du contenu du fichier n'est requise ; l'ouvrir suffit à déclencher l'envoi des informations d'identification.
Atténuation
Sous Windows 11, il est possible de bloquer l'utilisation de l'authentification NTLM dans SMB avec des machines distantes via les stratégies de groupe. Pour ce faire, les administrateurs doivent modifier Modèles administratifs > Réseau > Poste de travail Lanman > Bloquer NTLM.
Microsoft a suggéré d'utiliser une autre règle appelée « Restreindre NTLM », qui aidera à atténuer cette vulnérabilité. La règle peut être activée à l'aide du manuel de Microsoft.
Grâce à la microsegmentation, les administrateurs réseau peuvent bloquer le trafic SMB vers des emplacements distants en dehors du réseau. De telles connexions ne sont généralement pas attendues, car SMB est principalement utilisé pour la communication avec les contrôleurs de domaine et les serveurs de fichiers. Consultez notre article de blog complet sur la microsegmentation pour plus de détails sur la segmentation du trafic SMB.
Conclusion
Les attaques de coercition à l'authentification sont bien connues et largement utilisées par les attaquants pour les mouvements latéraux. et le credential stuffing. Par exemple, il y a quelques années, le groupe appelé Dragonfly a utilisé des fichiers LNK modifiés pour obtenir des informations d'identification sur SMB. Déclencher ce type d'attaque à l'aide de fichiers Thèmes est un nouveau vecteur surprenant.
Cette vulnérabilité souligne l'importance d'un protocole anti-hameçonnage au sein des organisations, car les attaquants peuvent facilement envoyer un fichier d'apparence bénigne qui lancera cette attaque.
Nous sommes heureux de voir que Microsoft tente d'atténuer ce vecteur d'attaque en ajoutant des règles de groupe pertinentes. Nous conseillons aux défenseurs de mettre à jour leurs points de terminaison avec les derniers correctif de sécurité.
Calendrier de divulgation
20/09/2023 — Vulnérabilité révélée au Centre de réponse aux problèmes de sécurité Microsoft (MSRC)
01/10/2023 — Plus d'informations envoyées au MSRC
18/10/2023 — MSRC a accepté la nécessité d'un correctif
09/01/2024 — Microsoft publie un correctif pour ces vulnérabilités
06/03/2024 — Article de blog Akamai publié