Supprime la capacité de CVE-2017-0199 à exécuter du code en modifiant le gestionnaire par défaut pour les fichiers .hta. Le gestionnaire par défaut pour les fichiers invoqués via OLE2 (objets COM) est stocké séparément de l'application par défaut du système local et ne peut être modifié que via le registre.
Logique de base de l'exploit
Ceci est un exemple pratique de cet exploit, expliqué tel que je le comprends. Toutes les occurrences peuvent ne pas suivre ce schéma et mon évaluation peut être incorrecte. Cependant, le correctif présenté dans la section suivante fonctionne dans les situations où je l'ai testé.
Un document RTF hébergé sur un serveur web a une charge utile d'application hypertexte (HTA) malveillante 'cat'ée à la fin de celui-ci.
Le serveur d'hébergement répond aux requêtes GET pour le fichier avec un en-tête indiquant que le contenu est un fichier HTA.
Microsoft Word exécute un objet OLE2 pour récupérer le document RTF depuis le serveur web.
Microsoft Word est forcé de valider le type de fichier car l'extension .rtf ne correspond pas au type de contenu HTA.
Microsoft Word vérifie à partir de la fin du fichier la présence de structures de données reconnaissables et associe les structures de données HTA au type de contenu HTA.
Microsoft Word corrige automatiquement le type de fichier et le transmet au gestionnaire COM pour les fichiers HTA (mshta.exe).
Mshta.exe exécute le code malveillant de l'application hypertexte depuis la fin du fichier.
Les gestionnaires COM sont stockés séparément des gestionnaires système dans le registre pour éviter des erreurs dans le processus de validation du type de fichier.
Ouvrez les autorisations avancées pour DefaultIcon
Changez le propriétaire en Administrateurs (groupe)
Ajoutez votre compte utilisateur actuel à la liste des principaux de sécurité, attribuez-lui « Contrôle total »
Modifiez la clé (Default) pour qu'elle soit C:\Windows\System32\notepad.exe,1
Dans les autorisations avancées pour DefaultIcon, supprimez votre utilisateur, puis redéfinissez SYSTEM comme propriétaire
Répétez les étapes 1 à 6 pour HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32, en modifiant la valeur de la clé (Default) en C:\Windows\System32\notepad.exe
Cela supprime la capacité de CVE-2017-0199 à exécuter du code en modifiant le gestionnaire par défaut pour les objets .hta invoqués via OLE2 vers le bloc-notes. Cela s'appliquera à toutes les instances d'OLE2 invoquant des fichiers .hta. Cela fera ouvrir le bloc-notes et générera des erreurs, mais le code ne s'exécutera pas.
Ne modifiez pas HKCR directement. Modifiez les clés associées dans HKCU ou HKLM.
Vous pouvez redonner la propriété d'une clé de registre à SYSTEM ou à d'autres après l'avoir prise.
Ne touchez pas au registre. Laissez-le comme vous l'avez trouvé une fois vos modifications effectuées.
Process Monitor dispose d'un puissant filtrage par clic droit pour réduire le bruit.
La fonction de recherche de Process Monitor cherche une chaîne dans tous les champs.
pscp.exe (Putty) est un outil de transfert de fichiers SSH en ligne de commande.
Linux est toujours un gros problème.
Remarque de clôture
Je décline toute responsabilité pour tout dommage ou problème causé par cette atténuation ou la confusion de l'utilisateur résultant du bloc-notes et d'un tas d'erreurs. Il s'agit d'un correctif sale et je ne sais pas s'il causera des problèmes plus importants dans un environnement de production. Comme toujours, évaluez les atténuations en fonction de votre environnement et de vos besoins spécifiques.
J'ajouterai des captures d'écran plus tard pour montrer les effets avant et après de cette atténuation. Cela peut également être fait sous forme de script, mais j'ai des difficultés avec la modification des autorisations de la clé de registre, donc je m'en occuperai plus tard.