Rapport de méthodologie médico-légale : comment attraper le Pegasus de NSO Group

introduction
NSO Group affirme que son logiciel espion Pegasus n’est utilisé que pour « enquêter sur le terrorisme et le crime » et « ne laisse aucune trace » . Ce rapport de méthodologie médico-légale montre qu’aucune de ces déclarations n’est vraie. Ce rapport accompagne la publication du Pegasus Project, une enquête collaborative impliquant plus de 80 journalistes de 17 organisations médiatiques dans 10 pays coordonnée par Forbidden Stories avec le soutien technique du Security Lab d’Amnesty International. [1]

Le laboratoire de sécurité d’Amnesty International a effectué une analyse médico-légale approfondie de nombreux appareils mobiles de défenseurs des droits humains (DDH) et de journalistes du monde entier. Cette recherche a mis au jour une surveillance illégale généralisée, persistante et continue et des violations des droits humains perpétrées à l’aide du logiciel espion Pegasus de NSO Group.

Comme indiqué dans les Principes directeurs des Nations Unies relatifs aux entreprises et aux droits de l’homme, NSO Group doit prendre de toute urgence des mesures proactives pour s’assurer qu’il ne cause pas ou ne contribue pas à des violations des droits de l’homme dans le cadre de ses opérations mondiales, et pour répondre à toute violation des droits de l’homme lorsque ils se produisent. Afin de s’acquitter de cette responsabilité, NSO Group doit exercer une diligence raisonnable en matière de droits humains et prendre des mesures pour s’assurer que les DDH et les journalistes ne continuent pas à devenir des cibles de surveillance illégale.

Dans ce rapport sur la méthodologie médico-légale, Amnesty International partage sa méthodologie et publie un outil de criminalistique mobile open source et des indicateurs techniques détaillés, afin d’aider les chercheurs en sécurité de l’information et la société civile à détecter et à répondre à ces menaces graves.

Ce rapport documente les traces médico-légales laissées sur les appareils iOS et Android après le ciblage avec le logiciel espion Pegasus. Cela inclut les dossiers médico-légaux reliant les récentes infections à Pegasus à la charge utile Pegasus 2016 utilisée pour cibler le DRH Ahmed Mansoor.

Les attaques Pegasus détaillées dans ce rapport et les annexes qui l’accompagnent datent de 2014 jusqu’en juillet 2021. Celles-ci incluent également les attaques dites « zéro-clic » qui ne nécessitent aucune interaction de la part de la cible. Des attaques Zero-click sont observées depuis mai 2018 et se poursuivent jusqu’à présent. Plus récemment, une attaque « zéro clic » réussie a été observée en exploitant plusieurs jours zéro pour attaquer un iPhone 12 entièrement corrigé exécutant iOS 14.6 en juillet 2021.

Les sections 1 à 8 de ce rapport décrivent les traces médico-légales laissées sur les appareils mobiles à la suite d’une infection par Pegasus. Ces preuves ont été recueillies à partir des téléphones des DDH et des journalistes dans plusieurs pays.

Enfin, dans la section 9, le rapport documente l’évolution de l’infrastructure du réseau Pegasus depuis 2016. NSO Group a repensé son infrastructure d’attaque en utilisant plusieurs couches de domaines et de serveurs. Des erreurs de sécurité opérationnelles répétées ont permis au laboratoire de sécurité d’ Amnesty International de maintenir une visibilité continue sur cette infrastructure. Nous publions un ensemble de 700 domaines liés à Pegasus.

Les noms de plusieurs des cibles de la société civile dans le rapport ont été anonymisés pour des raisons de sûreté et de sécurité. Les personnes qui ont été rendues anonymes ont reçu un nom de code alphanumérique dans ce rapport.

