Une mystérieuse famille de malwares Android, ayant démontré une capacité impressionnante à dissimuler ses nombreuses activités d’espionnage, a de nouveau été retrouvée sur Google Play après plus de deux ans à se cacher en pleine vue.
Les applications, déguisées en applications de partage de fichiers, d’astronomie et de cryptomonnaie, accueillaient Mandrake, une famille de malwares très intrusifs que la société de sécurité Bitdefender avait signalée en 2020. Bitdefender a indiqué que les applications étaient apparues par vagues, une première de 2016 à 2017 et une seconde de 2018 à 2020. La capacité de Mandrake à passer inaperçu à l’époque était le résultat de mesures exceptionnellement rigoureuses pour rester sous le radar. Ces mesures comprenaient :
- Ne pas fonctionner dans 90 pays, y compris ceux faisant partie de l’ancienne Union soviétique
- Livrer sa charge utile finale uniquement aux victimes ciblées de manière très précise
- Contenir un « kill switch » que les développeurs ont nommé seppuku (une forme de suicide rituel japonais) permettant d’effacer totalement toutes les traces du malware
- Proposer des applications leurres entièrement fonctionnelles dans des catégories telles que finance, auto & véhicules, lecteurs et éditeurs vidéo, art et design, et productivité
- Des corrections rapides pour les bugs signalés dans les commentaires
- Le certificat de pinning TLS pour dissimuler les communications avec les serveurs de commande et de contrôle.
Se cacher dans l’ombre
Bitdefender a estimé le nombre de victimes à des dizaines de milliers pour la vague de 2018 à 2020 et « probablement à des centaines de milliers sur toute la période de quatre ans ».
Suite au rapport de Bitdefender en 2020, les applications infectées par Mandrake semblaient avoir disparu de Google Play. Cependant, la société de sécurité Kaspersky a rapporté que les applications s’étaient réapparues en 2022 et étaient restées invisibles jusqu’à présent. Outre une nouvelle série d’applications leurres, les opérateurs de Mandrake ont également introduit plusieurs mesures pour mieux dissimuler leur comportement malveillant, éviter l’analyse des “sandboxes” utilisées par les chercheurs pour identifier et étudier les malwares, et contrer les protections contre les malwares mises en place ces dernières années.
« Les logiciels espions Mandrake évoluent de manière dynamique, améliorant leurs méthodes de dissimulation, d’évasion des sandboxes et de contournement des nouveaux mécanismes de défense », ont écrit les chercheurs de Kaspersky, Tatyana Shishkova et Igor Golovin. « Après que les applications de la première campagne sont restées indétectées pendant quatre ans, la campagne actuelle a attendu dans l’ombre pendant deux ans tout en étant toujours disponible au téléchargement sur Google Play. Cela met en évidence les compétences redoutables des acteurs menaçants et que des contrôles plus stricts des applications avant leur publication sur le marché ne se traduisent que par des menaces plus sophistiquées et plus difficiles à détecter s’introduisant dans les marchés d’applications officiels. »
Une fonctionnalité clé de la dernière génération de Mandrake est la multiplication des couches d’obfuscation conçues pour empêcher l’analyse par les chercheurs et contourner le processus de vérification utilisé par Google Play pour identifier les applications malveillantes. Les cinq applications que Kaspersky a découvertes sont apparues pour la première fois dans Play en 2022 et sont restées disponibles pendant au moins un an. La dernière application a été mise à jour le 15 mars et retirée du marché des applications plus tard dans le mois. Au début de ce mois, aucune de ces applications n’avait été détectée comme malveillante par les principaux fournisseurs de détection de malwares.
Un moyen d’obfuscation consistait à transférer les fonctionnalités malveillantes vers des bibliothèques natives, qui étaient elles-mêmes obfusquées. Auparavant, Mandrake stockait la logique malveillante de la première étape dans ce qu’on appelle le fichier DEX de l’application, un type de fichier très facile à analyser. En déplaçant la localisation vers la bibliothèque native libopencv_dnn.so, le code Mandrake est devenu plus difficile à analyser et à détecter, car les bibliothèques natives sont plus difficiles à inspecter. En obfusquant ensuite la bibliothèque native en utilisant l’obfuscateur OLLVM, les applications Mandrake ont gagné en discrétion.
Les principales fonctions de Mandrake sont de voler les identifiants des utilisateurs et de télécharger et exécuter des applications malveillantes de prochaine étape. Cependant, ces actions ne sont effectuées qu’au cours d’infections tardives qui ne concernent qu’un très petit nombre de cibles soigneusement sélectionnées. La méthode principale est l’enregistrement de l’écran pendant que la victime saisit un code d’accès. L’enregistrement de l’écran est initié par un serveur de commande envoyant des commandes telles que start_v, start_i ou start_a. Les chercheurs ont expliqué :
Lorsque Mandrake reçoit une commande start_v, le service démarre et charge l’URL spécifiée dans une vue Web appartenant à l’application avec une interface JavaScript personnalisée, que l’application utilise pour manipuler la page Web qu’elle charge.
Pendant que la page se charge, l’application établit une connexion websocket et commence à prendre des captures d’écran de la page à intervalles réguliers, tout en les encodant en chaînes base64 et en les envoyant au serveur C2. Les attaquants peuvent utiliser des commandes supplémentaires pour ajuster le taux de rafraîchissement et la qualité. Les acteurs menaçants appellent cela « vnc_stream ». Dans le même temps, le serveur C2 peut renvoyer des commandes de contrôle qui font exécuter des actions par l’application, telles que swipes à des coordonnées données, changement de la taille et résolution de la vue Web, basculement entre les modes d’affichage de page bureau et mobile, activation ou désactivation de l’exécution de JavaScript, changement de l’agent utilisateur, importation ou exportation de cookies, navigation avant et arrière, actualisation de la page chargée, zoom de la page chargée, etc.
Lorsque Mandrake reçoit une commande start_i, il charge une URL dans une vue Web, mais au lieu d’initier un flux « VNC », le serveur C2 commence à enregistrer l’écran et à sauvegarder l’enregistrement dans un fichier. Le processus d’enregistrement est similaire au scénario « VNC », mais les captures d’écran sont sauvegardées dans un fichier vidéo. De plus, dans ce mode, l’application attend que l’utilisateur saisisse ses identifiants sur la page Web, puis collecte les cookies de la vue Web.
La commande start_a permet d’exécuter des actions automatisées dans le contexte de la page actuelle, telles que swipes, clics, etc. Si tel est le cas, Mandrake télécharge des scénarios d’automatisation à partir de l’URL spécifiée dans les options de commande. Dans ce mode, l’écran est également enregistré.
Les enregistrements d’écran peuvent être téléchargés vers le C2 avec les commandes upload_i ou upload_d.
Ni Kaspersky ni Bitdefender n’ont fourni d’attribution pour le groupe ou des informations sur ses motivations à diffuser un logiciel espion et une application de vol d’identifiants aussi sophistiqués que Mandrake. Les applications découvertes par Kaspersky sont présentées dans le tableau ci-dessous. Google les a depuis retirées de Play. Des indicateurs supplémentaires de compromission peuvent être trouvés dans le post de Kaspersky.
Nom du package | Nom de l’application | MD5 | Développeur | Publié le | Dernière mise à jour sur Google Play | Téléchargements |
com.airft.ftrnsfr | AirFS | 33fdfbb1acdc226eb177eb42f3d22db4 | it9042 | 28 avr., 2022 |
15 mars, 2024 |
30 305 |
com.astro.dscvr | Astro Explorer | 31ae39a7abeea3901a681f847199ed88 | shevabad | 30 mai, 2022 |
6 juin, 2023 |
718 |
com.shrp.sght | Amber | b4acfaeada60f41f6925628c824bb35e | kodaslda | 27 févr., 2022 |
19 août, 2023 |
19 |
com.cryptopulsing.browser | CryptoPulsing | e165cda25ef49c02ed94ab524fafa938 | shevabad | 2 nov., 2022 |
6 juin, 2023 |
790 |
com.brnmth.mtrx | Brain Matrix | – | kodaslda | 27 avr., 2022 |
6 juin, 2023 |
259 |
En tant que journaliste pour LesNews, je suis particulièrement préoccupé par la vulnérabilité des utilisateurs à de telles menaces. Les malwares comme Mandrake soulignent l’importance cruciale de vigilances de la part des utilisateurs ainsi que des plateformes de téléchargement comme Google Play. Il est impératif que les utilisateurs soient conscients des applications qu’ils téléchargent, et que les entreprises mettent en œuvre des mesures de sécurité robustes pour protéger leurs clients contre ce type de cybercriminalité.