Phishing Microsoft 365 : astuce de 20 ans revisitée

Pour tromper leurs victimes et les pousser à ouvrir leurs fichiers malveillants, les hackers ont recours à diverses techniques de camouflage. L’utilisation du caractère Unicode RLO pour masquer la véritable extension d’un fichier a beau être vieille comme le monde, elle retrouve aujourd’hui une seconde jeunesse dans un nouveau type d’attaque. La menace est réelle : Vade a détecté plus de 400 attaques de ce type au cours des deux dernières semaines.

Mais qu’est-ce que le caractère RLO et comment est-il utilisé à des fins malveillantes ?

RLO (Right-to-Left Override) est un caractère Unicode non imprimable [U+202e] principalement utilisé dans la prise en charge de l’hébreu et l’arabe. Il permet en effet de retourner tout le texte qui le suit pour passer d’une lecture de gauche à droite, comme en français, à une lecture de droite à gauche.

Ce caractère spécial est accessible dans la table des caractères des systèmes Windows et Linux.

hackers 1

Plus clairement, un fichier nommé « HelloVade » devient « HelloaedaV » après insertion du caractère [U+202e] entre « Hello » et « Vade ».

Dans les années 90 et au début des années 2010, ce caractère était exploité pour inciter les utilisateurs à exécuter des fichiers malveillants, comme des fichiers exécutables corrompus, en leur faisant croire qu’ils ouvraient un fichier .txt.

  • Par exemple, abc[U+202e]txt.exe apparaît comme abcexe.txt sous Windows, mais il s’agit bel et bien d’un fichier exécutable.

Cette stratégie permettait aux attaquants de propager des malwares dans les entreprises. Elle a été référencée en 2008 par la Fondation Mozilla et des bulletins techniques Unicode sous l’identifiant CVE-2009-3376.

Avec l’émergence des appliances de sécurité, la plupart de ces attaques ont fini par être repérées, et les hackers ont fini par changer leur fusil d’épaule : ils ont conservé la même méthode et les mêmes fichiers, mais ont compressé ces derniers en archives .zip pour rendre leur détection plus difficile par les technologies de sécurité des terminaux.

Cette technique fonctionne encore auprès de nombreux utilisateurs, et les hackers ont visiblement décidé d’en tirer parti ces dernières semaines.

Nouvelle tendance : RLO + sites de phishing

Alors que les hackers se servaient jusqu’ici du caractère RLO pour cacher un malware dans une pièce jointe, il semble qu’ils aient changé d’objectif et ajusté leur stratégie.

Avec plus de 250 millions d’utilisateurs, Microsoft 365 est la suite de productivité professionnelle la plus utilisée au monde. Elle constitue ainsi la principale cible des hackers. Son développement a entraîné la multiplication des attaques de phishing visant les utilisateurs professionnels de la plateforme, dont les identifiants suffisent pour accéder aux données des entreprises.

Dans ce contexte, il n’est pas surprenant que cette technique rustique et un peu tombée dans l’oubli retrouve une seconde jeunesse en rendant plus crédibles les emails de phishing qui ciblent la plateforme.

Une récente vague de phishing utilisant ce caractère et ciblant des comptes Microsoft 365 a ainsi été détectée par notre équipe d’analyse des menaces.

L’utilisation du caractère RLO était combinée à l’utilisation d’un prétendu message vocal. Décomposons cette attaque ensemble :

hackers 2

Le message est une notification invitant l’utilisateur à ouvrir le message vocal en pièce jointe. (Notez que certaines parties de cet email ont été floutées pour des raisons de sécurité.) L’objet de l’email contient le nom du destinataire, et la date et l’heure du corps du message sont cohérentes avec le moment de réception. Tous ces éléments peuvent pousser la victime à juger l’email fiable et ouvrir le fichier en pièce jointe.

Ce type de scam repose en vérité sur la curiosité du destinataire, qui ne s’attend pas à recevoir un message vocal et pourrait être ainsi suffisamment intrigué pour cliquer sur le lien contenu dans l’email ou sur la pièce jointe. Cette pièce jointe, c’est bien souvent une page HTML qui, dans le cas présent, encourage l’utilisateur à se connecter pour consulter le message vocal.

L’astuce, c’est que la pièce jointe paraît porter l’extension .mp3. L’utilisateur pense donc qu’il ne s’agit ni plus ni moins que de ce fameux message vocal.

hackers 3

L’ouverture du fichier dans un environnement sécurisé entraîne l’affichage d’une page Web de connexion aux couleurs de Microsoft prétendant donner accès à des informations sensibles. Nous pouvons voir que l’adresse email est déjà renseignée et que la barre d’adresse indique bien le chemin du fichier .html local. À ce stade, l’utilisateur n’a aucun moyen de savoir si le formulaire est légitime ou non. Pour autant, il aurait dû comprendre qu’il s’agissait d’un piège en constatant que son fichier .mp3 se transformait en page Web.

hackers 4

Une fois envoyé, le formulaire de connexion transmet les données de l’utilisateur à un domaine externe par l’intermédiaire du script « process.php ».

hackers 5

La requête HTTP POST vers une URL sans aucun lien avec Microsoft contient le mot de passe saisi dans le formulaire :

hackers 6

Lors de cette campagne, l’envoi du formulaire n’entraînait pas de redirection vers un autre site, mais générait un message indiquant que le mot de passe était incorrect. L’équipe de Vade confirme que dans certains cas, ce type de formulaire peut rediriger vers un message vocal tout à fait lisible, mais offrant un contenu générique. L’objectif est d’ici de faire en sorte que l’utilisateur ne se rende pas compte qu’il vient de subir une attaque.

