Les logiciels d'espionnage pour Smartphone sont devenus assez courants sur la toile. Cela est d'autant plus vrai sur la plateforme Android qui offre des privilèges plus élevés et des capacités de simulation d'applications plus importantes (background app, broadcast ...).

Pour lutter contre l'espionnage et défendre la liberté, Amnesty International maintient un référentiel d'empreintes de logiciels espions sur GitHub visant principalement le logiciel Pegasus du NSO Group qui est considéré comme un risque important contre la liberté.

On estime que le logiciel Pegasus permet d'espionner pas moins de 50 000 smartphones autour du globe et 1 000 smartphones en France. Le coût d'entrée de ce logiciel espion serait de 25 000€ par Smartphone si l'on croit les informations trouvées sur la toile et l'installation du logiciel espion serait à priori possible à distance au travers de l'exploitation de failles de type Zero-day ne necessitant aucune interaction humaine de la personne visée. Un simple MMS par exemple peut permettre d'infecter un Smartphone Android ou iOS à distance.

pegasus-infection

Comment analyser la présence de Pegasus sur votre Smartphone ?

Pour savoir si votre smartphone est espionné par Pegasus, un logiciel Opensource développé en Python au nom de MVT pour Mobile Verification Toolkit permet d'analyser la présence de traces soit sur une sauvegarde de votre téléphone ou soit sur le système de votre téléphone si vous l'avez Jailbreaké.

Pour utiliser MVT de manière simple, il vous suffit d'installer l'outil puis ensuite, de lancer une analyse sur l'une des sauvegardes de votre smartphone Android ou iOS. L'option Jailbreak n'est pas recommandée sauf si vous savez exactement ce que vous faites.

Comment analyser la présence de Pegasus grâce à une sauvegarde d'iPhone ?

Pour analyser mon iPhone depuis mon PC, j'ai tout simplement installé iTunes pour capturer une sauvegarde de mon iPhone sur mon PC.

Une fois la sauvegarde réalisée, j'ai installé MVT sur mon Kali Linux WSL2 sur mon PC sous Windows.

$ sudo apt install python3 python3-pip libusb-1.0-0 sqlite3
$ pip3 install mvt

La première commande consiste à déchiffrer la sauvegarde du terminal avec la commande suivante.

$ cd /mnt/c/Users/MON-USER/Apple/MobileSync/Backup/
$ mvt-ios decrypt-backup -d  ./decrypted  ./00000-IDENTIFIANT-DU-BACKUP

L'outil prend deux arguments en paramètre :

  • Le premier derrière l'option "-d" permet de préciser le répertoire où les données doivent être déchiffrées.
  • Le second argument permet de préciser le nom de la sauvegarde à déchiffrer. Après avoir lancé la commande, l'outil MVT vous demandera le mot de passe de déchiffrement du backup de votre iPhone.

iphone-sauvegarde-dechiffrer

Installez ensuite la base de connaissances IOCS partagée par Amnesty International pour identifier la trace d'une présence de Pegasus sur votre iPhone.

$ git clone https://github.com/AmnestyTech/investigations.git

Une fois le déchiffrement de la sauvegarde réalisé, l'analyse des traces est possible au travers de la commande suivante :

mvt-ios check-backup --iocs ./investigations/2021-07-18_nso/pegasus.stix2 --output ./result ./decrypted/

Le répertoire indiqué par l'option "--output" permet de préciser dans quel endroit stocker les résultats de l'analyse.

Dans l'exemple ci-dessus, mon analyse se base sur le dernier fichier Stix partagé par Amnesty International qui date de juillet 2021.

Quels sont les fichiers produits par MVT ?

Le script Pyhton MVT va extraire une synthèse des données personnelles stockées dans le backup et tenter de trouver des patterns de la présence d'une infection.

Voici à titre d'exemple les données que MVT a réussi à produire sur la base d'un backup iOS.

Nom du fichier Description
backup_info.json Les informations du backup et du terminal
calls.json La synthèse de l'ensemble des appels entrants et sortants
configuration_profiles.json La synthèse des profils installés
contacts.json La liste des contacts présents sur le terminal.
datausage.json La synthèse des usages de données.
interaction_c.json La synthèse des échanges d'email
locationd_clients.json La synthèse des processus utilisant les données de géolocalisation
manifest.json La synthèse des fichiers de données
os_analytics_ad_daily.json L'analyse de la bande passante sortante et entrante par application.
profile_events.json La synthèse des profiles
sms_attachments.json La synthèse des attachements reçus par MMS / iMessage.
sms.json La liste des SMS échangés.
timeline.csv Synthèse des interactions sur le terminal
safari_history.json L'historique de Safari
whatsapp.json La synthèse des messages échangés par Whatsapp

L'exhaustivité des données extraites par l'outil est disponible sur la documentation en ligne du logiciel MVT.

Si l'un des fichiers extraits contient une trace pouvant confirmer la présence du logiciel Pegasus, le fichier JSON contenant la trace est suffixé par "_detected".

Si votre Smartphone est infecté, le meilleur moyen pour faire avancer les analyses est de contacter Amnesty International pour capturer des traces et améliorer les fichiers Stix mis à disposition.

Malheuresement, le NSO Group avance probablement plus vite que les empreintes partagées par Amnesty International. L'analyse faite par le logiciel MVT avec les derniers fichiers STIX d'Amnesty International est probablement pas 100% fiable, mais il a comme avantage d'exister et d'être maintenu à jour avec les dernières analyses d'attaques connues.

En savoir plus sur le logiciel d'espionnage Pegasus

Vous êtes correctement abonné à Geeek
Bienvenue ! Vous êtes correctement connecté.
Super ! Vous êtes correctement inscrit.
Votre lien a expiré
Vérifiez vos emails et utiliser le lien magic pour vous connecter