Microsoft corrige l'exploit de contournement UAC Eventvwr.exe dans la mise à jour des créateurs Windows 10

2017-06-26 20:13:31
Principal·Microsoft·Microsoft corrige l'exploit de contournement UAC Eventvwr.exe dans la mise à jour des créateurs Windows 10

Dans l'aperçu de la mise à jour des créateurs Windows 10 build 15007, Microsoft semble avoir corrigé la méthode de contournement UAC impliquant eventvwr.exe. Tout d'abord, comment fonctionne ce contournement?

Lorsque vous êtes connecté en tant qu'administrateur, les fichiers binaires Windows dont le niveau d'exécution est défini sur «la plus haute disponibilité» et la propriété «élévation automatique» sur «vrai» dans le manifeste, démarrent automatiquement élevés sans afficher l'invite Contrôle de compte d'utilisateur.

Le Gestionnaire des tâches (Taskmgr.exe) et Eventvwr.exe en sont deux exemples. Avez-vous remarqué que le Gestionnaire des tâches s'exécute avec une élévation par défaut, mais n'affiche aucune invite UAC lorsque vous êtes connecté en tant qu'administrateur?

Le chercheur en sécurité Matt Nelson (@ enigma0x3 sur Twitter) a écrit sur un contournement ou un exploit UAC qui utilise eventvwr.exe. Eventvwr.exe est essentiellement un programme de lancement qui exécute% systemroot% \ system32 \ eventvwr.msc à l'aide de la méthode ShellExecute.

Cela signifie (ShellExecute) que le système utilise les informations d'association de fichiers .MSC pour lancer l'exécutable approprié qui ouvre les fichiers MSC. Étant donné que le programme parent eventvwr.exe s'exécute avec une élévation par défaut, le processus enfant s'exécute également avec une élévation.

Contournement UAC à l'aide du hack de registre

Lorsque eventvwr.exe (shell) exécute le fichier eventvwr.msc, Windows, plutôt que d'utiliser les informations d'association de fichiers sous HKEY_LOCAL_MACHINE \ Software \ Classes \ mscfile, interroge la branche ici:

 HKEY_CLASSES_ROOT \ mscfile 

Pour info, HKEY_CLASSES_ROOT est juste une vue fusionnée qui contient les clés, les sous-clés et les valeurs de ces deux emplacements:

 HKEY_CURRENT_USER \ Software \ Classes HKEY_LOCAL_MACHINE \ Software \ Classes 

Et si des clés et des valeurs identiques existent sous les deux, celles sous HKEY_CURRENT_USER ont priorité. Ainsi, vous pouvez détourner HKEY_CLASSES_ROOT\mscfile en créant la clé suivante:

 Commande HKEY_CURRENT_USER \ Software \ Classes \ mscfile \ shell \ open \ 

Un programme ou un script malveillant peut définir les données de valeur (default) conséquence, de sorte qu'une commande / script PowerShell peut être exécuté avec des privilèges administratifs complets / une intégrité élevée, sans même que l'utilisateur ne le sache.

Ainsi, en détournant HKEY_CLASSES_ROOT, eventvwr.exe peut être utilisé efficacement comme programme de lancement pour exécuter arbitrairement n'importe quel programme - même télécharger la charge utile du rançongiciel à partir d'un serveur distant et l'exécuter à l'aide de PowerShell.exe, sous les privilèges d'administrateur.

Il s'agit d'une méthode de contournement UAC très efficace car elle ne nécessite aucune suppression de fichiers, injection de DLL ou autre chose. Bien sûr, cet exploit UAC ne fonctionne que lorsque vous êtes connecté en tant qu'administrateur.

Cela a changé dans la version d'aperçu de la mise à jour Creators 15007. Heureusement, Microsoft a corrigé eventvwr.exe dans 15007 - il n'exécute plus le fichier MSC. Au lieu de cela, il crée directement un processus MMC.exe - l'association de fichiers n'est pas utilisée.

Merci à Matt Nelson (@ enigma0x3) qui a découvert cette méthode de contournement et à FireF0X (@ hFireF0X) qui a signalé que ce problème était résolu en 15007 où eventvwr.exe utilise CreateProcess pour lancer mmc.exe au lieu de ShellExecute . Voir aussi: Microsoft Windows - Escalade de privilèges de contournement de la protection UAC sans fichier

Choix De L'Éditeur