Malgré cette précaution, les utilisateurs devraient repérer facilement ce scam, dans la mesure où l’ouverture du fichier .mp3 redirige vers une page Web de connexion Microsoft. Mais c’est vrai qu’il suffit de ne pas prêter attention à l’extension pour tomber dans le panneau. Par ailleurs, les logiciels de sécurité ne détectent pas ce type de pièce jointe malveillante. D’après VirusTotal, seuls 2 sur 58 y sont ainsi parvenus.

hackers 7

Voici un autre exemple de campagne d’exploitation du caractère RLO détectée par le moteur de filtrage de Vade :

hackers 8

Comme vous pouvez le voir, le hacker se sert du même prétexte de message vocal, mais cette fois le nom de l’appelant est masqué. De plus, il a ajouté une bannière indiquant que l’expéditeur de l’email fait partie d’une liste d’expéditeurs sûrs établie par Microsoft. Son objectif est bien entendu de pousser les utilisateurs à baisser leur garde, car ils ignorent sans doute que Microsoft n’ajoute jamais cette validation en vert dans le corps d’un email.

Analyse de Vade

Chaque utilisation du caractère RLO est unique, et les attaquants multiplient les intitulés, les expéditeurs, les objets et les pièces jointes pour déjouer les protections les plus basiques. Ce type de campagne de phishing utilisant une pièce jointe camouflée a été détecté par Vade en 2018, mais il ne ciblait alors qu’un nombre limité de petites entreprises.

Les statistiques montrent qu’il a commencé à monter en puissance au milieu de l’année 2020 et a redoublé de vigueur en 2021. Il est probable que les attaquants tirent parti de la pandémie et de l’explosion du télétravail. En effet, les utilisateurs finaux sont moins protégés et préparés à faire face aux menaces externes. Nombre d’entre eux ont recours chez eux à leurs propres technologies de sécurisation plutôt qu’à celles de leur entreprise. Par ailleurs, le prétexte du message vocal associé à l’utilisation du caractère RLO pour camoufler les pièces jointes est d’autant plus convaincant que les communications entre employés sont moins vivaces avec le télétravail.

Voici quelques chiffres autour de cette attaque spécifique détectée par le Threat Intelligence and Response Center (TIRC) de Vade. Comme le montre bien l’image ci-dessous, plus de 400 campagnes de phishing basées sur le caractère LRO ont été repérées au cours des deux dernières semaines :

hackers 9

D’après nos statistiques, deux extensions se détachent du lot :

  • (l)mth.wav --> wav.htm(l)
  • (l)mth.mp3 --> mp3.htm(l)

Pour protéger les utilisateurs de ces usurpations, il est nécessaire d’opter pour une technologie anti-phishing basée sur l’IA qui analyse les signatures et la réputation, mais aussi le comportement, le contenu et l’ensemble des possibilités et scénarios envisageables.

Associé à des règles heuristiques ciblant spécifiquement le caractère Unicode RLO, le moteur de filtrage de Vade est capable d’intercepter la plupart de ces campagnes. En effet, Vade for M365 se montre régulièrement supérieur aux autres solutions de sécurité de l’email, notamment à Microsoft EOP :

hackers 10

Quelle sera la prochaine technique basée sur le caractère RLO ?

Les chercheurs de l’université de Cambridge Nicholas Boucher et Ross Anderson ont identifié une vulnérabilité qui tire parti des caractères de contrôle Unicode pour encoder un code source potentiellement dangereux. La méthode, portant le doux nom de « Trojan Source », a été rendue publique le 1er novembre 2021 et possède l’identifiant CVE-2021-42574. Encore une fois, cette technique cherche à camoufler le code source pour qu’il apparaisse différemment selon qu’il est interprété par un être humain ou un compilateur. L’idée est d’utiliser des caractères de contrôle Unicode bidirectionnels comme RLO (U+202E) pour camoufler un cheval de Troie dans un fichier.

D’après l’article publié par ces universitaires, « cette attaque exploite des subtilités des normes d’encodage de texte comme Unicode pour produire du code source dont l'ordre d'affichage des caractères présente une logique qui diverge de la logique réelle, ce qui amène des vulnérabilités ne pouvant être détectées directement par les évaluateurs humains. Les attaques de type “Trojan Source”, comme nous avons choisi de les appeler, posent une menace immédiate à la fois pour les utilisateurs des logiciels, mais aussi pour tout le secteur en ouvrant la voie à une compromission de la supply chain. »

Cette vulnérabilité affaiblit la sécurité des compilateurs de code, des interpréteurs, des IDE et des référentiels de code source, et impose donc la publication de correctifs : « Les compilateurs, interpréteurs et outils de génération de builds prenant en charge Unicode doivent générer des erreurs ou des avertissements en présence de caractères de contrôle bidirectionnels non terminés dans les commentaires ou littéraux de chaînes, ainsi que dans les identifiants comportant des caractères mixtes pouvant être confondus avec d’autres. »

Des preuves de concept implémentant diverses attaques Trojan-Source sont disponibles sur le référentiel Github officiel du projet.

L’utilisation du caractère RLO est une technique éprouvée, mais tant que cette menace reste méconnue, les hackers continueront de l’exploiter et de la réinventer. Une chose est sûre : cette technique va continuer d’évoluer dans les années à venir.

New call-to-action