1. Découvrir les attaques par injection de réseau Pegasus
Amnesty enquête technique internationale sur Pegasus ONS densifiés suite à notre découverte du ciblage d’un Amnesty International staffer et un activiste saoudien, Yahya Assiri, en 2018. Lab sécurité d’Amnesty International a commencé à affiner sa méthodologie de médecine légale grâce à la découverte des attaques contre les défenseurs des droits humains au Maroc 2019 , qui ont été encore corroborées par des attaques que nous avons découvertes contre un journaliste marocain en 2020 . Dans cette première section, nous détaillons le processus qui a conduit à la découverte de ces compromis.

De nombreux rapports publics avaient identifié les clients de NSO Group utilisant des messages SMS avec des domaines d’exploitation Pegasus au fil des ans. En conséquence, des messages similaires sont ressortis de notre analyse du téléphone de la militante marocaine Maati Monjib, qui était l’une des militantes ciblées, comme le documente le rapport 2019 d’ Amnesty International .

Cependant, lors d’une analyse plus approfondie, nous avons également remarqué des redirections suspectes enregistrées dans l’historique de navigation de Safari. Par exemple, dans un cas, nous avons remarqué une redirection vers une URL étrange après que Maati Monjib a tenté de visiter Yahoo :

( Veuillez noter : tout au long de ce document, nous avons échappé aux domaines malveillants avec le marquage [.] pour éviter les clics et visites accidentels.)

L’URL https://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz est immédiatement apparue suspecte, notamment en raison de la présence d’un sous-domaine de 4ème niveau, d’un numéro de port élevé non standard, et d’un URI aléatoire similaire aux liens contenus dans des messages SMS précédemment documentés en rapport avec Pegasus de NSO Group. Comme vous pouvez le voir dans le tableau ci-dessus, la visite de Yahoo a été immédiatement redirigée vers cette URL suspecte avec l’ID de base de données 16120.

Dans notre rapport d’ octobre 2019 , nous détaillons comment nous avons déterminé que ces redirections sont le résultat d’attaques par injection de réseau effectuées soit via des dispositifs tactiques, tels que des tours cellulaires malveillantes, soit via des équipements dédiés placés chez l’opérateur mobile. Lorsque, des mois plus tard, nous avons analysé l’iPhone du journaliste indépendant marocain Omar Radi, qui, comme indiqué dans notre rapport 2020, était ciblé, nous avons trouvé des enregistrements similaires impliquant également le domaine free247downloads[.]com .

En novembre 2019, après le premier rapport d’Amnesty International, un nouveau domaine urlpush[.]net a été enregistré. Nous l’avons trouvé par la suite impliqué dans des redirections similaires vers l’URL https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj.

Bien que les enregistrements de l’historique de Safari soient généralement de courte durée et soient perdus après quelques mois (ainsi que potentiellement purgés intentionnellement par des logiciels malveillants), nous avons néanmoins pu trouver les domaines d’infection de NSO Group dans d’autres bases de données du téléphone d’Omar Radi qui n’apparaissaient pas dans Safari. Histoire. Par exemple, nous avons pu identifier les visites via la base de données Favicon.db de Safari , qui a été laissée intacte par Pegasus :

Comme expliqué dans l’annexe technique de notre rapport 2020 sur les attaques Pegasus au Maroc , ces redirections ne se produisent pas seulement lorsque la cible navigue sur Internet avec l’application navigateur, mais également lors de l’utilisation d’autres applications. Par exemple, dans un cas, Amnesty International a identifié une injection de réseau alors qu’Omar Radi utilisait l’application Twitter. Lors de la prévisualisation d’un lien partagé dans sa timeline, le service com.apple.SafariViewService a été invoqué pour charger une Safari WebView, et une redirection s’est produite.

Pour cette raison, nous pou vons trouver des enregistrements supplémentaires impliquant les domaines free247downloads[.]com et urlpush[.]net dans le stockage local WebKit spécifique à l’application, les dossiers IndexedDB, etc. Dans plusieurs cas, les fichiers IndexedDB ont été créés par Safari peu de temps après la redirection de l’injection réseau vers le serveur d’installation Pegasus.

