Un consultant en cybersécurité a découvert une nouvelle chaîne d’attaque qui exploite des images GIF dans Microsoft Teams pour exécuter des commandes arbitraires sur la machine cible.
L’exploit découvert par Bobby Rauch est baptisé « GIFShell » et son principal composant est une image GIF contenant un script Python. Cette image piégée est envoyée à un utilisateur de Microsoft Teams pour créer un shell inversé.
En détournant l’infrastructure légitime de Microsoft, un attaquant peut contourner les contrôles de sécurité, faire passer des fichiers malveillants pour des fichiers inoffensifs et exfiltrer des données critiques. Pour parvenir à ses fins, l’attaquant doit amener les victimes à installer un « Stager », un exécutable qui exécute effectivement les commandes intégrées dans le GIF.
Cependant, les recherches montrent qu’une telle installation peut être réalisée directement dans Microsoft Teams au moyen de pièces jointes très convaincantes, sans aucune ingénierie sociale ni exploitation supplémentaire d’une autre application.
« Cette recherche montre qu’il est possible d’envoyer aux victimes des pièces jointes d’hameçonnage très convaincantes via Microsoft Teams, sans qu’un utilisateur puisse vérifier au préalable si la pièce jointe liée est malveillante ou non », a écrit Rauch.
Toute pièce jointe Teams peut sembler légitime
En effet, Microsoft Teams prend en charge des fonctionnalités comme le deep linking, mais ne dispose pas de mécanismes adéquats de nettoyage et de validation, ce qui autorise des schémas d’URI potentiellement dangereux. Rauch a découvert que Teams tente d’afficher les fichiers en ligne, même si l’application ne sait pas comment restituer le format concerné (par exemple, une DLL), ce qui permet à n’importe quelle pièce jointe de sembler légitime.
« Lorsqu’un fichier est téléversé dans Microsoft Teams dans un message destiné à un utilisateur autorisé, par exemple un collègue au sein d’une organisation Azure, Microsoft génère un lien SharePoint vers le fichier, que seuls l’expéditeur et le destinataire du message Teams peuvent consulter », a écrit Rauch. « Lorsqu’un utilisateur clique ensuite sur Envoyer dans le message Teams contenant la pièce jointe, un corps JSON est transmis dans une requête POST à un point de terminaison Teams. Il contient le lien SharePoint vers le fichier ainsi que plusieurs autres attributs du fichier. »
Un attaquant peut modifier le corps JSON afin de permettre à un utilisateur externe d’accéder à la pièce jointe Teams malgré les restrictions par défaut et de transmettre des fichiers malveillants sans aucune possibilité de détection (par exemple lors d’une vérification préalable).
Le fichier apparemment inoffensif peut servir à une attaque par téléchargement furtif :
Une fois installé, l’exécutable peut surveiller les journaux de Microsoft Teams afin de détecter et d’extraire les commandes encodées en base64. Les attaquants n’ont qu’à créer leur propre tenant Microsoft Teams et contacter les victimes en dehors de leur organisation, par exemple via des réunions ou des conversations externes. Ils peuvent ensuite envoyer des images GIF spécialement conçues, contenant des commandes malveillantes que le Stager exécutera sur la machine cible. Les journaux Teams contiennent des copies des messages Teams qui peuvent être lus par tous les groupes d’utilisateurs Windows.
Le Stager utilise la sortie des commandes exécutées comme nom de fichier (texte encodé en base64) d’un GIF distant intégré dans une carte adaptative envoyée à l’URL du connecteur de webhook entrant créé pour un canal Teams dans le tenant des attaquants.
Chaque fois que les serveurs de Microsoft tentent de récupérer l’image GIF, ils se connectent au serveur de l’attaquant afin de lui transmettre les informations.
Cette stratégie ingénieuse permet aux attaquants de contourner les outils de sécurité de Microsoft et d’exfiltrer discrètement des données.
Consultez les meilleurs outils EDR
Comment limiter les vulnérabilités de GIFShell
Cette chaîne de vulnérabilités a été signalée à Microsoft en juin 2022, mais l’entreprise a estimé que la recherche ne répondait pas au « seuil justifiant une prise en charge immédiate ».
En d’autres termes, elle n’est pas prioritaire pour le moment, mais cela ne signifie pas qu’elle ne sera pas corrigée. En attendant, Rauch recommande les mesures d’atténuation suivantes :
- Veiller à ce que les utilisateurs soient formés à ne pas cliquer sur les pièces jointes provenant d’expéditeurs externes inconnus.
- Mettre en place une politique Safe Attachments dans Microsoft Defender for Office 365 afin de contribuer à empêcher les attaques par téléchargement–furtif.
- Activer la signature SMB ou désactiver complètement NTLM, et veiller à mettre en place une politique de mots de passe complexes afin de contribuer à prévenir les attaques NTLM.
Il convient également de noter que Microsoft Teams permet d’autoriser explicitement des domaines externes dans les paramètres utilisateur (voir Accès externe). Il est donc théoriquement possible d’empêcher ce type de communication indésirable avec des organisations externes aléatoires.
Les équipes rouges et les testeurs d’intrusion peuvent tenter de reproduire l’attaque en suivant les prérequis et les étapes de reproduction fournis par Rauch dans son rapport.
À lire ensuite : Les meilleurs outils de gestion des vulnérabilités





