Une importante faille de sécurité dans Teams

Une faille de sécurité importante a été découverte dans Microsoft Teams. Un rapport publié au milieu du mois de septembre par la société de sécurité Vectra révèle que Microsoft Teams stocke les jetons d’authentification en texte clair.

Problème de sécurité Microsoft Teams

La vulnérabilité concerne les versions de bureau de Teams pour Windows, macOS et Linux. Les pirates qui disposent d’un accès local (physique) ou distant au système d’une victime peuvent accéder aux informations d’identification des utilisateurs connectés, sans avoir besoin de privilèges d’administrateur.

En théorie, les pirates pourraient même contourner les exigences d’authentification à 2 facteurs même si elles étaient activées dans le compte. Accéder ensuite à d’autres applications connexes telles comme Outlook ou Skype serait alors simplifié.

Cela pourrait potentiellement être exploité pour usurper l’identité d’autres utilisateurs, falsifier des données ou concevoir des attaques de phishing ciblées. Cette nouvelle faille de sécurité dans Teams n’est donc pas anodine.

Comment la vulnérabilité a été découverte

Les chercheurs de Vectra travaillaient sur un moyen d’aider un client qui souhaitait supprimer les anciens comptes (utilisateurs inactifs) de Microsoft Teams. L’application ne le permettant pas, ils ont donc cherché un autre moyen. Ils ont alors découvert quelques fichiers. L’un d’eux contenait les jetons d’authentification stockés par Microsoft Teams, et ces informations d’identification étaient en texte clair (format non crypté). Un second fichier, qui était une base de données de cookies de navigateur, contenait également ces jetons.

Illustration de la faille de sécurité dans Teams
Illustration de l’utilisation du jeton en clair dans Teams par Vectra

L’entreprise de sécurité a décidé de passer de la théorie à la pratique et de tester si la faille pouvait être exploitée pour permettre l’accès aux comptes d’utilisateurs. Ils donc commencé par utiliser le moteur SQLite pour télécharger les données dans un dossier local et en extraire le jeton d’accès Skype. Ce jeton a ensuite été utilisé avec succès pour envoyer un message de test, prouvant que la vulnérabilité permet l’accès à d’autres applications.

Tous les détails de la découverte sont ici : https://www.vectra.ai/blogpost/undermining-microsoft-teams-security-by-mining-tokens

Electron, la source du problème

C’est le Framework Electron qui semble poser problème. Il y avait déjà eu en aout un problème annoncé lors de la Black Hat de Las Vegas, un événement dédié à la cybersécurité. Des chercheurs en sécurité étaient parvenus à identifier une vulnérabilité importante dans ce même Framework utilisé par de nombreuses applications telles que Microsoft Teams et Discord.

Dans le cas de Teams, il était possible de prendre le contrôle de l’ordinateur via un simple lien pour inviter les victimes à participer à une réunion. Ce problème a heureusement été rapidement corrigé par Electron avant même la publication de ces failles dans la presse.

Dans ce nouveau cas, Electron ne prend pas en charge les protocoles de sécurité standard tels que le cryptage et les dossiers protégés par le système prêts à l’emploi du moins dans la version utilisée par Microsoft. En effet, depuis la version 15, le framework a corrigé le problème avec la fonction « safeStorage string encryption » (https://www.electronjs.org/docs/latest/api/safe-storage). Or Teams utilise la version 10.4.7 d’Electron. La prochaine mise à jour devrait certainement corriger ce problème.

Capture d’écran de la version Electron utilisé par Teams

Pourquoi utiliser Electron ?

Electron est un framework de référence pour les applications web qui veulent proposer une version desktop à leurs utilisateurs rapidement et à moindre coût. Des applications comme Whatsapp, Slack, 1password et bien entendu Teams reposent sur ce Framework et compte chacun plusieurs dizaines de millions d’utilisateurs.

Des failles ont bien sûr régulièrement été signalés pour ces applications. Toutes les applications ont potentiellement des failles de sécurité. L’important est donc de savoir réagir et corriger rapidement. Electron a beaucoup investit sur les correctifs et la sécurisation de son Framework.

Pour les développeurs ce type de Framework a ses attraits. Pas besoin de redévelopper ses applications selon le système (Windows, Linux, Mac). On développe une fois et on publie autant de fois qu’on désire. De plus le langage de développement reste simple (html, javascript, css, etc).

Que faire en attendant ?

La prochaine mise à jour de Microsoft devrait corriger rapidement cette faille de sécurité dans Teams. En attendant il est conseillé de ne pas utiliser la version Desktop et d’utiliser la version Web de Teams. Vous avez la possibilité d’utiliser Edge. En utilisant le navigateur de Microsoft, vous bénéficiez de protections supplémentaires contre le risque de fuite de jetons.

Vous pouvez aussi créer des règles de surveillance pour découvrir les processus accédant aux répertoires suivants et les stopper en conséquence :

  • [Windows] %AppData%MicrosoftTeamsCookies
  • [Windows] %AppData%MicrosoftTeamsLocal Storageleveldb
  • [macOS] ~/Bibliothèque/Application Support/Microsoft/Teams/Cookies
  • [macOS] ~/Bibliothèque/Application Support/Microsoft/Teams/Local Storage/leveldb
  • [Linux] ~/.config/Microsoft/Microsoft Teams/Cookies
  • [Linux] ~/.config/Microsoft/Microsoft Teams/Local Storage/leveldb

N’hésitez pas à nous contacter. Nous sommes à votre disposition pour vous aider à sécuriser vos sytèmes

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ecrit par Franck Lemarié

Franck a commencé sa carrière en tant qu'expert IBM/HCL Domino et sécurité réseau. Consultant senior reconnu, il est aussi aujourd'hui le responsable commercial et relations partenaires de la société Ylneo.

Publié le 30 septembre 2022

Nos derniers articles