windows

Windows: un chercheur de Google divulgue une faille vieille de 20 ans

Un chercheur en sécurité de Google a divulgué les détails d’une vulnérabilité vieille de 20 ans qui affecte toutes les versions de Microsoft Windows, depuis Windows XP jusqu’à Windows 10.

La vulnérabilité se trouve dans la méthode utilisée par les clients MSCTF et le serveur pour communiquer entre eux, permettant même à une application non-privilégiée ou sandboxée de lire et d’écrire des données sur une application plus privilégiée.

MSCTF est un module de Text Services Framework (TSF) du système d’exploitation Windows qui gère les méthodes d’entrée, le clavier, traitement de texte et reconnaissance de speech.

Quand vous vous connectez à une machine Windows, elle commence un service de surveillance CTF qui fonctionne en tant que manager central pour gérer les communications entre tout les clients. Ce sont en fait des fenêtres pour chaque processus s’exécutant sur la même session, via un port ALPC (advanced local procedure call).

“Vous avez sûrement remarqué le service ctfmon dans le gestionnaire de tâche, sa responsabilité est de notifier les applications à propos des changements de clavier ou de méthodes d’entrée. Le kernel force les applications à se connecter au service ctfmon quand elles se lancent, et ensuite d’échanger des messages avec d’autres clients et recevoir des notifications de ce service,” a expliqué le chercheur.

Tavis Ormandy de l’équipe Project Zero de Google a découvert que comme il n’y a pas de contrôle d’accès ou aucune sorte d’authentification en place pour cette interaction, n’importe quelle application, n’importe quel utilisateur et même des processus sandboxés peuvent:

  • se connecter au port ALPC de ctfmon sur toutes les sessions,
  • lire et écrire le texte de n’importe quelle fenêtre, depuis n’importe quelle session,
  • falsifié leur thread id, process id, et HWND,
  • se faire passer pour un service CTF, pousser les autres applications, même celles qui sont privilégiées, à se connecter au service
  • échapper aux sandboxes et élever les privilèges.

“Il n’y a pas de contrôle d’accès dans CTF, donc vous pouvez vous connectez à la session active d’un autre utilisateur et prendre le contrôle d’une application, ou attendre qu’un Administrateur se connecte pour compromettre sa session,” a expliqué Ormandy dans un article.

“Apparemment il était possible de d’atteindre les sessions et de violer les frontières de sécurité de NT pendant près de 20 ans, et personne n’a rien remarqué.”

Si exploité, la faiblesse du protocole CTF permet aux pirates de contourner l’isolation des privilèges de l’interface utilisateur (UIPI), il devient donc possible de:

  • lire des données sensibles depuis n’importe quelle fenêtre d’autres applications, y compris les mots de passe dans les boîtes de dialogues,
  • obtenir des privilèges SYSTEM,
  • prendre le contrôle du dialogue de consentement UAC,
  • envoyer des commandes à la console de session de l’administrateur
  • échapper aux sandboxes IL/AppContainer en envoyant des entrées aux fenêtres qui ne sont pas sandboxées.

Ormandy a aussi publié une vidéo proof-of-concept démontrant comment la faille peut être exploitée pour obtenir des privilèges SYSTEM dans Windows 10.

En plus de cela, le protocole CTF contient aussi des failles de corruption de mémoire qui, selon le chercheur, peuvent être exploité dans une configuration par défaut.

“Même sans bugs, le protocole CTF permet à des applications d’échanger des entrées et de lire leurs contenus respectifs. Cependant, il y’a beaucoup de bugs de protocole qui permettre le de prendre le contrôle complet d’une autre application. Il sera intéressant de voir comment Microsoft décidera de moderniser le protocole,” a déclaré Ormandy.

Le chercheur a aussi publié un outil open-source, “CTF Exploration Tool“, sur Github. Il l’a développé lui-même et l’a utilisé pour découvrir plusieurs failles de sécurité dans le protocole CTF de Windows.

Ormandy a partagé ses trouvailles avec Microsoft au milieu du mois de Mai 2019 et a partagé des détails avec le public après que Microsoft n’ait toujours pas adressé le problème 90 jours après avoir été alerté.

Microsoft a patché cette faille de Windows

Avec la mise à jour Patch Tuesday de ce mois-ci, Microsoft a finalement adressé cette vulnérabilité, identifiée comme CVE-2019-1162. Ils ont changé la méthode utilisée par Windows pour gérer les appels vers Advanced Local Procedure Call (ALPC).

Si cet article vous a plu jetez un oeil à notre précédent article concernant une faille de Windows.

Poster un Commentaire

avatar
  S’abonner  
Notifier de