Les chercheurs en sécurité de Cisco Talos et du Citizen Lab ont présenté une nouvelle analyse technique du logiciel espion Android commercial « Predator » et de son chargeur « Alien », partageant ses capacités de vol de données et d’autres détails opérationnels.

Predator est un logiciel espion commercial pour les plates-formes mobiles (iOS et Android) développé et vendu par la société israélienne Intellexa.

La famille des logiciels espions a été liée à des opérations de surveillance ciblant des journalistes, des politiciens européens de premier plan et même des cadres de Meta.

Le logiciel espion peut enregistrer des appels téléphoniques, collecter des informations à partir d’applications de messagerie ou même masquer des applications et empêcher leur exécution sur des appareils Android infectés.

Le chargeur extraterrestre
En mai 2022, Google TAG a révélé cinq vulnérabilités zero-day d’Android que le logiciel espion Predator a enchaînées pour effectuer l’exécution de shellcode afin de déposer le chargeur « Alien » de Predator sur un appareil ciblé.

Le chargeur Alien est injecté dans un processus central d’Android nommé « zygote64 », puis télécharge et active des composants de logiciels espions supplémentaires basés sur une configuration codée en dur.

Alien récupère le composant Predator à partir d’une adresse externe et le lance sur l’appareil ou met à niveau la charge utile existante avec une version plus récente si disponible.

Après cela, Alien continue de fonctionner sur l’appareil, facilitant les communications discrètes entre les composants du logiciel espion en les cachant dans des processus système légitimes et en recevant des commandes de Predator à exécuter tout en contournant la sécurité Android (SELinux).

Un contournement de SELinux est une fonction cruciale du logiciel espion, le différenciant des voleurs d’informations et des chevaux de Troie de 150 à 300 $/mois vendus sur Telegram.

Cisco explique qu’Alien y parvient en abusant des contextes de SELinux qui déterminent quels utilisateurs et quel niveau d’informations sont autorisés sur chaque processus et objet du système, en levant les restrictions existantes.

De plus, Alien écoute les commandes « ioctl » (contrôle d’entrée/sortie) pour les communications des composants internes du logiciel espion, que SELinux n’inspecte pas.

Enfin, Alien enregistre les données et les enregistrements volés sur un espace de mémoire partagé, puis les déplace vers le stockage, les exfiltrant éventuellement via Predator. Ce processus ne déclenche aucune violation d’accès et passe inaperçu par SELinux.

Capacités de prédateur
Predator est le module fer de lance du logiciel espion, arrivant sur l’appareil sous la forme d’un fichier ELF et mettant en place un environnement d’exécution Python pour faciliter les différentes fonctionnalités d’espionnage.

La quantité de journalisation effectuée sur l’appareil compromis change selon que l’implant Predator est une version de développement ou une version stable.

Les fonctionnalités facilitées par les modules Python de Predator et exécutées avec Alien incluent l’exécution de code arbitraire, l’enregistrement audio, l’empoisonnement de certificat, le masquage d’applications, la prévention de l’exécution d’applications (après redémarrage) et l’énumération de répertoires.

Le chargeur de logiciels espions, Alien, vérifie s’il s’exécute sur un Samsung, Huawei, Oppo ou Xiaomi, et s’il y a une correspondance, il énumère de manière récursive le contenu des répertoires contenant les données des utilisateurs provenant des e-mails, de la messagerie, des médias sociaux et des applications de navigateur.

Il énumère également la liste de contacts de la victime et répertorie les fichiers privés dans les dossiers multimédias de l’utilisateur, y compris l’audio, les images et la vidéo.

Le logiciel espion utilise également l’empoisonnement de certificat pour installer des certificats personnalisés sur les autorités de certification de confiance actuelles de l’utilisateur, permettant à Predator de mener des attaques de type « man-in-the-middle » et d’espionner les communications réseau cryptées par TLS.

Cisco commente que Predator est prudent avec cette capacité, n’installant pas les certificats au niveau du système pour éviter les interférences au niveau opérationnel de l’appareil, ce qui pourrait indiquer aux victimes que quelque chose ne va pas.

« Du point de vue d’un attaquant, les risques l’emportent sur la récompense, car avec des certificats au niveau de l’utilisateur, le logiciel espion peut toujours effectuer un décryptage TLS sur toute communication dans le navigateur », expliquent les chercheurs.

Pièces manquantes
Même si Cisco et Citizen Lab ont approfondi les composants du logiciel espion, les chercheurs manquent encore de détails sur deux modules, à savoir « tcore » et « kmem », tous deux chargés dans l’environnement d’exécution Python de Predator.

« Nous évaluons avec une grande confiance que le logiciel espion comporte deux composants supplémentaires – tcore (composant principal) et kmem (mécanisme d’escalade de privilèges) – mais nous n’avons pas été en mesure d’obtenir et d’analyser ces modules », explique le rapport de Cisco.

Les analystes pensent que tcore effectue un suivi de géolocalisation, capture des images de la caméra ou simule la mise hors tension d’un appareil.

L’hypothèse de Cisco pour le module kmem est qu’il fournit un accès arbitraire en lecture et en écriture dans l’espace d’adressage du noyau.

Étant donné qu’aucun des deux n’a pu être récupéré à partir d’appareils infectés, certaines parties du logiciel espion Predator d’Intellexa restent inexplorées.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *