Introduction
Aux alentours de la mi-septembre, notre centre d’activités de sécurité (SOC) a reçu un grand nombre d’alertes par le biais de deux des solutions d’Endpoint Detection and Response (EDR) que nous surveillons au sein de notre service Managed Detection and Response (EDR), à savoir CrowdStrike et Defender forEndpoint. Une première analyse a révélé que le logiciel malveillant était distribué mais pas par courriel ni par déplacement latéral. Il s’agissait d’une source plutôt inhabituelle : Microsoft Teams Chat.
Nous nous attendons à des attaques plus fréquentes à Microsoft Teams Chat dans le futur et c'est pour cela que nous souhaitons partager avec vous dans ce blog ce que nous avons découvert. Nous traiterons notamment la manière dont fonctionne l’attaque, la raison pour laquelle Microsoft Teams Chat devient la cible la plus populaire des groupes criminels de hameçonnage, la meilleur façon de réagir à et d’atténuer ces attaques et comment votre équipe informatique peut empêcher que de telles attaques se produisent à l’avenir.
N.B. : Tout ce qui est décrit dans ce blog ne s’applique pas forcément à votre environnement. Si vous avez besoin d’assistance ou que vous souhaitez ajouter des connaissances supplémentaires à ce blog, n’hésitez pas à contacter notre équipe en utilisant le formulaire de cette page. Pour les urgences, veuillez consulter la page de réponse aux incidents.
Microsoft Teams comme vecteur de hameçonnage
Le hameçonnage via Microsoft Teams est une menace relativement récente. C’est un sujet d’une recherche récemment publiée par TrueSec, dont Bleeping Computer a également fait état. Avant cela, une méthode traditionnelle consistait en la diffusion du logiciel malveillant par courriel de hameçonnage, mais les auteurs des menaces ont trouvé une nouvelle façon d’envoyer leurs programmes malveillants à travers l’utilisation de Microsoft Teams. Ils utilisent très probablement des outils accessibles au public tels que TeamsPhisher.
L’auteur de la menace compromet d’abord un domaine légitime .onmicrosoft.com
, qui est le domaine de messagerie utilisé pour un environnement Microsoft 365 pour les entreprises qui n' ont pas leur propre domaine personnalisé. Les auteurs peuvent aussi enregistrer un tout nouveau locataire. Ils modifient ensuite un compte utilisateur pour le faire correspondre au nom d’un utilisateur au sein de l’entreprise ciblée, généralement le PDG. C’est par le biais de ce compte qu’ils envoient des messages automatisés à travers Teams. Les victimes verront que quelqu’un tente de dialoguer avec eux comme le montre la Figure 1.
Figure 1 : Compte externe tentant de dialoguer dans Teams
Une fois que les victimes cliquent pour accepter, un message automatisé sera renvoyé et le compte de l’attaquant comportera une marque (externe)
à côté du nom. Nous avons vu des incidents où le message concernait une réorganisation structurelle au sein de l’entreprise, indiquant que certains employés seraient licenciés. La Figure 2 montre un exemple de ce genre de message. Ceci est bien sûr conçu pour susciter de la peur chez les victimes potentielles, augmentant ainsi la probabilité qu’elles ouvrent le lien joint.
Figure 2 : Compte externe tentant de dialoguer dans Teams
Dans certains cas rencontrés, le message est envoyé à des centaines d’employés et contient un lien vers un site Sharepoint hébergeant un fichier compressé malveillant. Heureusement, les deux solutions EDR ont bloqué l’exécution du logiciel malveillant. Nous avons reçu une copie du logiciel malveillant et avons procédé à une analyse rapide pour identifier tous les indicateurs. Nous avons obtenu l’adresse IP du serveur C2 et recommandé au client de la bloquer dans son pare-feu pour garantir une couche de sécurité supplémentaire.
Le fichier compressé contenait un programme malveillant (Darkgate Loader). En téléchargeant et en ouvrant le dossier compressé, les victimes verront différents fichiers déguisés en PDF. En réalité, ces fichiers sont des fichiers LNK qui exécutent un code. Un fichier LNK, ou « fichier Link », est un raccourci Windows qui fournit un accès rapide à des fichiers, dossiers ou programmes en stockant leur emplacement avec une icône associée. Une fois que l’utilisateur a ouvert le fichier malveillant, un téléchargement ou un logiciel malveillant supplémentaire est déclenché via la commande intégrée curl.exe. Un AutoIt 3 exécutable et légitime (signé) est téléchargé sur le système, avec un fichier de script AutoIt (au3) malveillant, qui est ensuite exécuté. Le logiciel malveillant se copiera ensuite dans un répertoire nommé aléatoirement dans C:\ProgramData et ajoutera un raccourci avec un nom aléatoire au dossier de démarrage, pour s’assurer que le logiciel malveillant démarre chaque fois que l’utilisateur se connecte. La Figure 3 montre la chaîne d’infection du chargeur DarkGate.
Figure 3 : Chaîne d’infection du chargeur DarkGate
Réponse et atténuation
Nous sommes parvenus à atténuer ces attaques pour nos clients, mais une telle attaque peut encore être intimidante, surtout si des centaines d’utilisateurs sont ciblés en même temps. Si vous êtes confrontés à une telle menace, nous vous recommandons de prendre les mesures suivantes :
1. Communication et sensibilisation de l’utilisateur final
Parallèlement aux mesures techniques décrites ci-dessous, assurez-vous de communiquer aux employés qu’ils ont reçu l’invitation externe malveillante de Teams ou du message de dialogue de Teams. Partagez le matériel identifiable, comme le nom usurpé, l’adresse de courrier électronique et les captures d’écran de l’attaque. Demandez aux employés d’effacer le dialogue dans l’application Teams pendant que le service informatique gère les opérations d’intervention.
Demandez aux utilisateurs finaux qui ont cliqué sur ou accepté l’invitation de signaler l’événement au service informatique pour lui permettre d’examiner les systèmes des employés. Dans les cas que nous avons vus, le service informatique avait déjà déployé les EDR sur tous les systèmes. Cela nous a permis de traiter en masse les menaces et de rechercher des indicateurs de compromission, où les commentaires des utilisateurs finaux ne servaient que de confirmation.
2. Utilisez eDiscovery pour révoquer les invitations malveillantes dans Purview
Le Tableau de bord eDiscovery de Microsoft, qui fait partie de Microsoft Purview (Centre de conformité), vous permet de rechercher et de purger (supprimer), les messages de Teams. Selon la licence, le service informatique peut essayer de retirer l’invitation et/ou le message malveillant par le biais d’eDiscovery. Vous trouverez des instructions détaillées sur la manière de supprimer les dialogues dans Teams dans la documentation de Microsoft ici.
Veuillez noter qu’une licence Premium eDiscovery est nécessaire pour cette action. Nous ne connaissons aucune autre méthode de suppression des dialogues Teams par les utilisateurs. Malheureusement, cette fonction n'est pas comprise dans la licence de base eDiscovery de Microsoft. Un de nos clients avait souscrit à la licence Premium eDiscovery.
3. Signalez le(s) domaine(s) au centre de sécurité
Le Tableau de bord du centre de sécurité de Microsoft dispose d’une page de soumission des rapports qui, dans certains cas que nous avons vus, ne permet de soumettre que des URL, corps de courriel et pièces jointes de courriels à des fins d’analyse. Nous avons signalé les adresses URL malveillantes « REDACTED-my.sharepoint.com » et « REDACTED.onmicrosoft.com ». Les rapports permettent à Microsoft Security d’évaluer les domaines et de les bloquer de manière centralisée.
Figure 4
Le signalement de Teams n'est autorisé que si vous avez au préalable activé explicitement ce paramètre, ce qui permet aux utilisateurs finaux et aux administrateurs de signaler les messages Teams. Notre conseil est de l’activer si ce n'est pas encore le cas. Comme le déploiement des modifications apportées à cette politique chez votre locataire prend des heures, si le paramètre est désactivé, cela limitera votre capacité à demander aux utilisateurs finaux de signaler les messages Teams - un scénario que nous avons récemment vécu.
Figure 5
4. Bloquez le(s) domaine(s) malveillant(s) dans Teams Admin Centre
Lors d’une attaque, vous pouvez bloquer les domaines malveillants dans le Teams Admin Center, pour prévenir les messages entrants. Pour ajouter des domaines bloqués, allez dans Utilisateurs -> Accès externe
comme le montre la Figure 6.
Vous avez plusieurs options : établir une liste d’autorisations des domaines externes, établir une liste de refus des domaines externes, établir une liste de refus de tous les domaines externes ou établir une liste d’autorisations de tous les domaines externes, comme le montre la Figure 7. Sachez que la modification de ces paramètres pourrait avoir une incidence sur vos affaires puisque vous pourriez interdire à des utilisateurs externes légitimes de vous contacter via Teams.
Si bloquer certains domaines peut s’avérer utile, cela veut aussi dire que les criminels pourraient acquérir un autre domaine .onmicrosoft.com
et lancer une nouvelle attaque. Autoriser des domaines externes spécifiques pourrait se révéler une meilleure approche de prévention contre les attaques futures. Cela exigerait toutefois la mise en œuvre d’un processus d’ajout de domaines fiables par le service informatique.
N.B. : Dans un cas, le blocage de l’accès externe après ou pendant l’incident n’a pas éliminé l’invitation et/ou le message déjà envoyé(s) par un auteur de menaces. Cela n’a fait qu’atténuer le risque d’une nouvelle invitation, d’un nouveau message ou d’une attaque suivante avec divers loC.
Figure 6
Figure 7
Figure 8
Figure 9
4. Signalez le(s) domaine(s) malveillant(s) à Microsoft
Il est possible de signaler les domaines malveillants à Microsoft par le biais de leur portail MSTC, accessible ici. La Figure 8 présente le portail.
Figure 8
Prévention
Les entreprises disposent de moyens pour se protéger contre de telles attaques. Voici quelques mesures qu’elles peuvent prendre.
1. Modifier la politique Teams pour bloquer les domaines externes dans Teams ou établir une liste blanche
Configurer une politique Microsoft Teams pour établir la liste d’autorisations ou la liste de refus de toutes les communications externes est une mesure viable. Si votre entreprise se fie des communications externes, il est recommandé d’établir une politique de liste d’autorisations uniquement pour les domaines fiables pour vous envoyer des messages. Toutefois, il est crucial de disposer d’un processus pour ajouter des domaines externes comme le système de tickets d’assistance utilisé en interne par le service informatique.
Astuce : eDiscovery Premium peut être utilisé pour projeter une liste des domaines externes bénins, utilisés régulièrement par l’entreprise. Cela vous permet de projeter une liste blanche initiale comme point de départ.
2. Sensibilisation/simulation utilisateur
Étant donné que les utilisateurs finaux pourraient ne pas encore être familiarisés avec de telles attaques via Teams ou d’autres canaux de communication interne « fiables », il est crucial pour les entreprises de sensibiliser davantage leurs employés sur cette nouvelle méthode.
En plus des campagnes de sensibilisation, nous recommandons également de simuler de telles attaques pour préparer au mieux votre personnel. Des outils comme TeamPhisher sont disponibles à cette fin. Simuler ces attaques permet aux employés de reconnaitre les signes de hameçonnage et vous aide à renforcer vos mesures de sécurité.
3. Configuration EDR forte et suivi 24h/24 et 7j/7
Il est important pour les entreprises de disposer d’une solution EDR bien configurée, comme CrowdStrike Falcon ou Defender for Endpoint (P2/Business), et d’agir en cas d’alertes. Nous avons vu que les outils EDR bloquent les opérations malveillantes, mais le suivi par un expert en cybernétique est également nécessaire. Si vous laissez l’alerte « telle quelle » juste parce qu’elle a été bloquée, la menace pourrait demeurer.
Les entreprises devraient réagir aux alertes, même si l'exécution a été bloquée. Il est important de faire des recherches sur ce qui s'est produit, comment cela s'est produit et comment éliminer tout reste de l’action/infection. Dans les cas que nous avons vus, le fichier LNK avait été exécuté mais l'exécution du CMD.exe a été bloquée sur la plupart des appareils. Tous les dispositifs qui ont déclenché une alerte ont également été isolés pendant que nous examinions l'ampleur de la diffusion de l’infection.
Indicateurs de compromission
La liste des indicateurs suivante peut servir pour la préparation de vos systèmes de détection en cas d’attaque similaire. Veuillez noter que ces indicateurs changeront au fil du temps, et relativement vite. Pour copier les valeurs de hachage, veuillez lire le paragraphe Defender for Endpoint (KQL) ci-dessous.
Échantillon de trafic réseau HTTP de DarkGate :
1 POST / HTTP/1.0
2 Host: 5.188.87.58:2351
3 Keep-Alive: 300
4 Connection: keep-alive
User-Agent: Mozilla/4.0 (compatible; Synapse)5 Content-Type: application/x-www-form-urlencoded
6 Content-Length: 221
8
9 id=REDACTED&data=REDACTED&act=1000
10
11 HTTP/1.1 200 OK
12 Connection: close
13 Content-Type: text/html; charset=ISO-8859-1
14 Content-Length: 2
15 Date: Tue, 12 Sep 2023 17:30:58 GMT
16
17 ok
Chasse
Notre échantillon de DarkGate a laissé des traces aux endroits suivants :
-
C:\Users\<username>\AppData\Local\Temp\Autoit3.exe
-
C:\Users\<username>\AppData\Local\Temp\<random>.au3
-
C:\users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\<random>.lnk
-
C:\ProgramData\<random>\<random>.au3
Demandes de réponse aux incidents
Defender for Endpoint (KQL)
1 let Hashes = pack_array('237d1bca6e056df5bb16a1216a434634109478f882d3b1d58344c801d184f95d','6aca36077144a2c44a86feba159c5557aae4129f32b9784e9c294bec462b5610','317063a3c83ac853e1dcb17d516445faf9798ad0150b3ac3f3f27f6830b3afb7','4037103e3da62794fba6a060bf654a536fe7d4eaf2d14bec69941f86f2bf54df','11edca0a0529daddf1689e7c02dd4a0aa29c2bb29faad2a5b582a9664ab74b8e','3c470fc007a3c5d59f1c3c483510c60eeb07852905a58d01601bcd0bd2db1245','31fdcaa7f8fc8293b0b2c95098721dc61cbfab4ef863fa224dee81e30d964139','c24ee7d0f3f68687d5390968ec23c9dd7bc68c61817d4c0f355a992591539e41');
2 DeviceFileEvents
3 where SHA256 in (Hashes)
1 DeviceNetworkEvents | where RemoteUrl contains "REDACTED-my.sharepoint.com"
CrowdStrike (Splunk)
main event_simpleName=DnsRequest DomainName="REDACTED-my.sharepoint.com"
2 | dedup DomainName, ComputerName
3 | table DomainName, ComputerName
Conclusion et étapes suivantes
Nous espérons vous avoir fourni suffisamment d’informations pour commencer.
Si vous souhaitez obtenir de l’aide sur tout aspect de votre cybersécurité, veuillez nous contacter directement en ouvrant ce lien.