De plus, les journaux des ressources de session de Safari fournissent des traces supplémentaires qui n’apparaissent pas systématiquement dans l’historique de navigation de Safari. Il semble que Safari n’enregistre pas les chaînes de redirection complètes et ne conserve que des enregistrements d’historique indiquant la dernière page chargée. Les journaux de ressources de session récupérés à partir des téléphones analysés démontrent que des domaines de transfert supplémentaires sont utilisés comme trampolines menant éventuellement aux serveurs d’infection. En fait, ces logs révèlent que la toute première injection réseau contre Maati Monjib que nous décrivons au début de cet article impliquait également le domaine documentpro[.]org :

Maati Monjib a visité http://yahoo.fr, et une injection réseau a redirigé de force le navigateur vers documentpro[.]org avant de le rediriger vers free247downloads[.]com et de procéder à l’exploitation.

De même, à une autre occasion, Omar Radi a visité le site Web du journal français Le Parisien, et une injection de réseau l’a redirigé via le domaine de mise en scène tahmilmilafate[.]com , puis finalement vers free247downloads[.]com également. Nous avons également vu tahmilmilafate[.]info utilisé de la même manière :

Lors des dernières tentatives observées par Amnesty International contre Omar Radi en janvier 2020, son téléphone a été redirigé vers une page d’exploitation à l’ adresse gnyjv1xltx.info8fvhgl3.urlpush[.]net en passant par le domaine baramije[.]net . Le domaine baramije[.]net a été enregistré un jour avant urlpush[.]net , et un site Web leurre a été créé à l’aide du CMS open source Textpattern.

Les traces d’activité du réseau n’étaient pas les seuls indicateurs disponibles de compromission, et une inspection plus approfondie des iPhones a révélé des processus exécutés qui ont finalement conduit à l’établissement d’un modèle cohérent unique à tous les iPhones suivants qu’Amnesty International a analysés et trouvés infectés.

2. BridgeHead de Pegasus et d’autres processus malveillants apparaissent
Amnesty International, Citizen Lab et d’autres ont principalement attribué les attaques de logiciels espions Pegasus sur la base des noms de domaine et d’autres infrastructures réseau utilisées pour lancer les attaques. Cependant, les preuves médico-légales laissées par le logiciel espion Pegasus fournissent un autre moyen indépendant d’attribuer ces attaques à la technologie de NSO Group.

iOS conserve des enregistrements des exécutions de processus et de leur utilisation respective du réseau dans deux fichiers de base de données SQLite appelés « DataUsage.sqlite » et « netusage.sqlite » qui sont stockés sur l’appareil. Il convient de noter que si le premier est disponible dans la sauvegarde iTunes, le second ne l’est pas. De plus, il convient de noter que seuls les processus ayant effectué une activité réseau apparaîtront dans ces bases de données.

Les bases de données d’utilisation du réseau de Maati Monjib et d’Omar Radi contenaient des enregistrements d’un processus suspect appelé « bh » . Ce processus « bh » a été observé à plusieurs reprises immédiatement après les visites dans les domaines d’installation de Pegasus.

Le téléphone de Maati Monjib a enregistré l’exécution de « bh » d’avril 2018 à mars 2019 :

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 enregistrements de favicon répertoriés précédemment au 13-09-2019 17:01:56).

Surtout, nous trouvons des références à « bh » dans l’échantillon iOS de Pegasus récupéré des attaques de 2016 contre le défenseur des droits humains des Émirats arabes unis Ahmed Mansoor, découvert par Citizen Lab et analysé en profondeur par la société de cybersécurité Lookout .

Comme décrit dans l’analyse de Lookout, en 2016, NSO Group a exploité une vulnérabilité dans iOS JavaScriptCore Binary (jsc) pour réaliser l’exécution de code sur l’appareil. Cette même vulnérabilité a également été utilisée pour maintenir la persistance sur l’appareil après le redémarrage. Nous trouvons des références à « bh » dans tout le code de l’exploit :

