Pegasus : un logiciel conçu pour surveiller des téléphones iOS et Android
Pegasus est un logiciel édité par la société NSO Group, et qui permet d’extraire des informations sur des téléphones iOS et Android. Les données récupérées peuvent être les messages envoyés ou reçus, les contacts, le micro et la caméra, les données GPS, ou encore les appels [1]. Cet article présente comment vérifier si votre téléphone a été infecté par Pegasus.
Comment Pegasus infecte-t-il un téléphone ?
Pegasus est installé sur un téléphone via des attaques informatiques, reposant :
- sur une attaque de type « spear-phishing » (ou « hameçonnage ciblé » ), c’est-à-dire via l’envoi d’un piège qui demandera à la cible d’effectuer une action comme un clic, cette action déclenchant l’installation de Pegasus ;
- sur l’exploitation d’une vulnérabilité affectant le système ciblé (iOS ou Android), via l’envoi d’un message contenant un exploit, c’est-à-dire un kit d’attaque pour utiliser la vulnérabilité.
Lorsque l’installation repose sur l’exploitation d’une vulnérabilité, il peut s’agir de vulnérabilités qui ne sont pas encore connues de la communauté internationale, aussi appelées « vulnérabilités Zero-Day ». Ces vulnérabilités, tenues secrètes, sont redoutables : étant inconnues de la communauté internationale, aucun dispositif ne permet alors de les identifier. En conséquence, elles coûtent aussi extrêmement cher.
L’intérêt d’une vulnérabilité Zero-Day réside d’ailleurs dans le maintien de ce secret : dès que ces vulnérabilités sont repérées, elles font l’objet d’une publication au niveau international et d’un correctif de sécurité qui les neutralise. Une fois découverte, cette vulnérabilité rejoint la famille des vulnérabilités « connues » ou « One-Day » référencées dans la base CVE (Common Vulnerabilities and Exposures).
Est-ce que Pegasus est installé sur votre téléphone et l’a infecté ?
L’acquisition du logiciel Pegasus est réservée à des organismes bien particuliers, d’une part en raison de l’investissement financier requis, d’autre part en raison d’une sélection des clients de NSO Group.
Dans ces conditions, il est statistiquement peu probable que Pegasus soit installé sur votre téléphone.
Comment vérifier si votre téléphone a été infecté par Pegasus ?
Amnesty International met à disposition un outil nommé MVT (Mobile Verification Toolkit), sous une licence dérivée de la Mozilla Public License v2.0. L’utilisation de MVT est soumise à l’accord préalable explicite du propriétaire du téléphone qui sera analysé.
Cet outil permet d’analyser des fichiers extraits d’un téléphone, et d’y rechercher des indicateurs de compromission (aussi appelés IoC pour Indicator of Compromise).
Outre MVT, Amnesty International fournit également un jeu de données au format STIX2 (Structured Threat Information Expression) sur GitHub.
L’utilisation de MVT avec le jeu de données au format STIX2 nécessite quelques compétences techniques, et Cyberwatch vous propose ici un tutoriel pour vérifier si votre téléphone a été infecté par Pegasus ou non.
Temps nécessaire : 4 heures.
Comment vérifier si votre téléphone a été infecté par Pegasus à l’aide de MVT (Mobile Verification Toolkit) ?
1. Téléchargez et installez le projet MVT L’installation de MVT est décrite de manière détaillée sur le dépôt Git du projet.
🐧 Pour installer MVT sur un système Linux :
Installez les prérequis avec la commande : sudo apt install python3 python3-pip libusb-1.0-0
Puis installez MVT avec la commande : pip3 install mvt
🍏 Pour installer MVT sur un système macOS :
Installez Brew à l’aide de la commande :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Installez les prérequis avec la commande : brew install python3 libusb
Puis installez MVT avec la commande : pip3 install mvt
Pour installer MVT sur un système Windows :
Installez le WSL (Windows Subsystem for Linux) à l’aide de la documentation officielle de Microsoft.
Puis installez une machine Linux sur votre système Windows, et appliquez la procédure pour Linux.
2. Téléchargez le fichier des indicateurs de compromission de Pegasus Récupérez le fichier pegasus.stix2
à partir du lien GitHub suivant et notez son emplacement sur votre ordinateur.
3. Identifiez le type de téléphone Le processus de vérification du téléphone avec MVT dépend du système d’exploitation ciblé. Vous devez ainsi vérifier si le téléphone à analyser est sous Android ou sous iOS.
Si le téléphone à analyser est sous iOS, passez à l’étape 4.
Si le téléphone à analyser est sous Android, passez directement à l’étape 7.
4. Cas d’un téléphone iOS : préparation des données à analyser Le plus simple pour analyser un téléphone iOS consiste à effectuer une sauvegarde du téléphone, puis à analyser cette sauvegarde à l’aide de MVT.
Attention : pour obtenir un maximum de données, la sauvegarde doit être protégée par mot de passe ! Dans le cas contraire, elle contiendra moins d’informations par mesure de sécurité.
Pour effectuer la sauvegarde de votre téléphone, connectez votre iPhone à votre ordinateur à l’aide d’un câble USB.
Si vous disposez d’iTunes, lancez alors iTunes puis créez une sauvegarde locale de votre téléphone, en veillant à ce que celle-ci soit chiffrée.
Sur macOS, vous pouvez aussi réaliser la sauvegarde depuis le Finder via la procédure suivante.
Votre sauvegarde se trouve ensuite dans :
– sur Windows, dans %USERPROFILE%\Apple\MobileSync\
ou %USERPROFILE%\AppData\Roaming\Apple Computer\MobileSync\
;
– sur macOS, dans ~/Library/Application Support/MobileSync/
.
5. Cas d’un téléphone iOS : conversion de la sauvegarde vers un format simple à manipuler Etant donné que la sauvegarde est initialement chiffrée, il faut utiliser MVT pour déchiffrer les données et les rendre plus simples à manipuler.
Pour cela, lancez la commande : mvt-ios decrypt-backup -p <VOTRE_MOT_DE_PASSE> -d <CHEMIN_DESTINATION> <CHEMIN_BACKUP_CHIFFRE>
en remplaçant VOTRE_MOT_DE_PASSE par le mot de passe de chiffrement de votre sauvegarde, CHEMIN_DESTINATION par le répertoire qui recevra votre sauvegarde déchiffrée, et CHEMIN_BACKUP_CHIFFRE par le répertoire de votre sauvegarde (cf étape 4).
Patientez jusqu’à la fin de l’opération, qui peut prendre plusieurs minutes.
6. Cas d’un téléphone iOS : analyse de la sauvegarde déchiffrée Vous allez maintenant pouvoir lancer l’opération d’analyse.
Pour cela, lancez la commande : mvt-ios check-backup --output <DESTINATION_ANALYSE> --iocs <EMPLACEMENT_IOCS>/pegasus.stix2 <EMPLACEMENT_BACKUP_DECHIFFRE>
en remplaçant DESTINATION_ANALYSE par le répertoire qui contiendra les résultats de MVT, EMPLACEMENT_IOCS par l’emplacement du fichier pegasus.stix2 (cf étape 2), et EMPLACEMENT_BACKUP_DECHIFFRE par le répertoire de votre sauvegarde déchiffrée (obtenue à l’étape 5).
MVT mettra en surbrillance les activités suspectes et liées à Pegasus.
Vous pouvez ensuite passer à l’étape 10.
7. Cas d’un téléphone Android : préparation de votre ordinateur Pour Android, la préparation des données consiste à :
– extraire d’une part les applications du téléphone au format APK pour les analyser sur VirusTotal et Koodous ;
– extraire les messages pour les analyser avec les IOCs de Pegasus.
Cette procédure requiert :
– l’installation de MVT (cf étape 1) ;
– l’installation de ADB (Android Debug Bridge, via la procédure officielle). ;
– l’activation du mode développeur sur votre téléphone à l’aide de cette procédure ;
– la présence de Java sur votre ordinateur ;
– le téléchargement de ABE (Android Backup Extractor) via le dépôt GitHub suivant (prenez simplement le fichier abe.jar et notez son emplacement sur votre ordinateur).
Passez ensuite à l’étape suivante.
8. Cas d’un téléphone Android : analyse des applications Branchez votre téléphone à votre ordinateur à l’aide d’un câble USB.
Puis, ouvrez un shell et lancez la commande : mvt-android download-apks --output <REPERTOIRE_DESTINATION> --all-checks
en remplaçant <REPERTOIRE_DESTINATION> par l’emplacement d’un répertoire sur votre ordinateur où les APKs seront téléchargés.
9. Cas d’un téléphone Android : analyse des SMS Branchez votre téléphone à votre ordinateur à l’aide d’un câble USB.
Lancez l’extraction avec la commande : adb backup com.android.providers.telephony
Vous obtenez un fichier nommé backup.ab
.
Ce fichier n’est pas utilisable en l’état et doit être converti vers un format plus simple à manipuler.
Pour cela, lancez ABE à l’aide de la commande : java -jar <EMPLACEMENT_ABE>/abe.jar unpack <EMPLACEMENT_BACKUP>/backup.ab <DESTINATION>/backup.tar
en remplaçant chaque fois EMPLACEMENT_ABE / EMPLACEMENT_BACKUP / DESTINATION par l’emplacement d’ABE, l’emplacement du backup, et la destination du fichier dans le format converti.
Ensuite, décompressez le fichier backup.tar
à l’aide du programme de votre choix (7Zip, tar, etc) dans un répertoire nommé android-backup-decompresse
.
Enfin, lancez la commande :
mvt-android check-backup --iocs <EMPLACEMENT_IOCS>/pegasus.stix2 --output sms <EMPLACEMENT_TAR_DECOMPRESSE>/android-backup-decompresse
en remplaçant EMPLACEMENT_IOCS par le répertoire qui contient pegasus.stix2 (fichier de l’étape2), et EMPLACEMENT_TAR_DECOMPRESSE par le répertoire qui contient android-backup-decompresse.
MVT lancera alors une analyse de vos SMS à l’aide du fichier des indicateurs de compromission, et mettra en surbrillance toute anomalie identifiée.
Vous pouvez passer à l’étape 10.
10. Analyser les résultats En cas de présence d’éléments suspects, cela signifie que votre téléphone a de fortes chances d’avoir été ciblé par Pegasus.
Dans le cas contraire, c’est qu’aucun élément issu des travaux d’Amnesty International et de Forbidden Stories ne permet de conclure que votre téléphone a été ciblé par Pegasus.
Que faire si votre téléphone a été compromis par Pegasus ?
Cyberwatch vous invite à vous rapprocher des autorités, via les coordonnées mentionnées sur le site de l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI).
Que faire pour limiter le risque d’attaques sur votre téléphone ?
Un téléphone repose sur des technologies développées par des humains, qui font de temps en temps des erreurs. Ces erreurs peuvent alors entraîner un problème de sécurité, nommé « vulnérabilité ». Ces vulnérabilités peuvent être plus ou moins graves, et sont parfois suffisamment dangereuses pour être employées par des opérations comme une infection avec Pegasus.
Cyberwatch recommande ainsi d’appliquer en permanence les recommandations du guide d’hygiène de l’ANSSI, et plus précisément de régulièrement installer les mises à jour de sécurité sur votre téléphone.
Pour toute question complémentaire, n’hésitez pas à contacter nos experts via ce formulaire.