Une copie de ce rapport peut être téléchargée ici.
Introduction
NSO Group prétend que son logiciel espion Pegasus sert uniquement à « enquêter sur des faits de terrorisme et de criminalité » et « ne laisse absolument aucune trace ». Ce rapport concernant la méthodologie technique montre qu’aucune de ces deux affirmations n’est vraie. Ce document est publié dans le cadre de la diffusion du Projet Pegasus, vaste enquête menée en collaboration par plus de 80 journalistes appartenant à 17 organes de presse de 10 pays et coordonnée par le réseau Forbidden Stories, avec le soutien technique du Security Lab d’Amnesty International[1].
Le Security Lab d’Amnesty International s’est livré à une analyse approfondie de nombreux appareils mobiles appartenant à des défenseur·e·s des droits humains et à des journalistes du monde entier. Ces travaux ont permis de mettre en lumière des activités de surveillance illégale et des atteintes aux droits humains généralisées et persistantes commises grâce au logiciel espion Pegasus de la société NSO Group.
En vertu des Principes directeurs des Nations unies relatifs aux entreprises et aux droits de l’homme, NSO Group doit de toute urgence prendre des mesures proactives pour s’assurer de ne pas causer d’atteintes aux droits humains ni d’y contribuer dans le cadre de ses opérations internationales et pour remédier à de telles atteintes lorsqu’elles se produisent. Pour s’acquitter de cette responsabilité, NSO Group est tenu de faire preuve de la diligence requise en matière de droits humains et de faire le nécessaire pour que les défenseur·e·s des droits humains et les journalistes ne soient plus la cible d’une surveillance illégale.
Dans le présent rapport, Amnesty International fait part de la méthodologie qu’elle a employée et publie un outil open source d’analyse technique des appareils mobiles, ainsi qu’un certain nombre d’indices techniques précis, pour permettre aux chercheurs et chercheuses spécialistes de la sécurité des informations et à la société civile de détecter les menaces graves auxquelles ils/elles sont exposées et d’y remédier.
Ce document présente les traces retrouvées sur des appareils sous système iOS et Android pris pour cibles par le logiciel espion Pegasus. Vous y trouverez notamment les éléments faisant le lien entre les infections récentes par Pegasus et la charge utile de Pegasus utilisée dès 2016 contre le défenseur des droits humains Ahmed Mansoor.
Les attaques menées au moyen de Pegasus décrites dans le présent rapport, ainsi que dans les annexes qui l’accompagnent, s’étalent dans le temps entre 2014 et juillet 2021. Certaines sont des attaques dites « zéro clic », qui ne demandent aucune interaction de la part de la cible. Ce type d’attaque est observé depuis mai 2018. Tout récemment, en juillet 2021, une attaque « zéro clic » exploitant plusieurs vulnérabilités du jour zéro a été détectée sur un iPhone 12 sous iOS 14.6 comportant tous les correctifs disponibles.
Les sections 1 à 8 du présent document traitent des traces laissées sur les appareils mobiles par une infection par Pegasus et détectées lors de l’analyse technique. Les éléments présentés proviennent des téléphones de défenseur·e·s des droits humains et de journalistes de plusieurs pays.
La dernière partie (section 9) porte sur l’évolution de l’infrastructure du réseau Pegasus depuis 2016. La société NSO Group a réagencé son infrastructure agressive en mettant en œuvre de multiples couches de domaines et de serveurs. Un certain nombre d’erreurs opérationnelles répétitives ont cependant permis au Security Lab d’Amnesty International de conserver une bonne visibilité de cette infrastructure. Nous publions la liste de 700 domaines liés à Pegasus.
Pour des raisons de sécurité, les noms de plusieurs victimes appartenant à la société civile citées dans ce rapport ont été modifiés, afin de préserver leur anonymat. Ces personnes se sont vu attribuer un nom de code alphanumérique.
1. Détection des attaques par injection réseau de Pegasus
L’enquête technique menée par Amnesty International sur le logiciel Pegasus de la société NSO Group s’est accélérée après la découverte en 2018 d’une attaque menée contre le militant saoudien Yahya Assiri, qui faisait partie du personnel de notre organisation. Le Security Lab d’Amnesty International a commencé à affiner sa méthodologie technique lors de la découverte d’attaques lancées contre des défenseur·e·s des droits humains marocain·e·s en 2019 – attaques corroborées en 2020 par de nouvelles tentatives détectées contre un journaliste marocain. Nous présentons dans cette première partie le processus détaillé qui nous a permis de découvrir ces agressions.
De nombreuses informations accessibles au public faisaient état depuis plusieurs années de l’utilisation par des clients de NSO Group de messages SMS impliquant des domaines d’exploit de Pegasus. Des messages similaires ont été détectés par nos analystes sur le téléphone du militant marocain Maati Monjib, qui faisait partie des personnes visées dont les cas avaient été évoqués dans un rapport d’Amnesty International datant de 2019.
Toutefois, en y regardant de plus près, nous avons également relevé un certain nombre de redirections suspectes enregistrées dans l’historique de navigation de Safari. Nous avons par exemple remarqué une redirection vers une URL qui paraissait étrange après que Maati Monjib eut tenté de se rendre sur Yahoo :
Code visite |
Date (TU) |
URL |
Source de la redirection |
Destination de la redirection |
16119 |
2019-07-22 17:42:32.475 |
https://yahoo.fr/ |
nul |
16120 |
16120 |
2019-07-22 17:42:32.478 |
https://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz |
16119 |
nul |
(Remarque : dans l’ensemble du présent document, nous avons modifié les domaines malveillants en introduisant le signe [.] afin d’éviter toute visite ou tout clic accidentel.)
L’URL https://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz a immédiatement semblé suspecte, en particulier en raison de la présence d’un sous-domaine de quatrième niveau, d’un numéro de port élevé, non normalisé, et d’un URI aléatoire ressemblant aux liens contenus dans des messages SMS déjà identifiés en relation avec le logiciel Pegasus de NSO Group. Comme le montre le tableau ci-dessus, la visite sur Yahoo a été immédiatement redirigée vers cette URL suspecte dont l’identifiant de base de données est 16120.
Nous indiquions dans notre rapport d’octobre 2019 de quelle manière nous avions établi que ces redirections étaient le fruit d’attaques par injection réseau réalisées soit au moyen de dispositifs tactiques, tels que de fausses antennes-relais, soit via un équipement dédié installé chez l’opérateur mobile. Lorsque, quelques mois plus tard, nous avons analysé l’iPhone du journaliste marocain indépendant Omar Radi qui, comme nous l’indiquions dans notre rapport de 2020, avait été pris pour cible, nous avons également constaté dans l’historique la présence du domaine free247downloads[.]com.
En novembre 2019, après la publication du premier rapport d’Amnesty International, un nouveau domaine, urlpush[.]net, a été enregistré. Nous avons par la suite pu constater qu’il était impliqué dans des redirections de même type vers l’URL https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj.
Les données contenues dans l’historique de navigation de Safari ne sont généralement pas conservées longtemps et elles disparaissent au bout de quelques mois (ou peuvent être volontairement supprimées par un logiciel malveillant). Nous sommes cependant parvenus à retrouver les noms de domaines d’infection de NSO Group dans d’autres bases de données présentes sur le téléphone d’Omar Radi, mais qui n’apparaissaient pas dans l’historique de Safari. Nous avons par exemple pu détecter plusieurs visites effectuées via la base de données de Safari Favicon.db, que Pegasus avait laissée intacte :
Date (TU) |
URL |
Icône de l’URL |
2019-02-11 14:45:53 |
https://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YP |
https://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/favicon.ico |
2019-09-13 17:01:38 |
https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#011356570257117296834845704022338973133022433397236 |
https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico |
2019-09-13 17:01:56 |
https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#068099561614626278519925358638789161572427833645389 |
https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico |
2020-01-17 11:06:32 |
https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946%2324 |
https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.ico |
2020-01-27 11:06:24 |
https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946 |
https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.ico |
Comme nous l’expliquions dans l’Annexe technique de notre rapport de 2020 sur les attaques de Pegasus au Maroc, ces redirections ne se produisent pas uniquement lorsque la cible navigue sur Internet en se servant de l’application prévue à cet effet, mais également lorsqu’elle se sert d’autres applications. Amnesty International a par exemple détecté une injection réseau alors qu’Omar Radi utilisait l’application Twitter. En visionnant l’aperçu d’un lien partagé dans son historique, le service com.apple.SafariViewService a été activé pour télécharger une vue web de Safari, ce qui a déclenché une redirection.
Cela nous permet de trouver d’autres données archivées impliquant les domaines free247downloads[.]com et urlpush[.]net, dans le stockage local de WebKit propre à l’application, dans les dossiers IndexedDB, et ailleurs. Dans plusieurs cas, des fichiers IndexedDB ont été créés par Safari peu après la redirection par injection réseau vers le serveur d’installation de Pegasus.
Les journaux des ressources de session de Safari fournissent des traces supplémentaires qui n’apparaissent pas régulièrement dans l’historique de navigation. Safari n’enregistre manifestement pas l’intégralité des chaînes de redirection et peut ne conserver dans son historique que la dernière page téléchargée. Les journaux des ressources de session récupérés sur les téléphones analysés montrent que des domaines intermédiaires supplémentaires servent de tremplins vers les serveurs d’infection. En fait, ces journaux révèlent que la toute première injection réseau visant Maati Monjib (dont il est question plus haut) avait également emprunté le domaine documentpro[.]org :
Source de la redirection |
Origine |
Destination de la redirection |
yahoo.fr |
documentpro[.]org |
free247downloads[.]com |
Maati Monjib s’est rendu sur https://yahoo.fr, et une injection réseau a redirigé de force son navigateur vers documentpro[.]org, qui l’a à son tour envoyé sur free247downloads[.]com, où l’exploitation a eu lieu.
De même, Omar Radi s’est rendu une autre fois sur le site du quotidien français Le Parisien, d’où une injection réseau l’a redirigé vers le domaine intermédiaire tahmilmilafate[.]com pour finalement aboutir de nouveau sur free247downloads[.]com. Nous avons également constaté le même usage de l’adresse tahmilmilafate[.]info :
Source de la redirection |
Origine |
Destination de la redirection |
leparisien.fr |
tahmilmilafate[.]com |
free247downloads[.]com |
Lors de tentatives plus récentes constatées en janvier 2020 par Amnesty International contre Omar Radi, le téléphone de ce dernier a été redirigé vers la page d’exploitation gnyjv1xltx.info8fvhgl3.urlpush[.]net, après être passé par le domaine baramije[.]net. Le domaine baramije[.]net a été enregistré un jour avant urlpush[.]net, et un site leurre a été mis en place en utilisant le système de gestion de contenu open source Textpattern.
Les traces d’activités de réseau n’étaient pas les seuls signes d’infection. Un examen plus poussé des iPhones a révélé une suite de processus exécutés qui a permis d’établir un modèle cohérent spécifique et typique pour tous les iPhones qu’Amnesty International a pu analyser par la suite et dont il s’est avéré qu’ils étaient infectés.
2. Apparition de BridgeHead et d’autres processus malveillants chez Pegasus
Amnesty International, Citizen Lab et d’autres acteurs ont attribué des attaques au logiciel espion Pegasus en se fondant avant tout sur les noms de domaines et sur d’autres infrastructures employées pour les mener à bien. Les éléments techniques laissés par ce logiciel sur les appareils pris pour cibles permettent également de désigner la technologie de NSO Group comme étant responsable desdites attaques.
iOS conserve la trace des exécutions de processus et de leur utilisation respective du réseau dans deux fichiers de base de données SQLite baptisés « DataUsage.sqlite » et « netusage.sqlite » et stockés sur l’appareil. Il convient de noter que, si le premier est disponible en sauvegarde sur iTunes, le second ne l’est pas. Signalons également que seuls les processus impliquant une activité réseau apparaissent dans ces bases de données.
Aussi bien dans le cas de Maati Monjib que dans celui d’Omar Radi, les bases de données relatives à l’utilisation de réseau comportent un processus suspect codé « bh ». Ce processus « bh » a été observé à de multiples occasions immédiatement après une visite sur les domaines d’installation de Pegasus.
On trouve sur le téléphone de Maati Monjib un historique d’exécution de ce « bh » allant d’avril 2018 à mars 2019 :
Première date (TU) |
Dernière date (TU) |
Nom du processus |
WWAN ENTRANT |
WWAN SORTANT |
Code du processus |
2018-04-29 00:25:12 |
2019-03-27 22:45:10 |
bh |
3319875.0 |
144443.0 |
59472 |
Amnesty International a trouvé des traces similaires sur le téléphone d’Omar Radi entre février et septembre 2019 :
Première date (TU) |
Dernière date (TU) |
Nom du processus |
WWAN ENTRANT |
WWAN SORTANT |
Code du processus |
2019-02-11 14:45:56 |
2019-09-13 17:02:11 |
bh |
3019409.0 |
147684.0 |
50465 |
La dernière exécution enregistrée de « bh » s’est produite quelques secondes après une injection réseau réussie (comme le montrent les archives favicon compilées plus tôt à la date du 2019-09-13 17:01:56).
Fait marquant : nous retrouvons des références au processus « bh » dans l’échantillon iOS de Pegasus récupéré dans le cadre des attaques menées en 2016 contre le défenseur des droits humains émirati Ahmed Mansoor, mises en évidence par Citizen Lab et analysées en détail par la société de cybersécurité Lookout.
Comme l’explique l’analyse de Lookout, NSO Group avait exploité en 2016 une vulnérabilité que présentait iOS JavaScriptCore Binary (jsc) pour exécuter ses codes sur l’appareil. Cette même vulnérabilité avait également été utilisée pour maintenir la présence du logiciel espion après réinitialisation du téléphone. Le processus « bh » est mentionné d’un bout à l’autre du code d’exploit :
var compressed_bh_addr = shellcode_addr_aligned + shellcode32.byteLength; replacePEMagics(shellcode32, dlsym_addr, compressed_bh_addr, bundle.bhCompressedByteLength); storeU32Array(shellcode32, shellcode_addr); storeU32Array(bundle.bhCompressed32, compressed_bh_addr); |
L’analyse de Lookout décrit ce module de la manière suivante :
« bh.c – Charge des fonctions de l’API permettant la décompression des charges utiles à l’étape suivante et leur installation adéquate sur l’iPhone de la victime grâce à des fonctions telles que BZ2_bzDecompress, chmod et malloc. »
Lookout explique par ailleurs qu’un fichier de configuration situé dans /var/tmp/jb_cfg est déposé en même temps que le fichier binaire. Il est intéressant de noter que le chemin d’accès à ce fichier exporté en tant que _kBridgeHeadConfigurationFilePath figure dans le fichier libaudio.dylib du pack Pegasus :
__const:0001AFCC EXPORT _kBridgeHeadConfigurationFilePath __const:0001AFCC _kBridgeHeadConfigurationFilePath DCD cfstr_VarTmpJb_cfg ; “/var/tmp/jb_cfg” |
Il semblerait par conséquent que « bh » soit l’abréviation de « BridgeHead » [« tête de pont »], qui est probablement le nom attribué en interne par NSO Group à ce composant de sa boîte à outils.
L’apparition du processus « bh » juste après l’injection réseau effectuée sur le téléphone d’Omar Radi s’inscrit dans la logique de la finalité manifeste du module BridgeHead. Ce processus vient finaliser l’exploitation du navigateur, ancrer l’appareil et ouvrir la voie à son infection par l’ensemble de la suite Pegasus.
2.1 Autres processus suspects consécutifs à BridgeHead
Le processus bh est apparu pour la première fois sur le portable d’Omar Radi le 11 février 2019, 10 secondes après la création d’un fichier IndexedDB par le serveur d’installation de Pegasus et l’enregistrement par Safari d’une entrée favicon. À peu près au même moment, le fichier com.apple.CrashReporter.plist file a été inscrit dans /private/var/root/Library/Preferences/, probablement pour désactiver l’envoi à Apple de rapports d’erreur. À ce stade, cette chaîne d’exploit avait obtenu les droits d’administrateur.
Moins d’une minute plus tard apparaît pour la première fois un processus baptisé « roleaboutd ».
Date (TU) |
Événement |
2019-02-11 14:45:45 |
Enregistrement IndexedDB pour l’URL https_d9z3sz93x5ueidq3.get1tn0w.free247downloads.com_30897/ |
2019-02-11 14:45:53 |
Enregistrement d’une favicon sous Safari pour l’URL hxxps//d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YP |
2019-02-11 14:45:54 |
Désactivation du rapport d’erreurs par inscription de com.apple.CrashReporter.plist |
2019-02-11 14:45:56 |
Processus : bh |
2019-02-11 14:46:23 |
Processus : roleaboutd (premier) |
2019-02-11 17:05:24 |
Processus : roleaboutd (dernier) |
Le portable d’Omar Radi a de nouveau été exploité le 13 septembre 2019. Un processus « bh » a de nouveau démarré peu après. À peu près au même moment, le fichier com.apple.softwareupdateservicesd.plist a été modifié. Un processus « msgacntd » a également été lancé.
Date (TU) |
Événement |
2019-09-13 17:01:38 |
Enregistrement d’une favicon sous Safari pour l’URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse |
2019-09-13 17:02:11 |
Processus : bh |
2019-09-13 17:02:33 |
Processus : msgacntd (premier) |
2019-09-13 17:02:35 |
Modification de fichier : com.apple.softwareupdateservicesd.plist |
2019-09-14 20:51:54 |
Processus : msgacntd (dernier) |
Au vu de la chronologie et du contexte de l’exploitation, Amnesty International estime que les processus roleaboutd et msgacntd constituent une étape avancée du logiciel espion Pegasus téléchargée après une exploitation réussie et une escalade de privilèges réalisées grâce à la charge utile de BridgeHead.
De même, l’analyse technique du téléphone de Maati Monjib révèle l’exécution d’autres processus suspects, qui viennent s’ajouter à bh. Deux processus, l’un baptisé pcsd, l’autre fmld, sont apparus en 2018 :
Première occurrence |
Dernière occurrence |
Nom du processus |
WWAN ENTRANT |
WWAN SORTANT |
Code du processus |
2018-05-04 23:30:45 |
2018-05-04 23:30:45 |
pcsd |
12305.0 |
10173.0 |
14946 |
2018-05-21 23:46:06 |
2018-06-4 13:05:43 |
fmld |
0.0 |
188326.0 |
21207 |
Amnesty International a vérifié qu’aucun fichier binaire portant ces noms n’avait été diffusé dans le cadre des versions récentes d’iOS.
La découverte de ces processus sur les portables d’Omar Radi et de Maati Monjib a été déterminante pour la suite des investigations menées par Amnesty International, puisque celles-ci ont permis de mettre en évidence des processus portant les mêmes noms sur des appareils de personnes prises pour cible dans le monde entier.
3. Processus Pegasus consécutifs à une possible exploitation de l’application photo d’Apple
Au cours des investigations d’Amnesty International dans le cadre du Projet Pegasus, nous avons découvert d’autres cas pour lesquels la présence du processus « bh » était attestée sur des appareils infectés via différents vecteurs d’attaque.
Le téléphone d’un avocat français spécialiste des droits humains (NOM DE CODE : FRHRL1) a ainsi été pris pour cible et le processus « bh » a été exécuté quelques secondes après une première utilisation de l’application photo d’iOS (com.apple.mobileslideshow) sur le réseau. À nouveau, après une exploitation réussie, le rapport d’erreur a été désactivé par l’ajout d’un fichier com.apple.CrashReporter.plist sur l’appareil.
2019-10-29 09:04:32 |
Processus : mobileslideshow/com.apple.mobileslideshow (première) |
2019-10-29 09:04:58 |
Processus : bh |
2019-10-29 09:05:08 |
com.apple.CrashReporter.plist déposé |
2019-10-29 09:05:53 |
Processus : mptbd |
Les premières et dernières occurrences d’activité réseau concernant l’application photo d’iOS ont été enregistrées le 18 décembre 2019, là encore juste avant l’exécution sur l’appareil de processus malveillants.
2019-12-18 08:13:33 |
Processus : mobileslideshow/com.apple.mobileslideshow (dernière) |
2019-12-18 08:13:47 |
Processus : bh |
2019-12-18 11:50:15 |
Processus : ckeblld |
Dans un autre cas, nous avons détecté en mai 2020 un enchaînement similaire impliquant les processus « mobileslideshow » et « bh » sur l’iPhone d’un journaliste français (NOM DE CODE : FRJRN1) :
2020-05-24 15:44:21 |
Processus : mobileslideshow/com.apple.mobileslideshow (première) |
2020-05-24 15:44:39 |
Processus : bh |
2020-05-24 15:46:51 |
Processus : fservernetd |
… | |
2020-05-27 16:58:31 |
Processus : mobileslideshow/com.apple.mobileslideshow (dernière) |
2020-05-27 16:58:52 |
Processus : bh |
2020-05-27 18:00:50 |
Processus : ckkeyrollfd |
Amnesty International n’a pas été en mesure de repérer les charges utiles concernant cette exploitation, mais suppose que l’application photo d’iOS ou le service Photostream ont été utilisés en tant que maillon d’une chaîne d’exploit visant à déployer Pegasus. Les applications ont peut-être été elles-mêmes exploitées ou leurs fonctionnalités ont peut-être été détournées pour déposer un JavaScript ou un exploit navigateur plus classiques sur l’appareil.
Comme on peut le voir dans les tableaux ci-dessus, d’autres noms de processus, tels que mptbd, ckeblld, fservernetd, et ckkeyrollfd apparaissent juste après bh. Comme pour fmld et pcsd, Amnesty International pense qu’il s’agit de charges utiles supplémentaires téléchargées et exécutées après infection. Au fil de nos investigations, nous avons identifié des dizaines de noms de processus malveillants impliqués dans des infections par Pegasus.
Amnesty International a en outre pu constater que le même compte iCloud bogaardlisa803[@]gmail.com était lié au service « com.apple.private.alloy.photostream » sur les deux appareils. Dans bon nombre de cas d’appareils infectés récemment examinés par Amnesty International, la création de comptes iCloud dédiés semble être un élément clé de l’envoi de nombreux vecteurs d’attaque « zéro clic ».
4. Large utilisation en 2019 d’un iMessage « zéro clic » jour zéro
Les messages SMS contenant des liens malveillants ont constitué la tactique de prédilection des clients de NSO Group entre 2016 et 2018, mais cette méthode semble être de moins en moins souvent utilisée ces dernières années. La découverte d’attaques par injection réseau au Maroc a mis en évidence un changement de tactique de la part des agresseurs. L’injection réseau est un vecteur d’attaque efficace et rentable pour un usage au niveau national dans des pays où les autorités exercent un contrôle sur les opérateurs mobiles. Cette technique ne fonctionne certes que sur les réseaux nationaux, mais les attaques de cibles étrangères ou de personnes appartenant à des diasporas ont elles aussi évolué.
À partir de 2019, un nombre croissant de vulnérabilités d’iOS ont commencé à être corrigées, notamment sur iMessage et FaceTime, découvertes par des chercheurs et chercheuses ou grâce à des prestataires de cybersécurité signalant des exploits auxquels ils ont été confrontés.
Amnesty International a par conséquent élargi sa méthodologie technique à la collecte de toutes les traces pertinentes éventuellement laissées par iMessage et FaceTime. iOS enregistre les identifiants Apple rencontrés par chaque application installée dans un fichier plist situé à l’emplacement suivant : /private/var/mobile/Library/Preferences/com.apple.identityservices.idstatuscache.plist. Ce fichier est aussi disponible généralement dans le dossier normal de sauvegarde d’iTunes. Il peut donc être facilement extrait sans avoir à passer par un jailbreak.
Ces archives ont joué un rôle déterminant dans la suite de notre enquête. Dans de nombreux cas, nous avons découvert ce qui semblait être des processus Pegasus exécutés sur des appareils immédiatement après une consultation suspecte de la part de comptes iMessage. L’historique suivant a notamment été extrait du téléphone d’un journaliste français (NOM DE CODE : FRJRN2) :
2019-08-16 12:08:44 |
Consultation de [email protected] par com.apple.madrid (iMessage) |
2019-08-16 12:33:52 |
Consultation de bergers.o79@gmail\x00\x00com par com.apple.madrid (iMessage) |
2019-08-16 12:37:55 |
Le fichier Library/Preferences/com.apple.CrashReporter.plist est créé dans RootDomain |
2019-08-16 12:41:25 |
Le fichier Library/Preferences/roleaccountd.plist est créé dans RootDomain |
2019-08-16 12:41:36 |
Processus : roleaccountd |
2019-08-16 12:41:52 |
Processus : stagingd |
2019-08-16 12:49:21 |
Processus : aggregatenotd |
L’analyse technique menée par Amnesty International sur plusieurs appareils a permis de mettre en évidence des suites d’événements analogues. Très souvent, on voit réapparaître le même compte iMessage sur plusieurs appareils visés, ce qui pourrait indiquer qu’ils ont tous été attaqués par le même opérateur. De plus, les processus roleaccountd et stagingd apparaissent de façon récurrente, parallèlement à d’autres.
L’iPhone d’un journaliste hongrois (NOM DE CODE : HUJRN1) contenait par exemple dans son historique les événements suivants :
2019-09-24 13:26:15 |
Consultation de [email protected] par com.apple.madrid (iMessage) |
2019-09-24 13:26:51 |
Consultation de [email protected] par com.apple.madrid (iMessage) |
2019-09-24 13:32:10 |
Processus : roleaccountd |
2019-09-24 13:32:13 |
Processus : stagingd |
Dans ce cas précis, les premiers processus suspects impliquant un certain niveau d’activité réseau ont été enregistrés cinq minutes après la première consultation. Le fichier com.apple.CrashReporter.plist, déjà présent sur l’appareil à la suite d’une première infection réussie, n’a pas été réintroduit.
L’iPhone d’un autre journaliste hongrois (NOM DE CODE : HUJRN2) contenait les mêmes indications de consultation des mêmes comptes iMessage, ainsi que de nombreux autres processus venant s’ajouter à roleaccountd et à stagingd :
2019-07-15 12:01:37 |
Consultation de mailto:e\x00\x00[email protected] par com.apple.madrid (iMessage) |
2019-07-15 14:21:40 |
Processus : accountpfd |
2019-08-29 10:57:43 |
Processus : roleaccountd |
2019-08-29 10:57:44 |
Processus : stagingd |
2019-08-29 10:58:35 |
Processus : launchrexd |
2019-09-03 07:54:26 |
Processus : roleaccountd |
2019-09-03 07:54:28 |
Processus : stagingd |
2019-09-03 07:54:51 |
Processus : seraccountd |
2019-09-05 13:26:38 |
Processus : seraccountd |
2019-09-05 13:26:55 |
Processus : misbrigd |
2019-09-10 06:09:04 |
Consultation de [email protected] par com.apple.madrid (iMessage) |
2019-09-10 06:09:47 |
Consultation de [email protected] par com.apple.madrid (iMessage) |
2019-10-30 14:09:51 |
Processus : nehelprd |
Il est intéressant de noter que, dans les indices relevés depuis 2019 par Amnesty International, les consultations de iMessage précédant immédiatement l’exécution des processus suspects comportent souvent deux octets de padding de 0x00 au niveau de l’adresse électronique enregistrée par le fichier cache d’état des identifiants.
5. Utilisation d’Apple Music pour implanter Pegasus en 2020
Au milieu de l’année 2021, Amnesty International a détecté un autre cas, celui d’un journaliste d’investigation azerbaïdjanais de renom (NOM DE CODE : AZJRN1) qui avait été la cible à plusieurs reprises depuis 2019 d’attaques « zéro clic » de Pegasus.
Nous avons une fois de plus trouvé sur son portable le même type de traces techniques laissées après une première exploitation réussie et apparaissant dans les données enregistrées :
2019-03-28 07:43:14 |
Fichier : Library/Preferences/com.apple.CrashReporter.plist depuis RootDomain |
2019-03-28 07:44:03 |
Fichier : Library/Preferences/roleaccountd.plist depuis RootDomain |
2019-03-28 07:44:14 |
Processus : roleaccountd |
2019-03-28 07:44:14 |
Processus : stagingd |
Il est intéressant de noter que nous avons trouvé des indices d’une nouvelle technique d’infection d’iOS utilisée pour infecter cet appareil. Une infection réussie a ainsi eu lieu le 10 juillet 2020 :
2020-07-06 05:22:21 |
Consultation de f\x00\[email protected] par iMessage (com.apple.madrid) |
2020-07-10 14:12:09 |
Demande de Pegasus via l’application Apple Music : https://x1znqjo0x8b8j.php78mp9v.opposedarrangement[.]net:37271/afAVt89Wq/stadium/pop2.html?key=501_4&n=7 |
2020-07-10 14:12:21 |
Processus : roleaccountd |
2020-07-10 14:12:53 |
Processus : stagingd |
2020-07-13 05:05:17 |
Demande de Pegasus via l’application Apple Music : php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7 |
Peu avant le lancement de Pegasus sur l’appareil, nous avons relevé dans les données enregistrées une activité réseau pour le service Apple Music. Les requêtes HTTP ont été récupérées depuis un fichier cache réseau situé dans /private/var/mobile/Containers/Data/Application/D6A69566-55F7-4757-96DE-EBA612685272/Library/Caches/com.apple.Music/Cache.db, que nous avons obtenu via un jailbreak de l’appareil.
Amnesty International ne peut pas déterminer par analyse si Apple Music a été utilisé en soi pour procéder à la première infection ou si l’application a en fait été détournée dans le cadre d’une sortie de l’environnement de bac à sable (sandbox) et d’une attaque d’élévation des privilèges. De récents travaux de recherche ont montré que les applications intégrées telles que iTunes Store pouvaient se prêter à un détournement pour réaliser un exploit de navigateur en échappant aux restrictions de l’environnement de bac à sable de l’application Safari.
Le plus important est cependant que la requête HTTP réalisée par l’application Apple Music est adressée au domaine opposedarrangement[.]net, que nous avions précédemment identifié comme appartenant à l’infrastructure réseau du logiciel Pegasus de NSO Group. Ce domaine correspond à une empreinte bien précise que nous avons relevée en réalisant des scans de l’ensemble d’Internet à la suite de la découverte d’attaques par injection réseau au Maroc (voir section 9).
Ces URL présentent par ailleurs des caractéristiques particulières typiques d’autres URL dont l’implication dans des attaques de Pegasus était avérée depuis plusieurs années. C’est ce que nous expliquons dans la partie suivante du présent document.
6. Megalodon : le retour des iMessage « zéro clic » jour zéro en 2021
L’analyse menée par Amnesty International sur plusieurs appareils révèle des traces d’attaques similaires à celles observées en 2019. Les attaques de ce type les plus récentes ont eu lieu en juillet 2021. Amnesty International estime que Pegasus est actuellement injecté par des exploits « zéro clic » qui, à l’heure où nous rédigeons ces lignes (juillet 2021), restent opérationnels y compris avec la dernière version disponible d’iOS.
Nous avons ainsi observé sur l’iPhone d’un avocat français spécialiste des droits humains (NOM DE CODE : FRHRL2) la consultation d’un compte iMessage suspect inconnu de la victime, suivie par une requête HTTP effectuée via le processus com.apple.coretelephony. Il s’agit d’un composant d’iOS intervenant dans toutes les tâches ayant trait à la téléphonie. Il figure probablement parmi ceux qui ont été exploités lors de cette attaque. Nous avons trouvé des traces de cette requête HTTP dans un fichier caché stocké sur le disque dans /private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db et contenant des métadonnées concernant cette requête et la réponse apportée. Le téléphone a envoyé des informations concernant l’appareil, notamment le modèle, 9,1 (iPhone 7) et le numéro de série iOS 18C66 (version 14.3) à un service sous bannière Amazon CloudFront, ce qui indiquerait que NSO Group aurait décidé depuis quelques mois d’utiliser les services AWS. Au moment de cette attaque, la version d’iOS 14.4, plus récente, n’était commercialisée que depuis quelques semaines.
Date (TU) |
Événement |
2021-02-08 10:42:40 |
Consultation de [email protected] par iMessage (com.apple.madrid) |
2021-02-08 11:27:10 |
com.apple.coretelephony adresse une requête HTTP à https://d38j2563clgblt.cloudfront[.]net/fV2GsPXgW//stadium/megalodon?m=iPhone9,1&v=18C66 |
2021-02-08 11:27:21 |
Processus : gatekeeperd |
2021-02-08 11:27:22 |
gatekeeperd adresse une requête HTTP à https://d38j2563clgblt.cloudfront.net/fV2GsPXgW//stadium/wizard/01-00000000 |
2021-02-08 11:27:23 |
Processus : gatekeeperd |
Le fichier Cache.db destiné à com.apple.coretelephony contient des détails concernant la réponse HTTP, qui a manifestement consisté en un téléchargement d’environ 250 ko de données binaires. Nous avons effectivement trouvé le fichier binaire dans le sous-dossier fsCachedData mais il était malheureusement chiffré. Amnesty International estime qu’il s’agit de la charge utile lancée en tant que gatekeeperd.
Amnesty International a par la suite analysé l’iPhone d’un journaliste (NOM DE CODE : MOJRN1), qui contenait des informations enregistrées très semblables. Cet appareil avait été exploité à de nombreuses reprises entre février et avril 2021, sous les différentes versions d’iOS. La tentative la plus récente a laissé les indices d’infection suivants :
Date (TU) |
Événement |
2021-04-02 10:15:38 |
Consultation de [email protected] par iMessage (com.apple.madrid) |
2021-04-02 10:36:00 |
com.apple.coretelephony envoie une requête HTTP à https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/megalodon?m=iPhone8,1&v=18D52&u=[REDACTED] |
2021-04-02 10:36:08 |
Le processus PDPDialogs envoie une requête HTTP à https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjuk |
2021-04-02 10:36:16 |
Le processus PDPDialogs envoie une requête HTTP à https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/01-00000000 |
2021-04-02 10:36:16 |
com.apple.coretelephony adresse une requête HTTP à https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/cszjcft=frzaslm |
2021-04-02 10:36:35 |
Processus : gatekeeperd |
2021-04-02 10:36:45 |
Processus : rolexd |
On constate donc que le même compte iMessage déjà impliqué dans le cas précédent participe de nouveau à une exploitation et à une infection, à plusieurs mois d’écart. Le même site CloudFront a été contacté par com.apple.coretelephony et les processus supplémentaires ont exécuté, téléchargé et lancé d’autres composants malveillants.
La vérification initiale indique que l’iPhone 6s infecté était sous iOS 14.4 (numéro de série 18D52) au moment de l’attaque. Les versions 14.4.1 et 14.4.2 étaient déjà disponibles à l’époque, mais elles ne réglaient que les vulnérabilités présentes dans le WebKit. On peut donc raisonnablement supposer que la faille utilisée dans ces attaques via iMessage a été exploitée comme une vulnérabilité du jour zéro.
Il convient de noter la présence, parmi les nombreux autres noms de processus malveillants dont l’exécution a été relevée sur ce téléphone, de msgacntd, que nous avions déjà trouvé sur le portable d’Omar Radi en 2019 (voir plus haut).
Soulignons également qu’une certaine constante se dégage des URL dont l’utilisation dans des attaques a pu être observée au cours des trois dernières années, ce qui tend à confirmer l’opinion d’Amnesty International, selon laquelle ces trois URL font en fait toutes partie de l’infrastructure d’attaque des clients de Pegasus. L’attaque via Apple Music de 2020 présente la même structure de domaine de quatrième niveau et le même numéro de port élevé et non normatif que l’attaque par injection réseau de 2019. Tant free247downloads[.]com que opposedarrangements[.]net correspond à l’empreinte de domaine Pegasus V4 que nous avons établie.
Qui plus est, l’URL d’attaque via Apple Music et les URL d’attaque Megalodon de 2021 suivent un même modèle bien caractéristique. Dans un cas comme dans l’autre, le chemin de l’URL commence par un identifiant aléatoire lié à la tentative d’attaque, suivi par le mot « stadium ».
Attaque |
URL |
Injection réseau (2019) |
https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse |
Attaque Apple Music (2020) |
https://4n3d9ca2st.php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7 |
iMessage « zéro clic » (2021) |
https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjuk |
Amnesty International a fait part de ces informations à Amazon, qui a indiqué avoir « rapidement pris des dispositions pour fermer l’infrastructure et les comptes impliqués ».[2]
L’iPhone 11 d’un militant français des droits humains (NOM DE CODE : FRHRD1) présentait également une consultation iMessage pour le compte linakeller2203[@]gmail.com en date du 11 juin 2021, suivie de plusieurs processus malveillants. Ce portable était équipé d’iOS 14.4.2 et est passé à la version 14.6 le lendemain.
Tout récemment, Amnesty International a détecté des éléments prouvant que l’iPhone XR d’un journaliste indien (NOM DE CODE : INJRN1) sous iOS 14.6 (dernière version disponible à l’heure où nous écrivons ces lignes) avait été infecté le 16 juin 2021. Enfin, Amnesty International a confirmé le 24 juin 2021 l’infection active de l’iPhone X (également sous iOS 14.6) d’un militant (NOM DE CODE : RWHRD1). Nous n’avons pas été en mesure d’extraire par jailbreak les informations consignées dans les bases de données Cache.db de ces deux appareils, mais les données de diagnostic supplémentaires obtenues sur ces derniers font apparaître de nombreuses notifications push précédant immédiatement l’exécution des processus de Pegasus.
L’appareil d’un militant rwandais (NOM DE CODE : RWHRD1) présente des indices de plusieurs infections « zéro clic », en mai et en juin 2021. Prenons par exemple l’attaque en date du 17 mai 2021. Un compte iMessage inconnu est enregistré et, dans les minutes qui suivent, au moins 20 segments de pièces jointes iMessage sont créés sur le disque.
Date (TU) |
Événement |
2021-05-17 13:39:16 |
Consultation pour compte iCloud benjiburns8[@]gmail.com (iMessage) |
2021-05-17 13:40:12 |
Fichier : /private/var/mobile/Library/SMS/Attachments/dc/12/DEAE6789-0AC4-41A9-A91C-5A9086E406A5/.eBDOuIN1wq.gif-2hN9 |
2021-05-17 13:40:21 |
Fichier : /private/var/mobile/Library/SMS/Attachments/41/01/D146B32E-CA53-41C5-BF61-55E0FA6F5FF3/.TJi3fIbHYN.gif-bMJq |
… |
… |
2021-05-17 13:44:19 |
Fichier : /private/var/mobile/Library/SMS/Attachments/42/02/45F922B7-E819-4B88-B79A-0FEE289701EE/.v74ViRNkCG.gif-V678 |
Amnesty International n’a pas trouvé d’élément prouvant que l’attaque du 17 mai avait réussi. Les attaques suivantes, en date des 18 et 23 juin, ont atteint leur but et ont permis à Pegasus de déployer ses charges utiles dans l’appareil.
De nombreuses notifications push iMessage (com.apple.madrid) ont été reçues dans un premier temps, et des segments de pièces jointes ont été placés sur le disque. Le tableau suivant donne un échantillon des 48 fichiers en pièce jointe retrouvés dans le système de fichiers.
Date (TU) |
Événement |
2021-06-23 20:45:00 |
8 notifications push pour le topic com.apple.madrid (iMessage) |
2021-06-23 20:46:00 |
46 notifications push pour le topic com.apple.madrid (iMessage) |
2021-06-23 20:46:19 |
Fichier : /private/var/tmp/com.apple.messages/F803EEC3-AB3A-4DC2-A5F1-9E39D7A509BB/.cs/ChunkStoreDatabase |
2021-06-23 20:46:20 |
Fichier : /private/var/mobile/Library/SMS/Attachments/77/07/4DFA8939-EE64-4CB5-A111-B75733F603A2/.8HfhwBP5qJ.gif-u0zD |
… |
… |
2021-06-23 20:53:00 |
17 notifications push pour le topic com.apple.madrid (iMessage) |
2021-06-23 20:53:54 |
Fichier : /private/var/tmp/com.apple.messages/50439EF9-750C-4449-B7FC-851F28BD3BD3/.cs/ChunkStoreDatabase |
2021-06-23 20:53:54 |
Fichier : /private/var/mobile/Library/SMS/Attachments/36/06/AA10C840-1776-4A51-A547-BE78A3754773/.7bb9OMWUa8.gif-UAPo |
2021-06-23 20:54:00 |
54 notifications push pour le topic com.apple.madrid (iMessage) |
Une erreur de processus s’est produite à 20:48:56, engendrant le démarrage du processus ReportCrash, suivi par des redémarrages de plusieurs processus liés au fonctionnement d’iMessage :
Date (TU) |
Événement |
2021-06-23 20:48:56 |
Processus dont le code est 1192 et le nom ReportCrash |
2021-06-23 20:48:56 |
Processus dont le code est 1190 et le nom IMTransferAgent |
2021-06-23 20:48:56 |
Processus dont le code est 1153 et le nom SCHelper |
2021-06-23 20:48:56 |
Processus dont le code est 1151 et le nom CategoriesService |
2021-06-23 20:48:56 |
Processus dont le code est 1147 et le nom MessagesBlastDoorService |
2021-06-23 20:48:56 |
Processus dont le code est PID 1145 et le nom NotificationService |
Une seconde série d’erreurs et de redémarrages s’est produite cinq minutes plus tard. Le processus ReportCrash a été lancé, ainsi que des processus concernant l’analyse du contenu et des avatars personnalisés d’iMessage.
Date (TU) |
Événement |
2021-06-23 20:54:16 |
Processus dont le code est 1280 et le nom ReportCrash |
2021-06-23 20:54:16 |
Processus dont le code est 1278 et le nom IMTransferAgent |
2021-06-23 20:54:16 |
Processus dont le code est PID 1266 et le nom com.apple.WebKit.WebContent |
2021-06-23 20:54:16 |
Processus dont le code est 1263 et le nom com.apple.accessibility.mediaac |
2021-06-23 20:54:16 |
Processus dont le code est 1262 et le nom CategoriesService |
2021-06-23 20:54:16 |
Processus dont le code est 1261 et le nom com.apple.WebKit.Networking |
2021-06-23 20:54:16 |
Processus dont le code est 1239 et le nom avatarsd |
Peu après, à 20:54, l’exploitation a abouti et nous observons qu’une requête réseau a été faite par le processus com.apple.coretelephony, entraînant une modification du fichier Cache.db. Cela correspond au comportement constaté par Amnesty International lors des autres attaques « zéro clic » de Pegasus détectées en 2021.
Date (TU) |
Événement |
2021-06-23 20:54:35 |
Fichier : /private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db-shm |
2021-06-23 20:54:35 |
Fichier : /private/var/wireless/Library/Caches/com.apple.coretelephony/fsCachedData/3C73213F-73E5-4429-AAD9-0D7AD9AE83D1 |
2021-06-23 20:54:47 |
Fichier : /private/var/root/Library/Caches/appccntd/Cache.db |
2021-06-23 20:54:53 |
Fichier : /private/var/tmp/XtYaXXY |
2021-06-23 20:55:08 |
Fichier : /private/var/tmp/CFNetworkDownload_JQeZFF.tmp |
2021-06-23 20:55:09 |
Fichier : /private/var/tmp/PWg6ueAldsvV8vZ8CYpkp53D |
2021-06-23 20:55:10 |
Fichier : /private/var/db/com.apple.xpc.roleaccountd.staging/otpgrefd |
2021-06-23 20:55:10 |
Fichier : /private/var/tmp/vditcfwheovjf/kk |
2021-06-23 20:59:35 |
Processus : appccntd |
2021-06-23 20:59:35 |
Processus : otpgrefd |
Enfin, l’analyse de l’iPhone 12 sous iOS 14.6, doté de tous les correctifs disponibles, d’un journaliste indien (NOM DE CODE : INJRN2) a également révélé des indices d’infection. Les découvertes faites ces derniers temps indiquent que les clients de NSO Group sont aujourd’hui capables d’infecter à distance l’ensemble des modèles récents d’iPhone et des versions d’iOS.
Nous avons signalé ce fait à Apple, qui nous a répondu que ses services se penchaient actuellement sur ce problème.[3]
7. Tentatives inabouties de dissimulation des indices d’infection
L’analyse de plusieurs iPhones examinés par Amnesty International montre que Pegasus a récemment commencé à manipuler les bases de données et les registres des systèmes afin de dissimuler les traces de son passage et d’entraver ainsi le travail d’enquêteurs comme Amnesty International.
Or, cette manipulation devient manifeste lorsque l’on vérifie la cohérence des archives restantes dans les bases de données SQLite DataUsage.sqlite et netusage.sqlite. Pegasus efface les noms des processus malveillants du tableau ZPROCESS de la base de données DataUsage, mais pas les entrées correspondantes figurant dans le tableau ZLIVEUSAGE. Les archives contenues dans le tableau ZPROCESS sont présentées sous forme de lignes donnant les identifiants et les noms des processus. Le tableau ZLIVEUSAGE comporte une ligne pour chaque processus en cours, avec notamment le volume de données transférées et l’identifiant du processus correspondant à l’entrée dans ZPROCESS. Ces incohérences peuvent permettre de déterminer à quel moment une infection a pu avoir lieu. D’autres indices d’infection par Pegasus ont été observés sur tous les appareils concernés par cette anomalie. Aucune incohérence similaire n’a été constatée sur un iPhone s’étant avéré intact après analyse par Amnesty International.
Bien que la plupart des archives récentes soient désormais effacées de ces bases de données, des traces d’exécutions récentes de processus peuvent également être détectées à partir des registres de diagnostic du système.
Les informations suivantes ont ainsi été recueillies sur le portable d’un défenseur des droits humains (NOM DE CODE : RWHRD1) :
Date (TU) |
Événement |
2021-01-31 23:59:02 |
Processus : libtouchregd (Code 7354) |
2021-02-21 23:10:09 |
Processus : mptbd (Code 5663) |
2021-02-21 23:10:09 |
Processus : launchrexd (Code 4634) |
2021-03-21 06:06:45 |
Processus : roleaboutd (Code 12645) |
2021-03-28 00:36:43 |
Processus : otpgrefd (Code 2786) |
2021-04-06 21:29:56 |
Processus : locserviced (Code 5492) |
2021-04-23 01:48:56 |
Processus : eventfssd (Code 4276) |
2021-04-23 23:01:44 |
Processus : aggregatenotd (Code 1900) |
2021-04-28 16:08:40 |
Processus : xpccfd (Code 1218) |
2021-06-14 00:17:12 |
Processus : faskeepd (Code 4427) |
2021-06-14 00:17:12 |
Processus : lobbrogd (Code 4426) |
2021-06-14 00:17:12 |
Processus : neagentd (Code 4423) |
2021-06-14 00:17:12 |
Processus : com.apple.rapports.events (Code 4421) |
2021-06-18 08:13:35 |
Processus : faskeepd (Code 4427) |
2021-06-18 15:31:12 |
Processus : launchrexd (Code 1169) |
2021-06-18 15:31:12 |
Processus : frtipd (Code 1168) |
2021-06-18 15:31:12 |
Processus : ReminderIntentsUIExtension (Code 1165) |
2021-06-23 14:31:39 |
Processus : launchrexd (Code 1169) |
2021-06-23 20:59:35 |
Processus : otpgrefd (Code 1301) |
2021-06-23 20:59:35 |
Processus : launchafd (Code 1300) |
2021-06-23 20:59:35 |
Processus : vm_stats (Code 1294) |
2021-06-24 12:24:29 |
Processus : otpgrefd (Code 1301) |
Les fichiers d’archives du système révèlent également l’emplacement des fichiers binaires Pegasus sur le disque. Les noms de ces fichiers correspondent à ceux que nous avons observés dans l’ensemble des registres d’exécution de processus présentés précédemment. Les fichiers binaires se trouvent dans le dossier /private/var/db/com.apple.xpc.roleaccountd.staging/, ce qui confirme les conclusions publiées par Citizen Lab dans son rapport de décembre 2020.
/private/var/db/com.apple.xpc.roleaccountd.staging/launchrexd/EACA3532-7D15-32EE-A88A-96989F9F558A |
Les investigations d’Amnesty International, corroborées par des renseignements secondaires reçus par l’organisation, semblent indiquer que Pegasus ne maintient plus sa présence sur les appareils iOS. Les charges utiles binaires associées à ces processus ne sont donc plus récupérables dans la mémoire non volatile. Il faudrait donc pouvoir procéder à un jailbreak sur l’appareil, sans le réinitialiser et essayer d’extraire les charges utiles de la mémoire.
8. Processus Pegasus présentés comme des services système d’iOS
On retrouve le même ensemble de noms de processus malveillants sur tous les téléphones analysés par Amnesty International et dont l’infection est avérée. Si certains processus, comme bh par exemple, sont apparemment caractéristiques d’un vecteur d’attaque particulier, la plupart des noms de processus Pegasus semblent simplement vouloir imiter ceux de processus système légitimes d’iOS, afin, peut-être, de tromper les personnes qui seraient tentées d’inspecter les données archivées.
Plusieurs de ces noms de processus cherchent à imiter les noms de fichiers binaires légitimes d’iOS :
La liste des noms de processus que nous avons pu associer à des infections par Pegasus est disponible sur notre page GitHub, avec tous les autres indices permettant de dire qu’un appareil a été pris pour cible.
Nom du processus Pegasus |
Fichier binaire iOS copié |
ABSCarryLog |
ASPCarryLog |
aggregatenotd |
aggregated |
ckkeyrollfd |
ckkeyrolld |
com.apple.Mappit.SnapshotService |
com.apple.MapKit.SnapshotService |
com.apple.rapports.events |
com.apple.rapport.events |
CommsCenterRootHelper |
CommCenterRootHelper |
Diagnostic-2543 |
Diagnostic-2532 |
Diagnosticd | Diagnostics |
eventsfssd |
fseventsd |
fmld |
fmfd |
JarvisPluginMgr |
JarvisPlugin |
launchafd |
launchd |
MobileSMSd |
MobileSMS |
nehelprd |
nehelper |
pcsd |
com.apple.pcs |
PDPDialogs | PPPDialogs |
ReminderIntentsUIExtension |
RemindersIntentsUIExtension |
rlaccountd |
xpcroleaccountd |
roleaccountd |
xpcroleaccountd |
9. L’infrastructure d’attaque de Pegasus révélée : un travail de plusieurs années
L’ensemble de noms de domaines, de serveurs et d’éléments d’infrastructure utilisé pour déposer et recueillir des données via le logiciel espion Pegasus de NSO Group a changé à plusieurs reprises depuis qu’il a été révélé pour la première fois par Citizen Lab, en 2016.
En août 2018, Amnesty International a publié un rapport intitulé Amnesty International Among Targets of NSO-powered Campaign, qui dénonçait les attaques menées contre un défenseur des droits humains saoudien, membre du personnel de notre organisation. Dans ce document, Amnesty International citait quelques-uns des plus de 600 noms de domaine liés à l’infrastructure d’attaque de NSO Group. La liste complète de ces domaines a été publiée en octobre 2018. Dans le cadre du présent rapport, ces domaines constituent ce que nous appelons la Version 3 (V3) du réseau Pegasus.
Cette infrastructure de Version 3 utilisait un réseau de serveurs virtuels privés et de serveurs dédiés. Chaque serveur d’installation de Pegasus et chaque serveur de commande et de contrôle (C&C) hébergeait un serveur web sur le port 443, doté d’un domaine unique et d’un certificat TLS. Ces serveurs de périphérie servaient d’intermédiaires redirigeant vers une série de serveurs, désignés par NSO Group sous l’appellation « Pegasus Anonymizing Transmission Network » (PATN, réseau de transmission anonymisant de Pegasus).
Il a été possible de créer une paire d’empreintes pour l’ensemble spécifique de suites de chiffrement TLS hébergées par ces serveurs. La technique de l’empreinte est conceptuellement analogue à la technique de l’empreinte JA3S publiée par Salesforce en 2019. À partir de cette empreinte, le Security Lab d’Amnesty International a réalisé pendant l’été 2018 des scans de l’ensemble d’Internet, afin de repérer les serveurs d’installation/infection et de C&C actifs relevant de Pegasus.
NSO Group a commis un certain nombre d’erreurs opérationnelles critiques lors de la mise en place de son infrastructure de Version 3. Deux domaines de la Version 2 précédente ont été réutilisés dans la nouvelle configuration. Ces deux domaines de la Version 2, pine-sales[.]com et ecommerce-ads[.]org, avaient été identifiés par Citizen Lab. Ces erreurs ont permis à Amnesty International de faire le lien entre l’attaque menée contre son collaborateur et le logiciel Pegasus de NSO Group. Ce lien a été confirmé de façon indépendante par Citizen Lab dans un rapport de 2018.
Peu après la publication des rapports d’Amnesty International et de Citizen Lab, le 1er août 2018, NSO Group a fermé bon nombre des serveurs de sa Version 3.
9.1 Autres tentatives de NSO Group visant à masquer son infrastructure
En août 2019, Amnesty International a identifié un autre cas d’utilisation des outils de NSO Group contre un défenseur des droits humains, cette fois au Maroc. Maati Monjib avait reçu des SMS contenant des liens typiques de la Version 3 de Pegasus.
Amnesty International a réalisé une analyse technique de son iPhone (voir plus haut). Cette analyse a révélé des redirections vers un nouveau nom de domaine, free247downloads.com. Ces liens ressemblaient étrangement à ceux qu’avait utilisé par le passé NSO pour placer son logiciel espion.
Amnesty International a pu confirmer que ce domaine était lié à la société NSO Group, en repérant la présence sur l’appareil analysé d’artefacts spécifiques à Pegasus et déposés peu après l’ouverture de l’URL d’infection. Forts de ce nouveau nom de domaine, nous avons pu commencer à cartographier la configuration de l’infrastructure de la Version 4 (V4) de Pegasus.
NSO Group a revu son infrastructure, en introduisant de nouvelles couches, ce qui compliquait le travail d’analyse. Nous avons néanmoins réussi à détecter au moins quatre serveurs intervenant dans chaque chaîne d’infection.
Domaine de validation : https://baramije[.]net/[ALPHANUMERIC STRING] |
Domaine d’exploit : https://[REDACTED].info8fvhgl3.urlpush[.]net:30827/[SAME ALPHANUMERIC STRING] |
- Un serveur de validation : la première étape était constituée d’un site hébergé par des hébergeurs mutualisés. Ce site proposait fréquemment une application PHP ou un CMS aléatoire et parfois obscur. Amnesty International pense que l’idée était de rendre les domaines moins facilement identifiables.
Le serveur de validation vérifiait la requête entrante. Si la requête avait une URL valide et encore active, le serveur de validation redirigeait la victime vers le domaine récemment créé du serveur d’exploit. Si l’URL ou l’appareil n’était pas valide, il le redirigeait vers un site leurre légitime. Un visiteur de passage ou un robot d’indexation ne voyait que le CMS PHP faisant office de leurre. - Serveur DNS d’infection : NSO semble utiliser actuellement un sous-domaine unique propre à chaque tentative d’exploit. Chaque sous-domaine est généré et actif pendant un laps de temps court. Cela empêche les chercheurs et chercheuses de localiser le serveur d’exploit en se basant sur l’historique de l’appareil analysé.
Pour résoudre ces sous-domaines de façon dynamique, NSO Group a mis en place, pour chaque domaine d’infection, un serveur DNS personnalisé sous un sous-domaine. NSO a également obtenu un certificat wildcard TLS valide pour chacun des sous-domaines générés, tel que *.info8fvhgl3.urlpush[.]net ou *.get1tn0w.free247downloads[.]com. - Serveur d’installation de Pegasus : pour envoyer l’infection proprement dite, NSO Group a besoin d’avoir un serveur quelque part sur Internet. Là encore, NSO Group a pris des mesures pour échapper aux scans d’Internet en plaçant son serveur sur un port aléatoire doté d’un numéro élevé.
Nous supposons que chaque serveur web d’infection fait partie du « Pegasus Anonymizing Transmission Network » de nouvelle génération. Les connexions au serveur d’infection sont probablement relayées vers l’infrastructure Pegasus du client. - Serveur « commande et contrôle »:dans les générations précédentes de son PATN, NSO Group se servait de domaines distincts pour l’infection initiale et la communication ultérieure avec le logiciel espion. Le rapport iPwn de Citizen Lab a apporté la preuve que Pegasus avait de nouveau recours à des domaines séparés pour la commande et le contrôle. Pour éviter d’être démasqué via le réseau, le logiciel espion Pegasus se connectait directement sur les serveurs C&C Pegasus sans faire de consultation DNS préalable ni envoyer le nom du domaine dans le champ SNI du protocole TLS.
9.2 Identification d’autres domaines d’attaque de NSO
Amnesty International a commencé par analyser la configuration des domaines d’infection et des serveurs DNS utilisés dans les attaques lancées contre des journalistes et des défenseur·e·s des droits humains marocain·e·s.
À partir de la connaissance que nous avions des domaines employés au Maroc, nous avons élaboré une empreinte identifiant 201 domaines d’installation de Pegasus ayant une infrastructure active au moment du scan initial. Parmi ces 201 domaines figuraient urlpush[.]net et free247downloads[.]com.
Amnesty International a identifié 500 domaines supplémentaires par des scans de réseau ultérieurs et en agrégeant des données portant sur l’enregistrement des domaines, la délivrance de certificats TLS et la composition des domaines, et en cohérence avec le premier groupe de 201 domaines.
Amnesty International estime avoir ainsi couvert une bonne partie de la Version 4 de l’infrastructure d’attaque de NSO Group. Nous publions aujourd’hui les noms de ces 700 domaines. Nous recommandons aux organisations de la société civile et du secteur des médias de vérifier leur télémétrie réseau et leurs historiques DSN, pour voir s’ils ne contiennent pas des traces de ces indices d’infection.
9.3 Que peut nous apprendre l’infrastructure de NSO Group ?
Le graphique suivant montre l’évolution de l’infrastructure Pegasus de NSO Group sur une période de quatre années allant de 2016 jusqu’à mi-2021. Une bonne partie de la Version 3 de cette infrastructure a été brusquement fermée en août 2018, après la publication de notre rapport sur les attaques menées contre un collaborateur d’Amnesty International. La Version 4 a ensuite été progressivement mise en place à partir de septembre et octobre 2018.
Un nombre considérable de nouveaux domaines ont été enregistrés en novembre 2019, peu après que WhatsApp eut mis en garde ses usagers contre des attaques présumées du logiciel espion. Cela peut indiquer une rotation des domaines de NSO face à ce que l’entreprise considère comme un risque d’être découvert, ou en raison de perturbations de son infrastructure d’hébergement existante.
L’infrastructure de serveur DNS V4 a commencé à être mise hors ligne début 2021, après la publication du rapport iPwn de Citizen Lab, qui révélait un grand nombre de domaines de Pegasus V4.
Amnesty International soupçonne que la fermeture de l’infrastructure V4 a coïncidé avec le passage de NSO Group à des services du cloud comme Amazon CloudFront pour les premières étapes de ses attaques. Le recours aux services du cloud permet en effet à NSO Group d’échapper à certaines techniques de scanning d’Internet.
9.4 Une infrastructure d’attaque essentiellement hébergée en Europe et en Amérique du Nord
L’infrastructure Pegasus de NSO Group consiste avant tout en un ensemble de serveurs hébergés dans des centres de données situés dans des pays européens. Les pays hébergeant le plus grand nombre de serveurs DNS de domaines d’infection sont l’Allemagne, le Royaume-Uni, la Suisse, la France et les États-Unis.
Pays | Nbre de serveurs par pays |
Allemagne | 212 |
Royaume-Uni | 79 |
Suisse | 36 |
France | 35 |
États-Unis | 28 |
Finlande | 9 |
Pays-Bas | 5 |
Canada | 4 |
Ukraine | 4 |
Singapour | 3 |
Inde | 3 |
Autriche | 3 |
Japon | 1 |
Bulgarie | 1 |
Lituanie | 1 |
Bahreïn | 1 |
Le tableau suivant donne le nombre de serveurs DNS accueillis par chaque hébergeur. La plupart des serveurs identifiés sont confiés à des entreprises à capitaux américains : Digital Ocean, Linode et Amazon Web Services (AWS).
Nombre d’hébergeurs proposent de stocker les serveurs en différents endroits physiques. Au vu de ces deux tableaux, il apparaît que, pour les besoins de son infrastructure d’attaque au service de ses clients, NSO Group utilise avant tout des centres de données européens administrés par des hébergeurs américains.
Réseau | Nbre de serveurs par réseau |
DIGITALOCEAN-ASN | 142 |
Linode, LLC | 114 |
AMAZON-02 | 73 |
Akenes SA | 60 |
UpCloud Ltd | 9 |
Choopa | 7 |
OVH SAS | 6 |
Virtual Systems LLC | 2 |
ASN-QUADRANET-GLOBAL | 1 |
combahton GmbH | 1 |
UAB Rakrejus | 1 |
HZ Hosting Ltd | 1 |
PE Brezhnev Daniil | 1 |
Neterra Ltd. | 1 |
Kyiv Optic Networks Ltd | 1 |
Les chercheurs et chercheuses d’Amnesty International ont identifié 28 serveurs DNS liés à l’infrastructure d’infection hébergés aux États-Unis.
Nom de domaine | IP du serveur DNS | Réseau |
drp32k77.todoinfonet.com | 104.223.76.216. | ASN-QUADRANET-GLOBAL |
imgi64kf5so6k.transferlights.com | 165.227.52.184. | DIGITALOCEAN-ASN |
pc43v65k.alignmentdisabled.net | 167172215114 | DIGITALOCEAN-ASN |
img54fsd3267h.prioritytrail.net | 157.245.228.71. | DIGITALOCEAN-ASN |
jsfk3d43.netvisualizer.com | 104248126210 | DIGITALOCEAN-ASN |
cdn42js666.manydnsnow.com | 138197223170 | DIGITALOCEAN-ASN |
css1833iv.handcraftedformat.com | 134209172164 | DIGITALOCEAN-ASN |
js43fsf7v.opera-van.com | 159.203.87.42. | DIGITALOCEAN-ASN |
pypip36z19.myfundsdns.com | 167.99.105.68. | DIGITALOCEAN-ASN |
css912jy6.reception-desk.net | 68183105242 | DIGITALOCEAN-ASN |
imgi64kf5so6k.transferlights.com | 206.189.214.74 | DIGITALOCEAN-ASN |
js85mail.preferenceviews.com | 142.93.80.134 | DIGITALOCEAN-ASN |
css3218i.quota-reader.net | 165.227.17.53 | DIGITALOCEAN-ASN |
mongo87a.sweet-water.org | 142.93.113.166 | DIGITALOCEAN-ASN |
react12x2.towebsite.net | 3.13.132.96 | AMAZON-02 |
jsb8dmc5z4.gettingurl.com | 13.59.79.240 | AMAZON-02 |
react12x2.towebsite.net | 3.16.75.157 | AMAZON-02 |
cssgahs5j.redirigir.net | 18.217.13.50 | AMAZON-02 |
jsm3zsn5kewlmk9q.dns-analytics.com | 18.225.12.72 | AMAZON-02 |
imgcss35d.domain-routing.com | 13.58.85.100 | AMAZON-02 |
jsb8dmc5z4.gettingurl.com | 18.191.63.125 | AMAZON-02 |
js9dj1xzc8d.beanbounce.net | 199.247.15.15 | CHOOPA |
jsid76api.buildyourdata.com | 108.61.158.97 | CHOOPA |
cdn19be2.reloadinput.com | 95.179.177.18 | CHOOPA |
srva9awf.syncingprocess.com | 66175211107 | Linode |
jsfk3d43.netvisualizer.com | 172.105.148.64 | Linode |
imgdsg4f35.permalinking.com | 23.239.16.143 | Linode |
srva9awf.syncingprocess.com | 45.79.190.38 | Linode |
9.5 Résolutions de domaine d’infection observées dans la base de données DNS passive
Au vu de l’analyse technique d’appareils infectés, Amnesty International a établi que NSO Group se servait d’un sous-domaine unique et généré de façon aléatoire pour chaque tentative de transmission du logiciel espion Pegasus.
Amnesty International a examiné les ensembles de données DNS passives de chacun des domaines de la Version 4 de Pegasus qu’elle avait identifiés. Les bases de données DNS passives enregistrent la résolution DNS historique d’un domaine, y compris, bien souvent, les sous-domaines et l’historique des adresses IP correspondantes.
Un sous-domaine n’est enregistré dans l’historique DNS passif que s’il a été résolu et que la résolution a transité par un réseau disposant d’une sonde passive DNS.
Ces données de sonde sont recueillies aux termes d’accords conclus entre les opérateurs de réseau et les fournisseurs de données DNS passives. De nombreux réseaux ne sont pas couverts par de tels accords de collecte de données. Aucune résolution DNS passive n’a par exemple été enregistrée pour les domaines d’infection utilisés au Maroc.
Ces résolutions ne reflètent donc en tant que telles qu’une petite partie de l’activité globale du logiciel espion de NSO Group.
Domaine d’infection | Sous-domaines d’infection uniques |
mongo77usr.urlredirect.net | 417 |
str1089.mailappzone.com | 410 |
apiweb248.theappanalytics.com | 391 |
dist564.htmlstats.net | 245 |
css235gr.apigraphs.net | 147 |
nodesj44s.unusualneighbor.com | 38 |
jsonapi2.linksnew.info | 30 |
img9fo658tlsuh.securisurf.com | 19 |
pc25f01dw.loading-url.net | 12 |
dbm4kl5d3faqlk6.healthyguess.com | 8 |
img359axw1z.reload-url.net | 5 |
css2307.cssgraphics.net | 5 |
info2638dg43.newip-info.com | 3 |
img87xp8m.catbrushcable.com | 2 |
img108jkn42.av-scanner.com | 2 |
mongom5sxk8fr6.extractsight.com | 2 |
img776cg3.webprotector.co | 1 |
tv54d2ml1.topadblocker.net | 1 |
drp2j4sdi.safecrusade.com | 1 |
api1r3f4.redirectweburl.com | 1 |
pc41g20bm.redirectconnection.net | 1 |
jsj8sd9nf.randomlane.net | 1 |
php78mp9v.opposedarrangement.net | 1 |
Le domaine urlredirect.net affichait le plus grand nombre de sous-domaines uniques observés. Au total, 417 résolutions ont été enregistrées entre le 4 octobre 2018 et le 17 septembre 2019. Le domaine mailappzone.com arrivait en deuxième place, avec 410 résolutions sur une période de trois mois, du 23 juillet au 15 octobre 2020 .
Amnesty International pense que chacune de ces résolutions de sous-domaines (1 748 en tout) représente une tentative d’infection d’un appareil par Pegasus. Ces 23 domaines représentent moins de 7 % des 379 domaines de serveurs d’installations de Pegasus identifiés par nos soins. Sur la foi de ce petit échantillon, on peut penser que Pegasus a été utilisé dans des milliers d’attaques au cours des trois dernières années.
10. Appareils mobiles, sécurité et possibilité d’analyse
L’essentiel des attaques faisant l’objet de ce document concernent des tentatives d’intrusion de Pegasus sur des appareils iOS, ce qui ne reflète pas nécessairement le degré de sécurité relative des appareils iOS par rapport à des appareils Android ou sous d’autres systèmes d’exploitation, ou à des téléphones d’autres marques.
L’expérience d’Amnesty International montre simplement qu’il existe beaucoup plus d’indices techniques accessibles aux chercheurs et chercheuses sur des appareils Apple iOS que sur des appareils sous Android. Nous nous sommes donc concentrés sur ce premier type d’appareils. La plupart des cas récents d’infection confirmée par Pegasus concernent par conséquent des iPhones.
Notre nouvelle enquête montre, comme les précédentes, que les attaques menées contre des appareils mobiles constituent une menace majeure pour la société civile, dans le monde entier. La difficulté non seulement à prévenir, mais également à détecter après coup ces attaques, résulte du déséquilibre patent qui existe entre les capacités à la disposition des agresseurs et la faiblesse des défenses dont bénéficient les personnes en danger.
Si les appareils iOS permettent au moins de faire certains diagnostics utiles, les données historiques sont rares et facilement altérables. D’autres appareils ne permettent guère de procéder à une analyse technique consensuelle. Bien que de gros progrès aient été accomplis pour améliorer la sécurité des appareils mobiles et atténuer les risques d’attaque tels que ceux que nous dénonçons ici, il est possible d’en faire encore plus pour permettre aux propriétaires de portables et aux expert·e·s techniques de vérifier régulièrement l’intégrité de leurs systèmes.
Amnesty International encourage donc vivement les vendeurs d’appareils mobiles à se pencher sur des solutions permettant de rendre ces derniers plus facilement analysables – sans pour autant, bien entendu, sacrifier les mesures de sécurité et de protection de la vie privée déjà en place. Les développeurs de plateformes et les fabricants de téléphones doivent régulièrement dialoguer avec la société civile, pour mieux comprendre les problèmes auxquels sont confrontés les défenseur·e·s des droits humains, souvent insuffisamment représentés dans les discussions sur la cybersécurité.
11. Nous publions non seulement notre méthodologie, mais également nos outils et nos indices
Pendant longtemps, l’examen d’un appareil mobile soupçonné d’être infecté a été considéré comme une tâche quasi-impossible, en particulier dans le secteur de la défense des droits humains auquel nous appartenons. Grâce aux travaux du Security Lab d’Amnesty International, nous nous sommes doté·e·s d’importantes capacités susceptibles d’être utiles à nos pairs et à nos collègues au service des militant·e·s, des journalistes et des avocat·e·s menacés.
Nous partageons donc dans ce rapport non seulement la méthodologie que nous avons mise au point au fil de plusieurs années de recherches, mais également les outils que nous avons élaborés, ainsi que les indices d’infection par Pegasus que nous avons recueillis.
Tous les indices d’infection sont disponibles sur GitHub . Vous y trouverez notamment les noms de domaine de l’infrastructure Pegasus, les adresses électroniques récupérées à partir des consultations de compte iMessage impliqués dans des attaques et tous les noms de processus repérés par Amnesty International comme étant associés au logiciel espion.
Amnesty International met également à disposition un outil qu’elle a mis au point, baptisé Mobile Verification Toolkit (MVT). MVT est un outil modulaire qui simplifie le processus d’acquisition et d’analyse des données provenant d’appareils sous Android, ainsi que l’analyse des données enregistrées dans les sauvegardes et les corbeilles des systèmes de fichiers, pour détecter d’éventuelles traces d’infection.
On peut fournir au MVT des indices d’infection en format STIX2 , et l’outil relèvera tous les indices correspondants figurant sur l’appareil analysé. Parallèlement aux indices de présence de Pegasus, MVT permet de savoir si un iPhone a été infecté.
Parmi les fonctions de MVT, citons notamment :
- Déchiffrage des sauvegardes iOS chiffrées.
- Historique des processus et des analyses de nombreuses bases de données et archives du système iOS et de ses applications.
- Extraction des applications installées sur des appareils Android.
- Extraction d’informations de diagnostic sur des appareils Android via le protocole adb.
- Comparaison des données enregistrées extraites avec une liste fournie d’indices malveillants en format STIX2. Identification automatique des SMS, sites visités, processus, etc., malveillants.
- Création d’un journal JSON des données enregistrées extraites, ainsi que d’un journal JSON distinct de toutes les traces malveillantes détectées.
- Génération d’une chronologie unifiée des données enregistrées extraites, ainsi que d’un historique chronologique des traces malveillantes détectées.
Remerciements
Le Security Lab d’Amnesty International tient à remercier toutes les personnes qui l’ont soutenu dans ce travail de recherche. Certains outils mis à disposition par la communauté de chercheurs pour la sécurité des systèmes iOS, comme libimobiledevice et checkra1n, ont été largement utilisés dans le cadre de ce projet. Nous aimerions également remercier Censys et RiskIQ de nous avoir donné accès à leur scan d’Internet et à leurs données DNS passives.
Amnesty International souhaite remercier Citizen Lab pour son important et vaste travail de recherche sur NSO Group et sur d’autres acteurs impliqués dans des activités de surveillance illégale de la société civile. Amnesty International remercie Citizen Lab d’avoir bien voulu relire avec un oeil critique le présent rapport de recherches.
Pour finir, Amnesty International tient à exprimer tous ses remerciements aux nombreux journalistes et défenseur·e·s des droits humains qui ont courageusement accepté de collaborer avec elle et ont ainsi permis à ce projet de voir le jour.
Annexe A : Évaluation par Citizen Lab du Rapport sur la méthodologie
Citizen Lab, de l’Université de Toronto, a procédé à un examen indépendant d’une version non définitive de la méthodologie technique décrite dans le présent rapport. Les conclusions de cet examen sont consultables ici.
Annexe B : Consultations de comptes iCloud suspects
Cette annexe présente les recoupements constatés au niveau des consultations réalisées par des comptes iCloud sur les appareils mobiles de plusieurs cibles. La liste sera progressivement mise à jour.
Compte iCloud | Cible |
emmaholm575[@]gmail.com | • AZJRN1 – Khadija Ismayilova |
filip.bl82[@]gmail.com | • AZJRN1 – Khadija Ismayilova |
kleinleon1987[@]gmail.com | • AZJRN1 – Khadija Ismayilova |
bergers.o79[@]gmail.com | • Omar Radi • FRHRL1 – Joseph Breham • FRHRL2 • FRJRN1 – Lenaig Bredoux • FRJRN2 • FRPOI1 • FRPOI2 – François de Rugy |
naomiwerff772[@]gmail.com | • Omar Radi • FRHRL1 – Joseph Breham • FRPOI1 |
bogaardlisa803[@]gmail.com | • FRHRL1 – Joseph Breham • FRJRN1 – Lenaig Bredoux • FRJRN2 |
linakeller2203[@]gmail.com | • FRHRD1 – Claude Mangin • FRPOI3 – Philippe Bouyssou • FRPOI4 • FRPOI5 – Oubi Buchraya Bachir • MOJRN1 – Hicham Mansouri |
jessicadavies1345[@]outlook.com | • HUJRN1 – András Szabó • HUJRN2 – Szabolcs Panyi |
emmadavies8266[@]gmail.com | • HUJRN1 – András Szabó • HUJRN2 – Szabolcs Panyi |
k.williams.enny74[@]gmail.com | • HUPOI1 • HUPOI2 – Adrien Beauduin • HUPOI3 |
taylorjade0303[@]gmail.com | • INHRD1 – SAR Geelani • INJRN6 – Smita Sharma • INPOI1 – Prashant Kishor |
lee.85.holland[@]gmail.com | • INHRD1 – SAR Geelani • INJRN6 – Smita Sharma • INPOI1 – Prashant Kishor |
bekkerfredi[@]gmail.com | • INHRD1 – SAR Geelani • INPOI2 |
herbruud2[@]gmail.com | • INJRN1 – Mangalam Kesavan Venu • INJRN2 – Sushant Singh • INPOI1 – Prashant Kishor |
vincent.dahl76[@]gmail.com | • KASH01 – Hatice Cengiz • KASH02 – Rodney Dixon |
oskarschalcher[@]outlook.com | • KASH03 – Wadah Khanfar |
benjiburns8[@]gmail.com | • RWHRD1 – Carine Kanimba |
Annexe C : Indices détaillés par personne cible
Cette annexe donne le détail des indices techniques retrouvés sur chaque appareil visé. Elle sera progressivement mise à jour.
C.1 Aperçu des indices techniques pour Maati Monjib
Date (TU) | Événement |
2017-11-02 12:29:33 | SMS Pegasus avec lien vers hxxps://tinyurl[.]com/y73qr7mb redirigeant vers hxxps://revolution-news[.]co/ikXFZ34ca |
2017-11-02 16:42:34 | SMS Pegasus avec lien vers hxxps://stopsms[.]biz/vi78ELI |
2017-11-02 16:44:00 | SMS Pegasus avec lien vers hxxps://stopsms[.]biz/vi78ELI depuis +212766090491 |
2017-11-02 16:45:10 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-02 16:57:00 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-02 17:13:45 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-02 17:21:57 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-02 17:30:49 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-02 17:40:46 | SMS Pegasus avec lien vers Hxxps://stopsms[.]biz/bi78ELI depuis +212766090491 |
2017-11-15 17:05:17 | SMS Pegasus avec lien vers hxxps://videosdownload[.]co/nBBJBIP |
2017-11-20 18:22:03 | SMS Pegasus avec lien vers hxxps://infospress[.]com/LqoHgMCEE |
2017-11-24 13:43:17 | SMS Pegasus avec lien vers hxxps://tinyurl[.]com/y9hbdqm5 redirigeant vers hxxps://hmizat[.]co/JaCTkfEp |
2017-11-24 17:26:09 | SMS Pegasus avec lien vers hxxps://stopsms[.]biz/2Kj2ik6 |
2017-11-27 15:56:10 | SMS Pegasus avec lien vers hxxps://stopsms[.]biz/yTnWt1Ct |
2017-11-27 17:32:37 | SMS Pegasus avec lien vers hxxps://hmizat[.]co/ronEKDVaf |
2017-12-07 18:21:57 | SMS Pegasus avec lien vers hxxp://tinyurl[.]com/y7wdcd8z redirigeant vers hxxps://infospress[.]com/Ln3HYK4C |
2018-01-08 12:58:14 | SMS Pegasus avec lien vers hxxp://tinyurl[.]com/y87hnl3o redirigeant vers hxxps://infospress[.]com/asjmXqiS |
2018-02-09 21:12:49 | Processus : pcsd |
2018-03-16 08:24:20 | Processus : pcsd |
2018-04-28 22:25:12 | Processus : bh |
2018-05-04 21:30:45 | Processus : pcsd |
2018-05-21 21:46:06 | Processus : fmld |
2018-05-22 17:36:51 | Processus : bh |
2018-06-04 11:05:43 | Processus : fmld |
2019-03-27 21:45:10 | Processus : bh |
2019-04-14 23:02:41 | Favicon Safari de l’URL hxxps://c7r8x8f6zecd8j.get1tn0w.free247downloads[.]com:30352/Ld3xuuW5 |
2019-06-27 20:13:10 | Favicon Safari de l’URL hxxps://3hdxu4446c49s.get1tn0w.free247downloads[.]com:30497/pczrccr#052045871202826837337308184750023238630846883009852 |
2019-07-22 15:42:32 | Visite Safari de hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz |
2019-07 22 15:42:32 | Visite Safari de hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz#048634787343287485982474853012724998054718494423286 |
2019-07-22 15:43:06 | Favicon Safari de l’URL hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz#048634787343287485982474853012724998054718494423286 |
N/A | Fichier WebKit IndexedDB pour l’URL hxxps://c7r8x8f6zecd8j.get1tn0w.free247downloads[.]com |
N/A | Fichier WebKit IndexedDB pour l’URL hxxps://bun54l2b67.get1tn0w.free247downloads[.]com |
N/A | Fichier WebKit IndexedDB pour l’URL hxxps://keewrq9z.get1tn0w.free247downloads[.]com |
N/A | Fichier WebKit IndexedDB pour l’URL hxxps://3hdxu4446c49s.get1tn0w.free247downloads[.]com |
C.2 Aperçu des indices techniques pour Omar Radi
Date (TU) | Événement |
2019-02-11 14:45:45 | Fichier WebKit IndexedDB pour l’URL hxxps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com |
2019-02-11 13:45:53 | Favicon Safari de l’URL hxxps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YP |
2019-02-11 13:45:56 | Processus : bh |
2019-02-11 13:46:16 | Processus : roleaboutd |
2019-02-11 13:46:23 | Processus : roleaboutd |
2019-02-11 16:05:24 | Processus : roleaboutd |
2019-08-16 17:41:06 | Consultation iMessage pour le compte bergers.o79[@]gmail.com |
2019-09-13 15:01:38 | Favicon Safari de l’URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#011356570257117296834845704022338973133022433397236 |
2019-09-13 15:01:56 | Favicon Safari de l’URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#068099561614626278519925358638789161572427833645389 |
2019-09-13 15:02:11 | Processus : bh |
2019-09-13 15:02:20 | Processus : msgacntd |
2019-09-13 15:02:33 | Processus : msgacntd |
2019-09-14 15:02:57 | Processus : msgacntd |
2019-09-14 18:51:54 | Processus : msgacntd |
2019-10-29 12:21:18 | Consultation iMessage pour le compte naomiwerff772[@]gmail.com |
2020-01-27 10:06:24 | Favicon Safari de l’URL hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946 |
2020-01-27 10:06:26 | Visite Safari de hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#2 |
2020-01-27 10:06:26 | Visite Safari de hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#24 |
2020-01-27 10:06:32 | Favicon Safari de l’URL hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946%2324 |
Annexe D : Indices techniques de la présence de Pegasus, par cible
Vous pouvez consulter l’Annexe D ici.
[1] Les éléments techniques fournis dans le présent rapport proviennent des travaux de recherche technique réalisés dans le cadre du Projet Pegasus, ainsi que d’autres investigations menées par le Security Lab d’Amnesty International depuis sa création, en 2018.
[2] Courriel adressé à Amnesty International, mai 2021
[3] Courriel adressé à Amnesty International, juillet 2021.
Historique des mises à jour : Le 6 septembre 2022, ce document a été mis à jour pour y ajouter de nouveau un nom de processus qui avait été supprimé temporairement.