Ce module est décrit dans l’analyse de Lookout comme suit :

« bh.c – Charge les fonctions API liées à la décompression des charges utiles de l’étape suivante et à leur placement correct sur l’iPhone de la victime à l’aide de fonctions telles que BZ2_bzDecompress, chmod et malloc »

Lookout explique en outre qu’un fichier de configuration situé dans /var/tmp/jb_cfg est déposé à côté du binaire. Fait intéressant, nous trouvons le chemin d’accès à ce fichier exporté en tant que _kBridgeHeadConfigurationFilePath dans la partie fichier libaudio.dylib du bundle Pegasus :

Par conséquent, nous soupçonnons que « bh » pourrait signifier « BridgeHead » , qui est probablement le nom interne attribué par NSO Group à ce composant de leur boîte à outils.

L’apparition du processus « bh » juste après l’injection réseau réussie du téléphone d’Omar Radi est cohérente avec l’objectif évident du module BridgeHead. Il termine l’exploitation du navigateur, enracine l’appareil et se prépare à son infection avec la suite Pegasus complète.

2.1 Processus suspects supplémentaires après BridgeHead
Le processus bh est apparu pour la première fois sur le téléphone d’Omar Radi le 11 février 2019. Cela s’est produit 10 secondes après qu’un fichier IndexedDB a été créé par le serveur d’installation Pegasus et qu’une entrée de favicon a été enregistrée par Safari. À peu près au même moment, le fichier com.apple.CrashReporter.plist a été écrit dans /private/var/root/Library/Preferences/ , probablement pour désactiver le signalement des journaux de plantage à Apple. La chaîne d’exploit avait obtenu l’autorisation root à ce stade.

Moins d’une minute plus tard, un processus  » roleaboutd  » apparaît pour la première fois.

L’appareil d’Omar Radi a été à nouveau exploité le 13 septembre 2019. Là encore, un processus « bh » a démarré peu après. À cette époque, le fichier com.apple.softwareupdateservicesd.plist a été modifié. Un processus « msgacntd » a également été lancé.

Sur la base du moment et du contexte de l’exploitation, Amnesty International pense que les processus roleaboutd et msgacntd sont une étape ultérieure du logiciel espion Pegasus qui a été chargé après une exploitation réussie et une élévation des privilèges avec la charge utile BridgeHead .

De même, l’analyse médico-légale du téléphone de Maati Monjib a révélé l’exécution de processus plus suspects en plus de bh . Un processus nommé pcsd et un autre nommé fmld sont apparus en 2018 :

Amnesty International a vérifié qu’aucun fichier binaire légitime du même nom n’était distribué dans les versions récentes d’iOS.

La découverte de ces processus sur les téléphones d’Omar Radi et de Maati Monjib est ensuite devenue déterminante pour la poursuite des enquêtes d’Amnesty International, car nous avons trouvé des processus portant les mêmes noms sur les appareils d’individus ciblés du monde entier.

3. Processus Pegasus suite à l’exploitation potentielle d’Apple Photos
Au cours des enquêtes d’Amnesty International dans le cadre du projet Pegasus, nous avons découvert d’autres cas où le processus « bh » men tionné ci-dessus a été enregistré sur des appareils compromis par différents vecteurs d’attaque.

Dans un cas, le téléphone d’un avocat français des droits de l’homme (CODE : FRHRL1) a été compromis et le processus « bh » a été exécuté quelques secondes après que le trafic réseau pour l’application iOS Photos ( com.apple.mobileslideshow ) a été enregistré pour la première fois. Encore une fois, après une exploitation réussie, le rapport de plantage a été désactivé en écrivant un fichier com.apple.CrashReporter.plist sur l’appareil.

La prochaine et dernière activité réseau pour l’application iOS Photos a été enregistrée le 18 décembre 2019, précédant encore une fois l’exécution de processus malveillants sur l’appareil.

