Un coup d’œil sous le capot du logiciel espion Android d’Intellexa


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 plateformes mobiles (iOS et Android) développé et vendu par la société israélienne Intellexa.
Cette famille de logiciels espions a été associée à des opérations de surveillance visant des journalistes, des personnalités politiques européennes 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 cacher des applications et empêcher leur exécution sur les appareils Android infectés.
Le chargeur Alien
En mai 2022, Google TAG a révélé cinq vulnérabilités Android de type “zero-day” que le logiciel espion Predator a enchaînées pour exécuter un shellcode afin de déposer le chargeur “Alien” de Predator sur un appareil ciblé.
Le chargeur Alien est injecté dans un processus Android central appelé “zygote64”, puis télécharge et active des composants de logiciels espions supplémentaires sur la base d’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 à jour la charge utile existante avec une version plus récente si elle est 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é d’Android (SELinux).

Le contournement de SELinux est une fonction cruciale du logiciel espion, qui le différencie des voleurs d’informations et des chevaux de Troie à 150-300 $/mois vendus sur Telegram.
Cisco explique qu’Alien y parvient en abusant des contextes SELinux qui déterminent quels utilisateurs et quel niveau d’information sont autorisés sur chaque processus et objet du système, levant ainsi 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 sauvegarde les données et les enregistrements volés sur un espace mémoire partagé, puis les déplace vers le stockage, pour finalement les exfiltrer par l’intermédiaire de Predator. Ce processus ne déclenche aucune violation d’accès et passe inaperçu aux yeux de SELinux.

Capacités du Predator
Predator est le module phare du logiciel espion. Il arrive sur l’appareil sous la forme d’un fichier ELF et met en place un environnement d’exécution Python pour faciliter les diverses fonctionnalités d’espionnage.
La quantité de données enregistrées sur l’appareil compromis varie 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 conjointement avec Alien, comprennent l’exécution de code arbitraire, l’enregistrement audio, l’empoisonnement de certificats, 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 du logiciel espion, Alien, vérifie s’il fonctionne sur un Samsung, Huawei, Oppo ou Xiaomi, et s’il y a correspondance, il énumère récursivement le contenu des répertoires qui contiennent les données de l’utilisateur provenant des applications de courrier électronique, de messagerie, de médias sociaux et de navigation.
Il énumère également la liste des contacts de la victime et répertorie les fichiers privés dans les dossiers multimédias de l’utilisateur, y compris les fichiers audio, les images et les vidéos.

Le logiciel espion utilise également l’empoisonnement de certificats pour installer des certificats personnalisés sur les autorités de certification actuellement approuvées par l’utilisateur, ce qui permet à Predator de mener des attaques de type “man-in-the-middle” et d’espionner les communications réseau cryptées par TLS.

Cisco précise que Predator est prudent avec cette capacité, n’installant pas les certificats au niveau du système pour éviter toute interférence au niveau opérationnel de l’appareil, ce qui pourrait indiquer aux victimes que quelque chose ne va pas.
“Du point de vue de l’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 au sein du navigateur”, expliquent les chercheurs.
Pièces manquantes
Même si Cisco et Citizen Lab sont allés en profondeur dans 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 estimons avec une grande confiance que le logiciel espion a deux composants supplémentaires – tcore (composant principal) et kmem (mécanisme d’escalade des 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 permet de suivre la géolocalisation, de prendre des photos à partir de l’appareil photo ou de simuler la mise hors tension de l’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é que ni l’un ni l’autre n’a pu être récupéré à partir d’appareils infectés, certaines parties du logiciel espion Predator d’Intellexa restent inexplorées.
Commentaires
Laisser un commentaire