Joueurs méfiez-vous : une faille Zero-Day dans le client Steam affecte tous les utilisateurs Windows (Threatpost)

Et voilà une bonne société qui vient de perdre beaucoup de mon estime, en juste quelques secondes... Vous savez ce que l'on dit... « la confiance se gagne par gouttes, mais elle se perd par litres... »

Steam 12 08 2019

Un chercheur a laissé tomber une vulnérabilité Zéro-Day qui affecte le client Steam game pour Windows, après que Valve ait dit qu'il ne la réparerait pas. Valve a ensuite publié un patch qui, selon le même chercheur, peut être contourné.

Le bogue est une vulnérabilité d'escalade de privilèges qui peut permettre à un attaquant de mettre à niveau et d'exécuter n'importe quel programme avec les droits les plus élevés possibles sur n'importe quel ordinateur Windows avec Steam installé, selon le chercheur indépendant Vasily Kravets (alias Felix).

Étant donné que Steam affirme avoir plus d'un milliard d'utilisateurs enregistrés dans le monde (et 90 millions d'utilisateurs actifs qui s'inscrivent pour jouer à des jeux comme Assassin's Creed, Grand Theft Auto V et Warhammer), l'attaque est potentiellement massive. Pourtant, le propriétaire de Steam, Valve, a déterminé que la faille n'était "pas applicable" après que Kravets l'ait soumis via la plate-forme HackerOne bug-bounty.

Détails du bogue

La vulnérabilité existe dans le Steam Client Service, qui s'exécute sur les ordinateurs Windows avec des privilèges système. Le chercheur a découvert qu'il est possible d'utiliser des liens symboliques (c.-à-d. des liens symboliques, qui agissent comme des raccourcis entre un fichier ou un répertoire et un autre) pour que l'ordinateur lance un service ou un exécutable avec tous ses privilèges.

D'abord, Kravets a découvert que le service Steam peut être démarré et arrêté par n'importe qui utilisant l'ordinateur (c'est-à-dire ceux qui ont des privilèges "utilisateur") - et quand cela se produit, l'utilisateur reçoit une liste des sous-clés sous la clé principale "HKLM\Software\Wow6432Node\Valve\Steam\Apps" du registre.

"Ici, j'ai trouvé que HKLM\SOFTWARE\Wow6432Node\Valve\Steam a un 'contrôle total' explicite pour le groupe 'users', et ces permissions héritent pour toutes les sous-clés et leurs sous-clés," explique Kravets dans un récent article. Il voulait ensuite voir s'il était possible de prendre le contrôle d'une sous-clé sous HKLM\Software\Wow6432Node\Valve\Steam\Apps qui offre des permissions limitées, utiliser un lien symbolique pour pointer vers une clé de registre sécurisée avec des permissions complètes, puis redémarrer le service pour accéder à la clé de registre sécurisé.

"J'ai créé un lien de HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps\Apps\test vers HKLM\SOFTWARE\test2 et redémarré le service," dit-il - et il a trouvé que cela renvoie effectivement un accès complet en lecture/écriture sur la clé pour tous les utilisateurs.

"Ainsi, nous avons maintenant une primitive pour prendre le contrôle de presque toutes les clés du registre, et il est facile de la convertir en une escalade complète des privilèges ", a-t-il expliqué. "Je choisis la clé HKLM\SYSTEM\ControlSet001\Services\msiserver qui correspond au service Windows Installer."

En utilisant le même processus, il a découvert qu'il était capable d'exécuter Windows Installer avec les privilèges administratifs et le code d'installation. Ainsi, l'image qui émerge est un vecteur d'exploitation qui permet d'exécuter n'importe quel exécutable avec les droits les plus élevés possibles sur n'importe quel ordinateur Windows avec Steam installé.

"Après avoir pris le contrôle, il suffit de changer la valeur ImagePath du HKLM\SYSTEM\ControlSet001\Services\msiserver key et lancer le service'Windows Installer'. Le programme indiqué dans l'ImagePath sera lancé en tant que NT AUTHORITY\SYSTEM," explique Kravets.

Un autre chercheur indépendant, Matt Nelson (alias enigma0x3), a développé une preuve de concept (PoC) pour le défaut qu'il a publié sur Github. Il montre comment utiliser le bogue pour lancer une invite de commande Windows avec des privilèges d'administration.

HackerOne et Valve

Kravets a soumis un rapport de bogue le 15 juin, qui a été rejeté le 16 juin parce que le bogue permet des "attaques qui nécessitent la possibilité de déposer des fichiers dans des emplacements arbitraires sur le système de fichiers de l'utilisateur". Après contestation, le rapport a été rouvert - puis refermé le 20 juillet pour la même raison, avec une note indiquant que " les attaques ... nécessitent un accès physique à l'appareil de l'utilisateur ".

Bien que HackerOne ait dit à Kravets qu'il n'était pas autorisé à publier les détails du bogue, il l'a fait de toute façon 45 jours après la divulgation initiale. Depuis, le rapport HackerOne a été rouvert, et Steam a mis à jour le client pour adresser un "exploit d'escalade de privilèges utilisant des liens symboliques dans le registre Windows". Cependant, Kravets a dit que le correctif pourrait être contourné.

"Où est mon pop-corn ?" dit-il.

Quant à la minimisation par Valve de la gravité du bogue, Kravets a laissé entendre que le logiciel pourrait être écrit pour tirer profit du problème, ce qui augmenterait considérablement le danger du défaut. Il a écrit : "En fait, Steam permet d'accorder des privilèges élevés pour chaque programme que vous exécutez."

Il ajoute : "Il est assez ironique qu'un lanceur, qui est en fait conçu pour exécuter des programmes tiers sur votre ordinateur, leur permette d'obtenir silencieusement un maximum de privilèges. Êtes-vous sûr qu'un jeu gratuit à 90% fait de déchets par un développeur inconnu se comportera honnêtement et n'inclueras pas un mineur caché de cryptomonnaie ? Les droits élevés des programmes malveillants peuvent augmenter considérablement les risques - les programmes peuvent désactiver l'antivirus, utiliser des endroits sombres et profonds pour cacher et modifier presque n'importe quel fichier d'un utilisateur, même voler des données privées.

Valve n'a pas immédiatement retourné une demande de commentaires sur cette histoire. HackerOne a dit qu'il examinait les affirmations de Kravets, mais qu'il n'avait pas de commentaire pour le moment. Threatpost a également contacté Kravets pour obtenir plus d'informations sur l'exploitation (et l'atténuation) dans le monde réel.

Source : Threatpost.com