Dans un cas distinct, nous avons identifié un schéma similaire avec les processus « mobileslideshow » et « bh » sur l’iPhone d’un journaliste français (CODE : FRJRN1) en mai 2020 :

Amnesty International n’a pas été en mesure de capturer les charges utiles liées à cette exploitation, mais soupçonne que l’application iOS Photos ou le service Photostream ont été utilisés dans le cadre d’une chaîne d’exploitation pour déployer Pegasus. Les applications elles-mêmes peuvent avoir été exploitées ou leurs fonctionnalités mal utilisées pour fournir un exploit JavaScript ou de navigateur plus traditionnel à l’appareil.

Comme vous pouvez le voir dans les tableaux ci-dessus , des noms de processus supplémentaires 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 un compromis réussi. Au fur et à mesure que nos enquêtes progressaient, nous avons identifié des dizaines de noms de processus malveillants impliqués dans les infections Pegasus.

De plus, Amnesty International a trouvé le même compte iCloud bogaardlisa803[@]gmail.com enregistré comme étant lié au service « com.apple.private.alloy.photostream » sur les deux appareils. Les comptes iCloud créés à dessein semblent être au cœur de la diffusion de plusieurs vecteurs d’attaque « zéro clic » dans de nombreux cas récents d’appareils compromis analysés par Amnesty International.

4. Un iMessage zero-click 0day largement utilisé en 2019
Alors que les messages SMS contenant des liens malveillants étaient la tactique de choix des clients de NSO Group entre 2016 et 2018, ces dernières années, ils semblent être devenus de plus en plus rares. La découverte d’attaques par injection de réseau au Maroc a signalé que la tactique des attaquants était en effet en train de changer. L’injection de réseau est un vecteur d’attaque efficace et rentable pour un usage domestique, en particulier dans les pays ayant un effet de levier sur les opérateurs mobiles. Cependant, s’il n’est efficace que sur les réseaux nationaux, le ciblage de cibles étrangères ou d’individus dans les communautés de la diaspora a également changé.

À partir de 2019, un nombre croissant de vulnérabilités dans iOS, en particulier iMessage et FaceTime, ont commencé à être corrigées grâce à leurs découvertes par des chercheurs en vulnérabilité ou par des fournisseurs de cybersécurité signalant des exploits découverts dans la nature.

En réponse, Amnesty International a étendu sa méthodologie médico-légale pour collecter toutes les traces pertinentes par iMessage et FaceTime. iOS conserve un enregistrement des identifiants Apple vus par chaque application installée dans un fichier plist situé dans /private/var/mobile/Library/Preferences/com.apple.identityservices. idstatuscache .plist . Ce fichier est également généralement disponible dans une sauvegarde iTunes régulière, il peut donc être facilement extrait sans avoir besoin d’un jailbreak.

Ces dossiers ont joué un rôle essentiel dans les enquêtes ultérieures. Dans de nombreux cas, nous avons découvert des processus Pegasus suspectés exécutés sur des appareils immédiatement après des recherches de compte iMessage suspectes. Par exemple, les enregistrements suivants ont été extraits du téléphone d’un journaliste français (CODE FRJRN2) :

L’analyse médico-légale d’Amnesty International de plusieurs appareils a trouvé des enregistrements similaires. Dans de nombreux cas, le même compte iMessage se reproduit sur plusieurs appareils ciblés, indiquant potentiellement que ces appareils ont été ciblés par le même opérateur. De plus, les processus roleaccountd et stagingd se produisent de manière cohérente, avec d’autres.

Par exemple, l’iPhone d’un journaliste hongrois (CODE HUJRN1) affichait à la place les enregistrements suivants :

Dans ce cas, les premiers processus suspects réalisant une activité réseau ont été enregistrés 5 minutes après la première recherche. Le fichier com.apple.CrashReporter.plist était déjà présent sur cet appareil après une infection réussie précédente et n’a pas été réécrit.

