Le malware xHelper délivre le payload Triada sur Android

L’insupprimable malware xHelper, qui aboutit finalement à l’installation du cheval de Troie Triada, est devenu un fléau pour les appareils Android cette année, selon l’analyse des chercheurs. Il a la caractéristique d’être pratiquement indestructible pour un utilisateur lambda.

xHelper est connu pour sa persistance, il reste ancré dans le téléphone. Même si l’appareil est restauré vers les paramètres d’usine, le malware se réinstalle secrètement. Repérés pour la première fois l’année dernière, les chercheurs ont déclaré avoir observé une augmentation continue des détections de logiciels malveillants qui se cache des utilisateurs, télécharge des applications malveillantes sur le téléphone et affiche des publicités contextuelles.

xhelper

Selon l’analyse de Kaspersky, le dernier échantillon de xHelper utilise une architecture de type “poupée russe” pour se faufiler au cœur des appareils Android.

xHelper, une approche séquentielle de la persistance

La chaîne d’infection de xHelper commence par convaincre une victime de télécharger une application troyenne malveillante – dans ce cas, xHelper est intégré dans une application qui se fait passer pour un utilitaire de nettoyage et d’optimisation populaire pour les smartphones, selon une analyse publiée la semaine dernière.

Après l’installation, le prétendu nettoyeur est répertorié comme l’une des applications installées dans les paramètres système, mais disparaît de la vue de la victime – il n’y a pas d’icône présente et il n’apparaît pas dans les résultats de recherche.

Mais selon Igor Golovin, chercheur et analyste chez Kaspersky, un payload est déchiffré en arrière-plan et sa tâche consiste à prendre les empreintes digitales du téléphone de la victime, y compris l’identifiant unique de l’utilisateur, le fabricant, le modèle, la version du micrologiciel, etc. Le malware envoie cela à un serveur distant, puis commence à déployer un dropper dans un dropper – ce qui fait pensé aux principes des poupées russes que nous avons mentionné plus haut (appelées matriochka en russe).

Plus précisément, le module d’empreintes digitales récupère un dropper (c’est-à-dire un téléchargeur), qui possède sa propre bibliothèque groupée qu’il utilise pour s’exécuter lui-même, selon l’analyse. Ce module autonome a pour seule tâche de lancer un autre dropper, appelé «Helper». Mais cela ne s’arrête pas là, il y a un autre compte-gouttes, appelé Leech, imbriqué dans le téléchargeur Helper, qui est ensuite exécuté.

“Les fichiers malveillants sont stockés séquentiellement dans le dossier de données de l’application, auquel les autres programmes n’ont pas accès”, a expliqué Golovin. «Ce schéma de style matriochka permet aux auteurs de logiciels malveillants d’obscurcir la piste et d’utiliser des modules malveillants connus des solutions de sécurité.»

matryochka

Le téléchargeur final, Leech, passe ensuite à l’action en installant le cheval de Troie Triada, dont la principale caractéristique est un ensemble d’exploits pour obtenir des privilèges root sur l’appareil de la victime.

“Le malware peut obtenir un accès root principalement sur les appareils utilisant les versions 6 et 7 d’Android et de fabricants chinois (y compris les ODM)”, a déclaré Golovin. “Après avoir obtenu ces privilèges, xHelper peut installer des fichiers malveillants directement dans la partition système.”

Il a ensuite expliqué que la partition système pour les appareils Android est généralement montée au démarrage du système en mode lecture seule. Triada entreprend de changer cela.

«Armé de droits root, le cheval de Troie remonte [la partition système] en mode écriture et passe à la tâche principale de démarrer le script nommé ” forever.sh” », a écrit Golovin.

Au même moment, a-t-il dit, Triada copie plusieurs fichiers exécutables dans le dossier /system/bin, et il insère du code pour s’assurer qu’un appel est lancé au démarrage du système.

“Tous les fichiers dans les dossiers cibles se voient attribuer l’attribut immuable, ce qui rend difficile la suppression du malware, car le système ne permet même pas aux superutilisateurs de supprimer des fichiers avec cet attribut”, a déclaré Golovin.

Le résultat de tout cela est que même si l’utilisateur pense qu’il supprime le logiciel malveillant, les fichiers sont installés dans la partition système et se réinstallent au démarrage, même après une réinitialisation d’usine.

Les auteurs du cheval de Troie prévoyaient également que les utilisateurs infectés pourraient essayer de remonter la partition système eux-mêmes afin de supprimer le malware – mais le chercheur a déclaré que les créateurs de Triada avaient modifié la bibliothèque système “/system/lib/libc.so” pour éviter cela.

“Cette bibliothèque contient du code commun utilisé par presque tous les fichiers exécutables sur l’appareil”, selon Golovin. “Triada substitue son propre code à la fonction de montage (utilisée pour monter les systèmes de fichiers) dans libc, empêchant ainsi l’utilisateur de monter la partition /system en mode écriture.”

Et enfin, une fois la persistance établie, le cheval de Troie Triada télécharge et installe plusieurs autres programmes malveillants.

“Le malware installe une porte dérobée avec la possibilité d’exécuter des commandes en tant que superutilisateur”, a écrit le chercheur. «Il offre aux attaquants un accès complet à toutes les données de l’application et peut également être utilisé par d’autres logiciels malveillants, par exemple, CookieThief

Supprimer xHelper

En ce qui concerne la méthode pour débarrasser un téléphone de xHelper, Golovin a souligné qu’il existe quelques options.

En outre, “si vous avez configuré le mode de “récupération” sur votre smartphone Android, vous pouvez essayer d’extraire le fichier libc.so du firmware d’origine et de remplacer celui infecté par celui-ci, avant de supprimer tous les logiciels malveillants de la partition système”, a-t-il ajouté. “Cependant, il est plus simple et plus fiable de reflasher complètement le téléphone.”

Il a ajouté que les utilisateurs pouvaient également installer des micrologiciels alternatifs tierce sur l’appareil, en gardant à l’esprit que certains composants de l’appareil pourraient ne pas fonctionner correctement.