Au coeur des opérations du stealer EditBot
Nos analystes CTI ont effectué une enquête approfondie sur le fonctionnement du stealer EditBot. Découvrez comment vous protéger de cette attaque d’ingénierie sociale qui, bien que triviale, pourrait avoir un impact significatif sur vos activités.
A la mi-septembre 2023 les fournisseurs de cybersécurité Gardio et Cyble ont émis les premiers signalements concernant EditBot. Ce stealer est spécialisé dans la collecte de mots de passe à partir des navigateurs installés sur la machine de la victime. À la fin de l’année 2023, l’équipe CTI (Cyber Threat Intelligence) I-TRACING s’est intéressée à la surveillance de ce cluster d’activités.
EditBot pourrait être lié à un autre malware, NodeStealer, signalé plus tôt dans l’année par Meta. Leurs similitudes ont été mises en évidence par Netskope. Même si EditBot semble être une réécriture complète de NodeStealer, quelques similitudes sont significatives :
- Les deux stealers sont développés dans un langage de script (NodeStealer en NodeJS, et EditBot en Python).
- Ils ciblent les mêmes navigateurs (le navigateur vietnamien Cốc Cốc exclu dans NodeStealer).
- Chacun intègre son propre interpréteur de script en raison de l’utilisation de langages de script non déployés par défaut sur Windows.
- Les méthodes de distribution des deux stealers sont similaires.
Comme observé en mai 2023 et en septembre 2023 par Meta et Gardio, l’infection initiale se produit par des messages privés envoyés via des comptes de réseaux sociaux tels que Facebook. Écrits en anglais, le message utilise généralement un faux prétexte, basé sur des avis de produits ou des demandes de renseignements, pour envoyer des archives compressées à la victime.
Cette archive contient un chargeur de scripts par lots qui récupère une autre archive du serveur de commande et de contrôle (C2), la décompresse et exécute la charge utile finale. La seconde archive est une version portable de Python, avec un script Python spécialisé pour Windows. Ce dernier script lit les secrets des navigateurs les plus courants (Chrome, Bing, etc.) et les exfiltre vers un canal Telegram ou Discord appartenant à l’attaquant.
Points clés de l’investigation
L’investigation a mis en évidence les points suivants :
- Les opérateurs de malware proviennent probablement du Vietnam (langue utilisée, hébergement utilisé, navigateur vietnamien ciblé).
- Les opérateurs utilisent une méthode de déploiement combinée pour les serveurs C2 : utilisation de plateformes open-source comme GitHub, de stockage cloud publiques comme MediaFire et de détournement ou d’achat de noms de domaine.
- L’exfiltration se fait via des API de plateformes de messagerie telles que Discord et Telegram.
- Les serveurs C2 changent environ toutes les deux semaines ainsi que le bot Telegram pour l’exfiltration des données.
- L’infrastructure est protégée par Cloudflare, mais certaines instances ont permis d’observer l’utilisation d’un service d’hébergement vietnamien complaisant nommé « dichvudark« .
La genèse du stealer EditBot et son fonctionnement opérationnel
Un simple message sur les réseaux sociaux aux conséquences néfastes
L’équipe CTI I-TRACING a mis la main sur des messages malveillants envoyés par l’attaquant sur les plateformes de réseaux sociaux. Ces messages, provenant d’un contact inconnu, étaient brefs, rédigés en bon anglais, et n’appelaient pas de réponse car la charge utile était envoyée directement.
Fait intéressant, un changement de comportement a été observé. Avant décembre 2023, les cybercriminels, qu’ils soient utilisateurs ou aux commandes d’EditBot, recourraient à diverses méthodes de distribution, et affichaient une préférence pour les principales plateformes open-source, selon Cyble. De plus, la chaîne menant à la compromission était considérablement plus simple, comportant parfois directement le malware. Enfin, le recours au serveur de commande et de contrôle n’était pas systématique.
Cependant, à partir de décembre 2023, nous avons observé que plusieurs serveurs étaient hébergés par dichvudark[.]vn, un fournisseur d’hébergement vietnamien apparemment complaisant, ne répondant pas aux demandes de retrait de contenu illicite. Depuis, ces serveurs fournis par diverses entreprises d’hébergement ont été changés environ toutes les deux semaines.
Installation et distribution du malware EditBot
La première archive envoyée via les messageries instantanées des réseaux sociaux et les portails clients contient un lot de scripts qui récupère la commande PowerShell de téléchargement à partir du serveur de dépôt. Une fois récupérée, cette commande PowerShell télécharge la charge utile finale sous forme d’archive. Ce déploiement en plusieurs étapes commence lorsque la victime clique sur le fichier contenu dans la première archive.
Illustration 1: Le processus de distribution du stealer EditBot
Avec le fichier BAT placé dans le dossier de démarrage, un autre ZIP contenant un interpréteur Python et la charge utile est téléchargé. Enfin, une commande récupérée depuis le C2 permet d’exécuter le stealer pour la collecte des identifiants et d’exfiltrer les données grâce à un bot Telegram.
Un nom d’utilisateur contenant la mention « achung » est observé dans presque toutes les occurrences d’utilisation d’un service cloud public. Gardio a indiqué en septembre un nom similaire pour un canal Telegram sur lequel le voleur d’information envoyait des messages : « ACHUNG — 21/8 — ❤️❤️❤️”.
Illsutration 2: Commande PowerShell exécutée afin de télécharger le l’archive vérolée, contenant “achung” dans son nom, du stealer EditBot
La charge utile finale est composée d’un interpréteur Python légitime et d’un script Python légèrement obscurci qui est le véritable stealer :
Illustration 3: Les couches d’obfuscation dans le stealer
Le processus d’obfuscation utilise plusieurs couches de compression. Au moment de l’exécution, une représentation hexadécimale du code compressé est inversée en binaire et passe par quatre fonctions de décompression différentes. Une fois restauré à sa taille originale, le code Python final est transmis à la fonction exec qui l’interprète comme du code.
Il est alors possible d’obtenir le code en clair en remplaçant la fonction exec par la fonction print. Ainsi, l’exécution dans un interpréteur Python permet d’obtenir la source en clair du stealer.
Mieux comprendre les objectifs d’EditBot en analysant son script Python
Lorsque le script est rendu lisible, la lecture révèle que ce malware utilise l’API Windows. En tant que tel, il ne peut fonctionner correctement que sur Windows même si Python est nativement multi-plateformes.
Il semble également que les cybercriminels derrière le stealer EditBot aient copié du code à partir d’autres sources car certains commentaires associés à la routine de déchiffrement des mots de passe sont écrits en français alors que tous les autres textes utilisateur sont en vietnamien.
EditBot vise presque exclusivement l’exfiltration des mots de passe et des cookies des navigateurs. Il prend en charge Google Chrome, Mozilla Firefox, Edge, Opera, Brave, d’autres navigateurs Chromium et Cốc Cốc, un navigateur vietnamien. Il collecte également l’adresse IP publique de la victime et des informations système.
Les données sont déchiffrées pour chaque navigateur puis rassemblées dans un fichier zip, ensuite envoyé à un bot Telegram. L’identité du bot change à chaque campagne bimensuelle. Étonnamment, malgré une obfuscation peu sophistiquée, le taux de détection du malware reste faible. Et selon Gardio, il n’a pas beaucoup changé depuis le premier signalement en septembre 2023.
Infrastructure C2 d’EditBot et opportunités de suivi
À l’origine, EditBot utilisait des plateformes de code source publique comme GitHub pour délivrer sa charge utile. Il a basculé en décembre 2023 vers une infrastructure dédiée et/ou des applications compromises, de préférence abritées derrière Cloudflare. EditBot change son infrastructure environ toutes les deux semaines.
Voici une liste de l’infrastructure C2 observée pendant la période de l’investigation :
Adresses C2 |
---|
shoppingvideo247[.]com |
school-us[.]store |
ref-media[.]net |
vuagame[.]store |
clonecloneclonewhomanmale[.]site |
breakingmyanmarnews[.]com |
A l’origine, l’acteur malveillant enregistrait des domaines pour chaque campagne. Cependant, le dernier domaine observé, breakingmyanmarnews[.]com, semble plutôt être un site légitime à l’abandon, sous le contrôle de l’attaquant. Cela pourrait indiquer un changement de tactique dès janvier 2024. Des petits changements réguliers, comme celui-ci, dans les tactiques indiquent que les acteurs de la menace s’adaptent constamment en saisissant les opportunités conjoncturelles qui émergent.
En pivotant sur les noms de domaine, l’équipe CTI I-TRACING a détecté dans les informations WHOIS du domaine une possible affiliation à un groupe nommé « dichvudark« , une plateforme vietnamienne de « services sombres ». L’investigation a confirmé en pivotant sur les adresses IP que « dichvudark » fournit des services d’hébergement à toute épreuve à l’infrastructure d’EditBot.
Illustration 5: dichvudark[.]vn
L’équipe CTI d’I-TRACING a pu récupérer des informations telles que les noms des bots, le nom des tchats où les identifiants sont envoyés, ainsi que les noms des administrateurs derrière ces tchats. Si les comptes diffèrent de ceux signalés par Gardio, des recoupements sont possibles dans les nomenclatures.
Un des tchats n’était plus actif au moment de la rédaction de ce rapport. L’équipe CTI I-TRACING a constaté que les bots utilisés dans différentes versions d’EditBot envoient leurs données dans des tchats administrés par la même personne : ThaiTu7 / Black King.
Username | Chat where credentials are sent | Administrator behind the chat |
---|---|---|
Idol_Pro_Bot | A Trung Pro 9999 ❤️❤️❤️ | ThaiTu7 / Black King |
ref_data_bot | SOME EM Gái CǪ0NH NH<0 | Bitch_jo / MreR Jhone |
Howbro2024_bot | N/A | N/A |
AChung_VuaTienTe_Bot | ATrung 9999 ❤️◌️❤️◌️❤️ | ThaiTu7 / Black King |
Illustration 12 : ThaiTu7 / Le profil Telegram Black King de l’administrateur des chats utilisés par le stealer EditBot
Un stealer qui se propage par une banale attaque d’ingénierie sociale, et qui parvient facilement à rester indétectable
En conclusion, l’analyse de l’équipe CTI I-TRACING corrobore les premiers éléments donnés en septembre 2023 sur une variante du malware NodeStealer baptisée EditBot et ciblant des comptes d’entreprises sur les médias sociaux via des attaques d’ingénierie sociale. L’étude du code et de l’infrastructure suggère que les attaquants appartiennent à un groupe basé au Vietnam.
En outre, à la fin de l’année 2023, notre équipe CTI I-TRACING a observé des changements dans le comportement et la méthodologie des opérateurs d’EditBot à travers plusieurs enquêtes. Des changements sont intervenus dans le mécanisme de diffusion et dans l’infrastructure des opérateurs. Ainsi, il semble que le code malveillant ne soit plus téléchargé à partir de plateformes de dépôt de code en sources ouvertes, mais à partir d’espace public de stockage dans le cloud, de domaines dédiés ou de sites web compromis. Pour éviter d’être détectés, les attaquants changent sans cesse de serveur C2.
Malgré une technique d’hameçonnage triviale et un léger obscurcissement d’un logiciel malveillant dont le code source a peu évolué depuis septembre 2023, le taux de détection par les antivirus reste faible. Enfin, par opposition à l’absence de changements significatifs dans le code source du malware, les changements méthodologiques des attaquants sont quant à eux significatifs et indiquent un processus non industriel qui s’adapte en fonction des contraintes techniques.
Annexes
Indicateurs de compromission (IoCs)
Type | Valeur | Description |
---|---|---|
Domaine | breakingmyanmarnews[.]com | Site de téléchargement d’EditBot |
Domaine | clonecloneclonewhomanmale[.]site | Site de téléchargement d’EditBot |
Domaine | ref-media[.]net | Site de téléchargement d’EditBot |
Domaine | school-us[.]store | Site de téléchargement d’EditBot |
Domaine | vuagame[.]store | Site de téléchargement d’EditBot |
Domaine | shoppingvideo247[.]com | Site de téléchargement d’EditBot |
URL | hxxps[://]www[.]mediafire[.]com/file_premium/c5fcsugpyfpg58q/achung888844494939202930984089054[.]zip/file | URL téléchargement d’EditBot |
SHA-256 | 098672353240df8cbbb7487ad1e3df3e25ceae3ad1dc84e451f03b803183e86a | |
SHA-256 | 10372d23b54e550926e59ec359aadf5180e9839cf20086473422d55b444353d6 | |
SHA-256 | 12444acca1f75247e756516a5d3ca2a33d67641f0664c00c3220f141b3dd8ce1 | Archive RAR |
SHA-256 | 171169cf8c15ae6404f3849274fdbbe0cabc4f3ec0b65a3441228b1dbe31a0d6 | |
SHA-256 | 1af8a147d6e77ffcbf8e5dda14b32c715c4149b5e1c933fa69e451600ecfbf8e | Archive RAR |
SHA-256 | 1c8482f6df65440bf98fdceddac178e841bc801f591de6b060c45b50136dff1f | |
SHA-256 | 201d67748c9647ca7a6f504a93535f391c5c5fb51a756c840d21f55d06300fcc | Fichier ZIP du stealer |
SHA-256 | 2ed49926c05f11f9259848d24db0292f8af3e3656d4213edcbc0e4e9d3547998 | Dropper BAT file |
SHA-256 | 377d76add32b18c33c0ade90cb355a1e9f0ead3b9a7060f56557fb1fe1b39434 | |
SHA-256 | 3b0424a252a5cbadbb870907ed3c118cafc01ae86382f1775de5b9bc6cc3bce3 | |
SHA-256 | 3b99507af4fd76810ec8224122bc3701f7f2ef2cfa9677d012854df3abd44f5c | |
SHA-256 | 3bf11184b67b82e367d36cb9ed3380a43814b000d84aef0bb89d4e08e4fcd581 | Archive RAR |
SHA-256 | 3f302fb736164983f04a9ebb8e2ab5604bb92380e8ccac8b160698fb02ccaebd | |
SHA-256 | 3f7bd47fbbf1fb0a63ba955c8f9139d6500b6737e5baf5fdb783f0cedae94d6d | Stealer Python script |
SHA-256 | 40f06539ed0d45ba833d6ff0b9ef8165b8bebf407abcf17f27ec27951de0d513 | Fichier BAT persistant |
SHA-256 | 463a5ad91dd8adc56d700c059770de8ee01b3ba5bc276d17db872cc69d6768bf | |
SHA-256 | 474d1dcec292401ade40bd90a95b872e5ab2c8fb68737b786e4308444d3ad33a | Archive RAR |
SHA-256 | 4883379040196cb4362ed4dfe4c011512febbfac7217e029f107b62c9acce6df | |
SHA-256 | 4b977d4e522186d89559821c675a14d31f367c67e3418a2cc74d72c405832efa | Dropper de fichier BAT |
SHA-256 | 548acae9620f6541fa647dcbfe7ed2f3d9637f228b24bfcb0c7d17f34e83b8e5 | |
SHA-256 | 54cf73082944d966e232d74c33f0cd4e05411846d57fab35171369910be84eb1 | |
SHA-256 | 57ecb84193e327b58a62663d5e34d96503bbd81c461f91780b4f6bdb9fc4aabf | |
SHA-256 | 82c29d1bbb6ef9f3aff4d3ca91f3ec6dfc17018ec0e6da32d080658a19502db6 | |
SHA-256 | 91dff3d1e940290529d064a0b13e190e6231679ea067df399de559d5bd071d81 | Archive RAR |
SHA-256 | 97252bdb029fcdc9cfda86688a6327f76ea780761a3c1736db6a368ea30ffa14 | |
SHA-256 | 9d048e99bed4ced4f37d91a29763257a1592adb2bc8e17a66fa07a922a0537d0 | Dropper de fichier BAT |
SHA-256 | 9dd9cc235f8c2c753529955a351805e01229cc5052932561b0b96344537ce46c | |
SHA-256 | 9f1711a6157ba51b8e464ff4659c3a1db036e2e93721263e0091ed6fe53bf503 | |
SHA-256 | a39f0c56dd602fcc14adcdeaa31c21d389af8ea8abcb89862fac19e2807c799d | RAR archive |
SHA-256 | aa3fde3269b630ce09e882ed0224b2271ebda197f5e5e4beb69994e9fc8ddc44 | |
SHA-256 | aaa953d2e18d4620a4a6e60c42f67a6e07cab05eec50e6e8f16f19cfa7c1d13b | |
SHA-256 | b14a6391e11fe1e2bbf9972e5fefb7579bfcb4177acf60bcf1fc39fdacd1ddfa | |
SHA-256 | b31c3c0887543b08df40a0a55718bc3686a6025f24a8b6e9a5d275a90c637c37 | Fichier ZIP |
SHA-256 | bc3993769a5f82e454acef92dc2362c43bf7d6b6b203db7db8803faa996229aa | Dropper de fichier BAT |
SHA-256 | bca1c784742fc086d381f4e1e4495941626d1b829147d0d5f6d3f47af78364dd | Fichier RAR |
SHA-256 | c116663954c00ef7be0ce7d391bed95fe0c1f775b97652906c49ec3fcd814719 | Fichier RAR |
SHA-256 | c8af31d897d7e2ee9babb6a60dec5b65fc4b018e4ce8da6a5d8008ce5926bd54 | |
SHA-256 | c93a22032bf5cf29ed22065ce572caca41152281852f8b81e034e1e64f4057f4 | |
SHA-256 | d0237b6e1ab07c8300ad282ed3aa1f6e0e90220d893bbeee26786e886cedb9ad | Fichier RAR |
SHA-256 | d13aba752f86757de6628e833f4fdf4c625f480056e93b919172e9c309448b80 | Dropper de fichier BAT |
SHA-256 | e3579f1112a695c5117dff5830ef64bf47703943e7ee7dbd32086c7865fcf126 | |
SHA-256 | e7cd3233fd39175970675135dac2c582382747b328b3786f8a833ae2ab8f4239 | Fichier RAR |
SHA-256 | f1ff46c4dd8ebbf092a38910796a1e1adb455bf476a2405ad315c5e37afc3e99 | Script Python du stealer |
SHA-256 | fd8391a1a0115880e8c3ee2e76fbce741f1b3c5fbcb728b9fac37c21e9f6d7b7 | Fichier RAR |
TTPs
Tactique | ID de la technique |
---|---|
Initial Access (TA0001) | Phishing (T1566) |
Execution (TA0002) | Interpréteur de commandes et de scripts (T1059.001) |
Discovery (TA0007) | Processus de découverte (T1057) |
Persistence (TA0003) | Startup Folder (T1547.001) |
Collection (TA0009) | Data from the Local System (T1005) |
Credential Access (TA0006) | Cookie de vol de session web (T1539) |
Credential Access (TA0006) | Identifiants des stockages de mots de passe (T1555) |
Exfiltration(TA0010) | Exfiltration sur le service Web : Exfiltration sur Webhook (T1567/004) |
Sources
- Cyble. (n.d.). New Editbot Stealer Spreads Via Social Media Messages. Accessible via https://cyble.com/blog/new-editbot-stealer-spreads-via-social-media-messages/
- Gardio. (n.d.). “MrTonyScam” — Botnet of Facebook Users Launch High-Intent Messenger Phishing Attack on Business Accounts. Accessible via https://labs.guard.io/mrtonyscam-botnet-of-facebook-users-launch-high-intent-messenger-phishing-attack-on-business-3182cfb12f4d
- Meta. (s.d.). The malware threat landscape: NodeStealer, DuckTail, and more. Accessible via https://engineering.fb.com/2023/05/03/security/malware-nodestealer-ducktail/
- Netskope. (n.d.). New Python NodeStealer Goes Beyond Facebook Credentials, Now Stealing All Browser Cookies and Login Credentials. Accessible via https://www.netskope.com/blog/new-python-nodestealer-goes-beyond-facebook-credentials-now-stealing-all-browser-cookies-and-login-credentials
Auteurs
Mickael Walter, Team lead CTI, Agathe Brenac et Louis Pariente, analystes CTI | I-TRACING
01 août 2024