L’iPhone d’un autre journaliste hongrois (CODE HUJRN2) affiche des recherches pour les mêmes comptes iMessage ainsi que de nombreux autres processus ainsi que roleaccountd et stagingd :

Il est intéressant de noter que dans les traces qu’Amnesty International a récupérées à partir de 2019, les recherches iMessage qui ont immédiatement précédé l’exécution de processus suspects contenaient souvent un remplissage 0x00 de deux octets dans l’adresse e-mail enregistrée par le fichier ID Status Cache.

5. Apple Music mis à profit pour livrer Pegasus en 2020
À la mi-2021, Amnesty International a identifié un autre cas d’un éminent journaliste d’investigation azerbaïdjanais (CODE AZJRN1) qui a été la cible à plusieurs reprises d’attaques Pegasus Zero-Click de 2019 jusqu’à la mi-2021.

Encore une fois, nous avons trouvé un modèle similaire de traces médico-légales sur l’appareil après la première exploitation réussie enregistrée :

Fait intéressant, nous avons trouvé des signes d’une nouvelle technique d’infection iOS utilisée pour compromettre cet appareil. Une infection réussie s’est produite le 10 juillet 2020 :

Peu de temps avant le lancement de Pegasus sur l’appareil, nous avons vu le trafic réseau enregistré pour le service Apple Music. Ces requêtes HTTP ont été récupérées à partir d’un fichier de 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 récupéré en jailbreakant l’appareil.

Amnesty International ne peut pas déterminer à partir de la médecine légale si Apple Music a lui-même été exploité pour transmettre l’infection initiale ou si, au lieu de cela, l’application a été maltraitée dans le cadre d’une chaîne d’évasion et d’escalade des privilèges du bac à sable. Des recherches récentes ont montré que les applications intégrées telles que l’application iTunes Store peuvent être utilisées de manière abusive pour exécuter un exploit de navigateur tout en échappant au sandbox restrictif de l’application Safari.

Plus important encore, la requête HTTP effectuée par l’application Apple Music pointe vers le domaine opposédarrangement[.]net , que nous avions précédemment identifié comme appartenant à l’infrastructure réseau Pegasus de NSO Group. Ce domaine correspondait à une empreinte distinctive que nous avons conçue lors de la réalisation d’analyses à l’échelle d’Internet suite à notre découverte des attaques par injection de réseau au Maroc (voir la section 9).

De plus, ces URL présentent des caractéristiques particulières typiques d’autres URL que nous avons trouvées impliquées dans les attaques Pegasus au fil des ans, comme expliqué dans la section suivante.

6. Megalodon : iMessage zero-click 0- day return en 2021
L’analyse menée par Amnesty International sur plusieurs appareils révèle des traces d’attaques similaires à celles que nous avons observées en 2019. Ces attaques ont été observées aussi récemment qu’en juillet 2021. Amnesty International pense que Pegasus est actuellement livré par le biais d’exploits sans clic qui restent fonctionnels jusqu’au dernier version disponible d’iOS au moment de la rédaction (juillet 2021).

Sur l’iPhone d’un avocat français des droits de l’homme (CODE FRHRL2), nous avons observé une recherche d’un compte iMessage suspect inconnu de la victime, suivie d’une requête HTTP effectuée par le processus com.apple.coretelephony . Il s’agit d’un composant d’iOS impliqué dans toutes les tâches liées à la téléphonie et probablement parmi ceux exploités dans cette attaque. Nous avons trouvé des traces de cette requête HTTP dans un fichier cache stocké sur le disque dans /private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db contenant des métadonnées sur la requête et la réponse. Le téléphone a envoyé des informations sur l’appareil, notamment le modèle 9,1 (iPhone 7) et le numéro de version iOS 18C66(version 14.3) à un service proposé par Amazon CloudFront, suggérant que NSO Group est passé à l’utilisation des services AWS ces derniers mois. Au moment de cette attaque, la nouvelle version iOS 14.4 n’était sortie que depuis quelques semaines.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*