Article original : What is RTLO in Hacking? How to Use Right-to-Left Override and Defend Against it
Jouons à un jeu charmant de cache-cache avec votre malware en pleine vue. 🐵
Les pirates malveillants recherchent toutes sortes de trucs malhonnêtes pour faire des utilisateurs quotidiens des victimes à la suite d'erreurs courantes. Ils peuvent amener quelqu'un à cliquer sur le mauvais lien, ouvrir le mauvais site web ou exécuter le mauvais programme.
La plupart du temps, il est facile d'identifier un fichier suspect par les éléments suivants :
- L'icône ne correspond pas au nom
- L'extension semble incorrecte
- Le fichier est sensiblement plus grand ou plus petit que son type de fichier proposé (Imaginez une image de 50 Mo 🤯)
Mais seriez-vous suspicieux face à un fichier comme celui-ci ?
Un fichier totalement non suspect | Crédit : Mercury
Rien d'extraordinaire, n'est-ce pas ? Cela ressemble à votre document Word moyen. Examinons de plus près.
Propriétés du fichier | Crédit : Mercury
Dans ce tutoriel, vous apprendrez :
- Ce qu'est le remplacement de droite à gauche (Right-To-Left Override)
- Comment l'utiliser pour masquer les extensions de fichiers
- Comment détecter si elle a été utilisée sur un fichier
- Les mesures d'atténuation
Avertissement amical : Ceci est uniquement à des fins éducatives et est écrit uniquement pour protéger les individus, les entreprises et les organisations contre les acteurs de menaces. Si vous souhaitez toujours l'utiliser d'une autre manière, c'est votre choix... mais préparez-vous pour un joli voyage en prison... pendant très longtemps. 🤴
Et avec cette introduction, plongeons-nous dans le sujet 🤓
Qu'est-ce que le remplacement de droite à gauche (Right-To-Left Override) ?
Quand rien ne va à droite, allez à gauche | Crédit : [Wallpaperflare.com](http://wallpaperflare.com/" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 17.6px; vertical-align: baseline; background-color: transparent; color: var(--gray90); text-decoration: underline; cursor: pointer; word-break: break-word;)
Le remplacement de droite à gauche (RTO ou RTLO) est un caractère Unicode non imprimable utilisé pour écrire des langues lues de droite à gauche. Il prend l'entrée et inverse littéralement le texte dans l'autre sens. De telles langues incluent l'hébreu, l'arabe, l'araméen et l'ourdou.
Vous pouvez trouver le caractère dans la table des caractères sous Windows et Linux en utilisant le code [202E].
Table des caractères | Crédit : Mercury
Voici une démonstration de son utilisation :
Démonstration du RTLO | Crédit : Mercury
Comme vous pouvez le voir, les deux déclarations tapées sont exactement la même chose, sauf que celle du bas est écrite à l'envers parce que le caractère RTLO a été inséré avant de la taper.
Comment le RTLO peut être un outil malveillant
Peut-être qu'à première vue, ce caractère semble inoffensif. Quel est le mal à inverser du texte de toute façon ? La réponse : les extensions de fichiers.
Un installeur Chrome en tant qu'installeur et document Word | Crédit : Mercury
Voici quelques piratages réalisés dans le passé en utilisant cette technique :
- Telegram : En 2018, Kaspersky a rapporté dans un article de blog sur Securelist que des cybercriminels russes exploitaient des failles RTLO dans la nature sur les clients Windows de Telegram. Comme démontré dans l'article, cela permettait aux criminels d'installer des cryptomineurs ou des RATs lorsqu'un utilisateur ouvrait ce qui semblait être un fichier inoffensif ⛔.
- Scarlet Mimic : En 2016, Unit 42 de Palo Alto Networks a publié un rapport sur les tactiques d'un groupe de menace connu sous le nom de Scarlet Mimic. Le groupe est communément connu pour cibler des activistes minoritaires. Selon le rapport, l'une des tactiques courantes du groupe comprenait l'utilisation de caractères RTLO pour masquer les extensions de fichiers réelles des archives auto-extractibles (SFX/SEA)🏭.
- Applications de messagerie célèbres : En 2022, Bleeping Computer a publié un article de presse sur les techniques de phishing sur les plateformes de messagerie et de courrier électronique utilisant le RTLO. Des plateformes telles que iMessage, WhatsApp, Signal et Facebook Messenger (je me demande qui utilise la dernière 😨) étaient vulnérables à de telles tactiques. Cela permettait à un attaquant d'injecter un caractère RTLO entre deux liens. À gauche se trouvait un domaine légitime tel que (google.com) et à droite un domaine malveillant. Cela faisait apparaître un seul lien et si un utilisateur cliquait sur le côté gauche, il était en sécurité. Cependant, s'il cliquait sur le côté droit, il ne l'était pas.
- PLEAD : En 2017, Trend Micro a publié un article sur trois campagnes menées par un groupe de menace connu sous le nom de BlackTech. L'une de ces campagnes s'appelait PLEAD, qui se concentrait sur le vol d'informations et ciblait le gouvernement et les organisations taïwanais. Selon l'article, des e-mails de harponnage étaient utilisés pour livrer et installer une porte dérobée. La partie notable de cette attaque était que les installeurs étaient déguisés en documents utilisant des caractères RTLO et des documents leurres étaient également ajoutés pour tromper les utilisateurs 📄.
- OS X d'Apple : Malgré sa fréquence sous Windows, cette technique pourrait être utilisée pour cibler les utilisateurs de Mac. En 2013, un article de blog de F-Secure Labs a révélé que le RTLO était utilisé pour déguiser un malware Mac relativement bénin dans la nature. Cependant, le malware crie « Je suis un virus ! » en raison du fait que OS X montre l'extension de fichier réelle et lorsque le fichier est exécuté, la notification de quarantaine du fichier est écrite à l'envers (Belle trouvaille Apple 😉🍎).
Comment masquer un fichier potentiellement malveillant
Un masque de Guy Fawkes | Crédit : [Wallpaperflare.com](http://wallpaperflare.com/" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 17.6px; vertical-align: baseline; background-color: transparent; color: var(--gray90); text-decoration: underline; cursor: pointer; word-break: break-word;)
Le RTLO peut être utilisé dans toute attaque qui exploite la tromperie de l'utilisateur concernant le texte écrit. Comme nous l'avons vu dans les piratages ci-dessus, les liens, les pièces jointes des e-mails et les scripts et fichiers exécutables sont les vecteurs d'attaque les plus courants.
Mais ce tutoriel se concentrera sur les fichiers hébergés localement car cela donne l'idée de base et ses variations peuvent être utilisées pour mener d'autres attaques.
Il y a deux étapes dans le processus :
- Insérer le caractère RTLO dans le nom du fichier
- Changer l'icône du fichier
L'icône du fichier doit être changée pour imiter la fausse extension afin de faciliter la tromperie de l'utilisateur.
Voici les prérequis pour la procédure :
- Un exécutable ou un script – La charge utile
- Une icône de fichier – Partie de l'appât
- Resource Hacker – Pour changer l'icône du fichier
L'icône du fichier peut être au format .exe, .dll, .res ou .ico. Vous pouvez en télécharger certaines ici. Et maintenant, que le chaos commence ⚠.
Étape 1 – Insérer le caractère RTLO
Choisissez un fichier de votre choix et ouvrez-le dans l'Explorateur Windows. Ouvrez l'application Carte des caractères sur Windows et cochez la case « Vue avancée ». Dans l'option « Aller à Unicode », tapez 202E. Cliquez respectivement sur les boutons « Sélectionner » et « Copier » et allez au fichier que vous souhaitez modifier.
Sélection du caractère de remplacement de droite à gauche | Crédit : Mercury
Voici la partie délicate 🎃. Lorsque vous tapez avec le caractère RTLO, il tape de droite à gauche. Cela peut être déroutant lorsque vous essayez de renommer le fichier. Si vous souhaitez renommer un fichier après avoir injecté le caractère, épellez-le à l'envers.
Par exemple, si vous souhaitez écrire l'extension « .pdf », vous devez la taper comme « fdp. ». Cela prend un peu de temps pour s'y habituer, mais c'est facile après quelques essais.
Démonstration de renommage courte | Crédit : Mercury
Dans l'Explorateur de fichiers, cochez l'option pour afficher les extensions de fichiers. Allez au fichier, faites un clic droit et cliquez sur renommer. Changez le nom en ce que vous voulez, mais assurez-vous de ne jamais éditer l'extension elle-même pour que le fichier fonctionne comme prévu❗.
Placez le curseur juste avant le nom de l'extension. Collez le caractère RTLO. Vous observerez qu'il semble que rien ne se soit passé, mais c'est ainsi que cela est censé apparaître. Ensuite, tapez « xcod » pour obtenir « docx » et appuyez sur Entrée.
Renommage du fichier cible | Crédit : Mercury
Étape 2 – Changer l'icône
Maintenant, pour la partie finale de notre astuce incroyable – changer l'icône 🤖. Téléchargez et installez un logiciel appelé Resource Hacker. Ouvrez-le et appuyez sur Ctrl + O. Ensuite, sélectionnez votre programme cible. Il y a beaucoup d'informations ici que nous pouvons éditer, mais nous voulons simplement nous concentrer sur l'icône.
Resource Hacker | Crédit : Mercury
Appuyez sur Ctrl+R pour ouvrir la fenêtre de remplacement et cliquez sur le bouton « Ouvrir le fichier avec la nouvelle icône ».
Dans l'Explorateur, sélectionnez l'icône de fichier que vous souhaitez remplacer sur le programme et cliquez sur le bouton « Remplacer ».
Enfin, appuyez sur Ctrl+S pour enregistrer le fichier. Si vous avez un antivirus, vous voudrez peut-être le désactiver temporairement avant d'enregistrer le fichier.
Utilisation de Resource Hacker pour changer l'icône | Crédit : Mercury
Un fichier totalement non suspect | Crédit : Mercury
Propre, n'est-ce pas ? Regardons comment éviter de tomber dans ce piège.
Mesures d'atténuation
Sécurité en ligne | Crédit : [Wallpaperflare.com](http://wallpaperflare.com/" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 17.6px; vertical-align: baseline; background-color: transparent; color: var(--gray90); text-decoration: underline; cursor: pointer; word-break: break-word;)
Puisqu'il abuse des fonctionnalités du système, presque n'importe quel utilisateur régulier ou geek technologique tomberait dans ce piège. Alors, comment pouvez-vous l'éviter ? Voici quelques conseils :
Ne jamais ouvrir un fichier ou un lien d'origine inconnue
Ne sous-estimez jamais le pouvoir de l'hygiène cybernétique de base. Ne cliquez pas sur des liens aléatoires ou n'ouvrez pas de fichiers dont vous ne savez pas d'où ils viennent ou qui les a envoyés.
Afficher les extensions de fichiers
Un nom de fichier qui masque son extension est beaucoup plus facilement remarqué comme étant suspect lorsque les extensions de fichiers sont affichées.
Soyez prudent si vous remarquez que juste avant l'extension, le fichier se termine par des extensions de fichiers courantes écrites à l'envers. Par exemple, « infoexe.pdf » sera évident. Cependant, certains sont moins évidents comme « infosbv.png » qui pourrait être un script Visual Basic (.vbs). Un fichier nommé « Samsung_Galaxy_tab.png » pourrait être un fichier batch (.bat).
Installer et maintenir à jour un logiciel antivirus
Au cas où vous seriez tombé dans un tel piège, cela pourrait être votre dernière ligne de défense. Un antivirus approprié prendra note si un script ou un fichier exécutable avec des actions malveillantes a été exécuté et le mettra en quarantaine ou le supprimera.
Je veux dire, un abonnement annuel de 20 $ semble mieux que plus de 200 $ jetés par les égouts pour rien 💰.
Appliquer les meilleures pratiques
Pour les personnes informatiques plus sophistiquées dans les organisations, la mise en œuvre des meilleures pratiques telles que l'analyse du trafic réseau, les pare-feu, l'utilisation de systèmes de détection et de prévention des intrusions et la segmentation du réseau sont votre meilleur atout.
Conclusion
Faisons un résumé de ce que vous avez appris :
- Comment utiliser les caractères RTLO pour manipuler du texte
- Comment changer les icônes d'application en utilisant Resource Hacker
- Comment identifier le texte manipulé avec des caractères RTLO
Au début, il est difficile d'identifier les fichiers modifiés de cette manière. Je vous encourage à jouer avec différents noms et extensions de fichiers et à voir ce que vous obtenez. Cela vous entraînera également à identifier les fichiers qui ne sont pas ce qu'ils semblent être.
Rappelez-vous, ceci est strictement à des fins éducatives. Et avec cela, nous sommes arrivés à la fin de cet article. Comme je le dis toujours, Bon Piratage ! 🤓
Ressources
Remerciements
Merci à Anuoluwapo Victor, Chinaza Nwukwa, Holumidey Mercy, Favour Ojo, Georgina Awani, et ma famille pour l'inspiration, le soutien et les connaissances utilisées pour mettre cet article ensemble. Vous m'inspirez tous quotidiennement.
Crédit de l'image de couverture : The Kelpies | Jamie McInall