Pegasus vs Predator, l’autre logiciel espion – Cytrox, espionnage, hacking,
Principales conclusions
- Deux Égyptiens – le politicien en exil Ayman Nour et l’animateur d’un programme d’information populaire (qui souhaite rester anonyme) – ont été piratés avec le logiciel espion Predator, construit et vendu par le développeur de logiciels espions mercenaires auparavant peu connu Cytrox.
- Le téléphone d’Ayman Nour était simultanément infecté par le logiciel espion Predator de Cytrox et Pegasus du groupe NSO, exploités par deux clients gouvernementaux différents.
- Les deux cibles ont été piratées avec Predator en juin 2021, et le logiciel espion a pu infecter la dernière version (14.6) du système d’exploitation iOS d’Apple à l’aide de liens en un seul clic envoyés via WhatsApp.
- Nous avons obtenu des échantillons du « loader » de Predator, la première phase du logiciel espion, et analysé leur fonctionnalité. Nous avons constaté que Predator persiste après le redémarrage à l’aide de la fonction d’ automatisation iOS .
- Nous avons effectué une analyse Internet à la recherche de serveurs de logiciels espions Predator et avons trouvé des clients Predator probables en Arménie, en Égypte, en Grèce, en Indonésie, à Madagascar, à Oman, en Arabie saoudite et en Serbie.
- Cytrox aurait fait partie d’ Intellexa , la soi-disant « Star Alliance des logiciels espions », qui a été formée pour concurrencer le groupe NSO, et qui se décrit comme « basée sur l’UE et réglementée, avec six sites et laboratoires de R&D dans toute l’Europe. «
1. Origines
Nous avons confirmé le piratage des appareils de deux individus avec le logiciel espion Predator de Cytrox : Ayman Nour, un membre de l’opposition politique égyptienne vivant en exil en Turquie, et un journaliste égyptien en exil qui anime une émission d’information populaire et souhaite garder l’anonymat.
Ayman Nour est le président du groupe d’opposition politique égyptien Union des forces nationales égyptiennes . Nour est également un ancien candidat à la présidentielle égyptienne et fondateur et président duparti Ghad al-Thawra .En 2005, Nour s’est présenté contre l’ancien président égyptien Hosni Moubarak. Après les élections, Nour a été reconnu coupable de « falsification de signatures sur des pétitions » déposées pour créer son parti politique – une accusation qui a été largement considérée comme « d’inspiration politique » – et emprisonné pendant plus de quatre ans. Nour a finalement été libéré de prison en 2009 pour des raisons de santé et après des pressions internationales.
Nour était candidat du parti Ghad Al-Thawra aux élections présidentielles égyptiennes de 2012. Il a été exclu des élections avec un certain nombre d’autres candidats de l’opposition. En 2013, après s’être opposé au coup d’État militaire du président Abdel Fattah El-Sisi, Nour a fui l’ Égypte pour le Liban. En 2015, l’ambassade égyptienne au Liban a refusé de renouveler son passeport et Nour a quitté le Liban pour la Turquie, où il réside depuis 2015. Il reste un critique virulent du régime de Sissi, décrivant son gouvernement comme un « régime militaire oppressif ». Il a également accusé le gouvernement de Sissi de «violations extrêmes des droits humains» et d’avoir transformé le pays en un «État pleinement autocratique».
La deuxième cible dont nous avons confirmé que le téléphone avait été piraté avec le logiciel espion Predator de Cytrox est un journaliste égyptien en exil et un critique virulent du régime de Sissi. Cette cible a choisi de rester anonyme.
1.1. Entrez : Cytrox
Fondée en 2017 , l’activité commerciale de Cytrox est décrite sans ambages dans Crunchbase comme fournissant aux gouvernements une « cyber solution opérationnelle » qui comprend la collecte d’informations à partir d’appareils et de services cloud. Dans Pitchbook , leur technologie est définie comme des « systèmes de cyber-intelligence conçus pour offrir la sécurité » aux gouvernements et aider à « concevoir, gérer et mettre en œuvre la collecte de cyber-intelligence dans le réseau, permettant aux entreprises de recueillir des informations à partir des deux appareils finaux ainsi que des services cloud. . «
Cytrox aurait commencé sa vie en tant que start-up nord- macédonienne . Un examen des documents du registre des entreprises montre que Cytrox semble avoir une présence d’entreprise en Israël et en Hongrie.
Les sociétés israéliennes de Cytrox ont été fondées en 2017 sous le nom de Cytrox EMEA Ltd. et Cytrox Software Ltd. Prenant peut-être une page du manuel d’obscurcissement d’entreprise de Candiru , ces deux sociétés ont été renommées en 2019 en Balinese Ltd. et Peterbald Ltd., respectivement. Nous avons également observé une entité en Hongrie, Cytrox Holdings Zrt, qui a également été constituée en 2017.
Au moment de la rédaction, nous pensons que le PDG de Cytrox est Ivo Malinkovksi, comme indiqué sur sa page LinkedIn . Notamment, le compte Instagram désormais privé de Malinkovksi comprend une image de lui en 2019 devant les pyramides de Gizeh en Égypte.
Un rapport publié en 2019 par Forbes indique que Cytrox a été « sauvée » par Tal Dilian, un ancien commandant de l’ unité 81 des Forces de défense israéliennes (FDI) , dont la société WiSpear (qui semble avoir été renommée Passitora Ltd. ) est basée à Limassol, à Chypre et aurait a acquis Cytrox en 2018 selon le Fonds Atooro. Dilian est également connu comme le fondateur de Circles, une importante société de surveillance de réseaux cellulaires. En décembre 2020, le Citizen Lab a publié une enquête sur les clients gouvernementaux de Circles. Dilian est également le fondateur et PDG d’Intellexa.
1.2. Cytrox, une partie de « l’Alliance Intellexa »
La section suivante n’est pas un compte rendu complet de la relation entre Cytrox et d’autres entités. Il est basé sur un examen d’un mélange de rapports des médias et d’un examen non exhaustif des registres d’entreprises dans diverses juridictions. Des recherches supplémentaires sur Intellexa et les sociétés qui forment cette alliance marketing pourraient potentiellement fournir des informations utiles sur la façon dont les sociétés de surveillance commerciale emploient des structures commerciales complexes et utilisent des mesures qui obscurcissent leurs opérations.
Le lien entre Cytrox et Intellexa
Cytrox fait partie de la soi-disant « alliance Intellexa », un label marketing pour une gamme de fournisseurs de surveillance mercenaire qui a émergé en 2019. Le consortium d’entreprises comprend Nexa Technologies (anciennement Amesys), WiSpear/Passitora Ltd., Cytrox et Senpai , ainsi que d’autres entités anonymes, cherchant prétendument à concurrencer d’autres acteurs du marché de la cybersurveillance tels que NSO Group et Verint.
Basée à l’origine à Chypre, un rapport récent indique qu’Intellexa opère désormais depuis la Grèce, qui est également répertoriée comme l’ emplacement LinkedIn de son fondateur , Dilian. Un examen préliminaire de la documentation du registre des entreprises suggère que l’alliance a une présence d’entreprise non seulement en Grèce (Intellexa SA), mais aussi en Irlande (Intellexa Limited).L’entrée Dun & Bradstreet pour Intellexa SA et Intellexa Limited note Sara-Aleksandra Fayssal Hamou (ou Sara Hamou ) en tant que principal clé des deux sociétés. Hamou serait la deuxième épouse de Dilian.
Dans nos recherches préliminaires, le lien spécifique entre Cytrox et Intellexa, ainsi que d’autres sociétés de l’« alliance », reste au mieux obscur. Lors de l’examen des dépôts auprès du registre du commerce israélien, nous avons observé un transfert en 2020 de toutes les actions détenues par Cytrox Holdings Zrt (Hongrie) dans Cytrox EMEA Ltd./Balinese Ltd. (Israël) à Aliada Group Inc., une entité enregistrée dans le British Virgin. Îles (n° d’enregistrement 1926732). Avant ce transfert d’actions, Cytrox Holdings Zrt semble avoir été l’unique actionnaire de Cytrox EMEA Ltd./Balinese et après ce transfert d’actions, il semble rester l’unique actionnaire de Cytrox Software Ltd./Peterbald. De plus, un article d’ Intelligence Online en 2017 note que WiSpear Systems « appartient à Aliada Group Inc.
Les informations sur Aliada Group Inc. sont relativement rares. Le même article de 2017 d’ Intelligence Online note qu’Aliada Group Inc. est « soutenu par la société de capital-investissement Mivtach-Shamir, qui a dépensé 3,5 millions de dollars pour acquérir une participation de 32% dans Aliada en décembre 2016, ainsi qu’une option pour acquérir 5 autres %. » Mivtach-Shamir est « une société d’investissement israélienne cotée en bourse » fondée par Meir Shamir. En examinant les entrées de WiSpear/Passitora Ltd. dans le registre des entreprises de Chypre, nous avons noté que « Mivtah Shamir Technologies (2000) Ltd. » est inscrit comme administrateur de Passitora Ltd., avec Dilian. Nous avons également trouvé une entrée dans le registre du commerce israélien pour une « Mivtach Shamir Technologies (2000) Ltd. », qui a apparemment été constituée en 2000.
De plus, un article de Haaretz de 2020 a noté qu’Avi Rubinstein, un « entrepreneur de haute technologie, a déposé une plainte contre Dilian devant le tribunal de district de Tel Aviv ».Selon Haaretz , Aliada Group Inc. est décrit dans le litige comme « un groupe de sociétés de cyber-armes dont les produits sont commercialisés sous le nom Intellexa ». Deux autres individus, Oz Liv, qui était également commandant de l’unité 81, et Meir Shamir, sont également cités comme accusés. Selon Haaretz , ces deux personnes, ainsi que Rubinstein, qui a déposé la plainte, et Dilian, sont tous actionnaires d’Aliada Group Inc.
Haaretz note en outre que Rubinstein accuse Dilian, Liv et Shamir d’avoir agi « illégalement pour diluer ses propres actions [Rubinstein] à travers une pyramide de sociétés établies à l’étranger. Certaines de ces sociétés ont été créées via des hommes-écrans liés à Dilian, y compris sa seconde épouse, Sara Hamou » (comme indiqué ci-dessus, le nom de Hamou apparaît dans les listes du registre des sociétés dans la base de données Dun & Bradstreet pour les entités Intellexa en Irlande et en Grèce). Le procès aurait également affirmé que « ce transfert des activités d’Aliada hors d’Israël via des sociétés écrans, d’abord vers les îles Vierges britanniques et plus tard l’Irlande, violait les lois israéliennes et étrangères sur le contrôle des exportations de défense ».
Selon le registraire des affaires corporatives des BVI, à la date de publication de ce rapport, le statut juridique d’Aliada Group Inc. est « en pénalité » en raison du non-paiement des frais annuels. De plus, l’agent enregistré a déposé une intention de démission le 12 novembre 2021. La raison de la démission n’est pas encore claire.
Produits Intellexa
Une version antérieure du site Web Intellexa commercialise des « solutions de renseignement » y compris « l’interception tactique ». Le marketing de l’interception a également été souligné dans l’interview de Dilian pour Forbes en 2019 . Cependant, au moment de la rédaction, le site Web est considérablement plus vague sur les activités de l’entreprise. Dans sa forme actuelle, le site Web d’Intellexa et les vidéos associées présentent un produit appelé « Nebula » qui est décrit comme une plate-forme « holistique » de collecte et d’analyse de renseignements.
Le site Web de l’entreprise met en évidence l’affirmation selon laquelle elle est « basée dans l’UE et réglementée ». Cette affirmation est intéressante compte tenu des antécédents de certaines des sociétés participantes d’Intellexa, qui ont été semées de problèmes juridiques et d’autres controverses. Par exemple, en juin 2021, des dirigeants d’Amesys et de Nexa Technologies ont été inculpés par des juges d’instruction de la cellule crimes contre l’humanité et crimes de guerre du Tribunal Judiciaire de Paris pour complicité de torture en lien avec la vente de produits au gouvernement libyen et complicité de torture et disparition forcée liée à la vente de produits au gouvernement égyptien.
Dilian a également été suivi par des rapports d’irrégularités juridiques et autres, à la fois pendant son temps dans l’armée israélienne et dans sa nouvelle carrière en tant que vendeur de technologie de surveillance mercenaire. En 2019, après avoir courtisé la publicité avec une démonstration à Forbes d’un « fourgon de renseignement électromagnétique de 9 millions de dollars » doté de capacités de piratage des communications à Chypre, WiSpear et Tal Dilian ont suscité l’intérêt de la police. La camionnette a été confisquée par les autorités chypriotes, plusieurs employés de WiSpear/Passitora Ltd. ont été arrêtés et brièvement détenus, et Dilian a été recherché pour interrogatoire .
Selon un article de Reuters de 2020, Dilian – qui a qualifié l’enquête chypriote de « chasse aux sorcières » contre lui – a fui Chypre après qu’un mandat d’arrêt a été émis à son nom. Un article paru dans CyprusMail de novembre 2021 note que le bureau du procureur général a décidé « d’abandonner toutes les charges » contre les trois personnes impliquées dans l’affaire du « fourgon espion » (l’affaire contre WiSpear/Passitora Ltd. n’a pas été abandonnée). Un rapport du même mois note que WiSpear a été condamné à une amende de près d’un million d’euros pour violation de la vie privée.
2. Attaques contre les deux cibles
Nour est devenu méfiant pour la première fois après avoir observé que son iPhone « chauffait ». Nous avons appris le cas de Nour et examiné les journaux de son téléphone. En fin de compte, nous avons déterminé que son appareil avait été exploité et infecté par deux outils de logiciels espions mercenaires distincts : le logiciel espion Pegasus, fabriqué par NSO Group, et Predator, qui est développé par Cytrox.
Nous attribuons les attaques contre les deux cibles au gouvernement égyptien avec une confiance moyenne à élevée. Nous avons effectué une analyse (section 4) qui a identifié le gouvernement égyptien en tant que client Cytrox Predator, les sites Web utilisés dans le piratage des deux cibles portaient des thèmes égyptiens et les messages à l’origine du piratage ont été envoyés à partir de numéros WhatsApp égyptiens (section 2.5, section 2.7 ).
2.1. Confirmation de l’infection par NSO Pegasus d’Ayman Nour
Les journaux ont montré que le téléphone de Nour avait été compromis à plusieurs reprises avec le logiciel espion Pegasus de NSO Group depuis le 3 mars 2021. Par exemple, des preuves de l’exécution des processus suivants ont été identifiées sur le téléphone de Nour, remontant au 3 mars 2021 :
/private/var/db/com.apple.xpc.roleaccountd.staging/tisppd/private/var/db/com.apple.xpc.roleaccountd.staging/bfrgbd
/private/var/db/com.apple.xpc.roleaccountd.staging/xpccfd
/private/var/db/com.apple.xpc.roleaccountd.staging/comsercvd
/private/var/db/com.apple.xpc.roleaccountd.staging/rlaccountd
/private/var/db/com.apple.xpc.roleaccountd.staging/launchrexd
/private/var/db/com.apple.xpc.roleaccountd.staging/ckeblld
/private/var/db/com.apple.xpc.roleaccountd.staging/comnetd
/private/var/db/com.apple.xpc.roleaccountd.staging/accountpfd
/private/var/db/com.apple.xpc.roleaccountd.staging/jlmvskrd
/private/var/db/com.apple.xpc.roleaccountd.staging/msgacntd
/private/var/db/com.apple.xpc.roleaccountd.staging/brstaged
/private/var/db/com.apple.xpc.roleaccountd.staging/fdlibframed
Ces noms de processus apparaissent tous sur une liste d’indicateurs Pegasus publiée par Amnesty Tech et nous les avons également indépendamment liés à Pegasus. Les journaux de crash ont également montré que le 30 juin 2021, l’ exploit FORCEDENTRY de NSO Group (CVE-2021-30860) a été tiré sur le téléphone. L’exploit n’a pas entraîné l’installation du logiciel espion Pegasus pour le moment.
Sur la base des traces de FORCEDENTRY , de la présence de noms de processus liés à Pegasus et de facteurs supplémentaires, nous concluons avec une grande confiance que le téléphone a été piraté à plusieurs reprises avec le logiciel espion Pegasus de NSO Group à partir du 3 mars 2021.
2.2. Confirmation de l’infection par le prédateur Cytrox d’Ayman Nour
Après avoir confirmé les traces médico-légales de Pegasus sur l’iPhone de Nour, nous avons identifié la présence de logiciels espions supplémentaires, que nous attribuons avec une grande confiance à Cytrox. Nous concluons en outre avec une grande confiance qu’il n’est pas lié au logiciel espion Pegasus.
En examinant les journaux de l’iPhone, nous avons déterminé que, le 30 juin 2021, deux commandes “/Payload2”
étaient en cours d’exécution sur le téléphone (PID 339 et 1272), et que ces commandes avaient été lancées avec un seul argument, une URL sur distedc[.]com
. Les commandes s’exécutaient en tant que root.
Les journaux de l’iPhone indiquaient que les noms de processus des commandes étaient UserEventAgent et com.apple.WebKit.Networking , que leurs binaires résidaient sur le disque dans le dossier /private/var/tmp/ , et que le processus responsable des deux était siriactionsd , qui est un processus iOS légitime qui gère les raccourcis et les automatisations iOS.
Alors qu’iOS a des binaires légitimes avec les noms « com.apple.WebKit.Networking » et « UserEventAgent », les binaires des figures 5 ne correspondent à aucune version légitime connue d’Apple. De plus, les binaires iOS légitimes avec ces noms ne sont pas stockés au format /private/var/tmp/
. Les deux processus suspects étaient en cours dans le cadre de la com.apple.WorkflowKit.BackgroundShortcutRunner
coalition « » launchd. Nous avons trouvé deux processus suspects supplémentaires qui s’étaient récemment déroulés dans cette même coalition, nommés « hooker » et « takePhoto ».
2.3. Attribution à Cytrox
Nous avons recherché l’adresse IP de distedc[.]com sur le service d’analyse Internet Censys et avons constaté qu’en octobre 2021, il renvoyait une redirection HTTP 302 vers https://duckduckgo.com . Concluant que cela pourrait être un comportement d’identification, nous avons construit une empreinte digitale Censys pour la redirection.
Nous avons trouvé 28 hôtes sur Censys correspondant à cette empreinte digitale en octobre 2021, y compris une adresse IP en Macédoine du Nord 62.162.5[.]58
, qui a été pointée par dev-bh.cytrox[.]com
en août 2020, et qui a également renvoyé une redirection avec dev-bh.cytrox[.]com
dans son en-tête Location sur le port 80 pendant cette période .
De plus, l’outil DNS passif RiskIQ montre que l’IP 62.162.5[.]58 a renvoyé un certificat (0fb1b8da5f2e63da70b0ab3bba8438f30708282f) pour teslal[.]xyz entre juillet 2020 et septembre 2020. Comme 62.162.5[.]58
renvoie actuellement un teslal[.]xyz
certificat, nous supposons que l’IP n’a pas changé propriété depuis août 2020 et est donc toujours liée à cytrox[.]com
.
Le domaine cytrox.com renvoyait auparavant une page WordPress contenant une adresse e-mail ( ivo@cytrox.com ), qui semble être l’e-mail d’Ivo Malinkovski, PDG de Cytrox. La page WordPress n’est apparemment pas maintenue et a apparemment été piratée pour inclure des liens de spam vers un casino en ligne (Figure 6).
Nous avons analysé les binaires associés au spyware (Section 3), qui ont révélé que le spyware est nommé « Predator ». Nous avons effectué des empreintes et des analyses supplémentaires (section 4) qui nous ont permis d’identifier des composants supplémentaires de l’infrastructure client Cytrox.
2.4. Observation de domaines supplémentaires
En plus de distedc[.]com, nous avons observé des domaines supplémentaires associés à l’installation de Predator sur les deux téléphones victimes.
Domaine | Où vu |
---|---|
distedc[.]com | Comme argument pour exécuter le processus Predator dans les journaux système ; dans l’automatisation iOS pour la persistance Predator |
gosokm[.]com | Les journaux du système iOS pour l’exécution des processus Predator ont montré une exfiltration de données ici |
youtubesyncapi[.]combity[.]ws | La configuration Predator est renvoyée aux journaux système |
egyqaz[.]com | Dans l’échantillon Android Predator téléchargé à partir de distedc[.]com ; Historique Safari de l’appareil compromis |
almasryelyuom[.]comqwxzyl[.]com | Historique Safari de l’appareil compromis horodaté ~ 1 ms avant egyqaz[.]com |
Tableau 1 : Domaines observés dans les logiciels espions Predator utilisés pour pirater des cibles égyptiennes.
2.5. Comment Ayman Nour a été piraté avec Predator
Nous avons recherché ces domaines dans le téléphone de Nour et avons découvert qu’un numéro égyptien sur WhatsApp (+201201407978), prétendant être un « Dr. Rania Shhab », a envoyé quatre liens distincts vers almasryelyuom[.]com et qwxzyl[.]com vers l’appareil de Nour. Les liens ont été envoyés sous forme d’images contenant des URL. Le même compte WhatsApp a envoyé un lien vers youtu-be[.]net, que nous estimons également lié, car la réponse du serveur pour youtu-be[.]net correspond à celle d’almasryelyuom[.]com et qwxzyl[.]com.
Voici des exemples d’images accompagnant les liens envoyés par l’attaquant, extraites du téléphone de Nour :
2.6. Preuve de Predator et Pegasus fonctionnant simultanément
Les journaux téléphoniques indiquent que le 22 juin 2021, Pegasus et Predator fonctionnaient simultanément sur le téléphone de Nour, car ces quatre processus ont été observés en cours d’exécution simultanément :
PID | Traiter | Spyware |
---|---|---|
4219 | /private/var/db/com.apple.xpc.roleaccountd.staging/launchrexd | Pégase |
4257 | /private/var/db/com.apple.xpc.roleaccountd.staging/fdlibframed | Pégase |
4265 | /private/var/tmp/UserEventAgent | Prédateur |
4412 | /private/var/tmp/com.apple.WebKit.Networking | Prédateur |
Tableau 2 : Processus Pegasus et Predator exécutés simultanément sur le téléphone de Nour le 22 juin 2021.
Les journaux téléphoniques indiquent que l’appareil a été infecté par Pegasus le 22 juin à 13h26 GMT. Un certain nombre de bibliothèque / SMS / Pièces jointes dossiers ont été créés 13h17-13h21, et il n’y avait absolument aucune entrée dans le Attachments tableau du sms.db fichier 22 Juin, ce qui suggère qu’un clic zéro exploit peut avoir été le vecteur pour l’installation de Pegasus. Environ une heure plus tard, un lien Predator envoyé à Nour sur WhatsApp a été ouvert dans Safari à 14h33 GMT le même jour et Predator a été installé sur l’appareil deux minutes plus tard à 14h35 GMT.
2.7. Comment la deuxième cible a été piratée avec Predator
La deuxième cible, un journaliste égyptien en exil qui anime une émission d’information populaire, a reçu un message sur WhatsApp d’un numéro inconnu (+201201407595) avec un lien vers le même site Web almasryelyuom[.]com.
L’individu qui a envoyé le lien a affirmé qu’il était rédacteur en chef adjoint du journal Al Masry Al Youm .
3. Analyse du logiciel espion Predator de Cytrox
Nous avons obtenu les charges utiles Android et iOS de distedc[.]com et avons découvert qu’il s’agissait de copies d’un chargeur pour un logiciel espion appelé Predator. Nous pensons que ces charges utiles sont invoquées par une phase d’exploitation précédente que nous n’avons pas.
3.1. Initialisation
L’exécutable de l’iPhone est un binaire Mach-O 64 bits qui, comme son homologue Android, attend deux arguments lorsque la main
fonction du binaire est appelée, qui semblent être un port de tâche de processus du noyau et une valeur pid. La main
fonction appelle ensuite kmem_init
avec ces valeurs, ce qui active l’étape 1 de Predator pour une exécution continue. L’exemple Android transmet ses arguments aux constantes partagées SHMEMFD_VSS
et SHMEMFD_VSS
.
Les exemples iOS et Android appellent ensuite une startPy
fonction pour charger un runtime Python 2.7 fourni. Dans l’exemple iOS, deux objets intégrés supplémentaires sont ajoutés au runtime : predutils
et predconfig. L’exemple Android contient d’autres objets intégrés supplémentaires : injecteur, pc2, enregistreur et voip_recorder. Lors de l’initialisation, startPy charge un module Python gelé nommé loader qui commence par importer la configuration Predator à partir du module predconfig de l’interpréteur.
Les configurations iOS et Android sont légèrement différentes. Les configurations complètes sont disponibles en Annexe 1 . Une fois que Predator iOS a chargé sa configuration, il charge un autre module Python gelé nommé km_ios, un module utilitaire qui fournit des fonctions d’aide à la gestion de la mémoire du noyau permettant des fonctionnalités supplémentaires du module Predator.
La charge utile iOS contient également une fonction _check, qui interroge le numéro de téléphone et le code de pays actuel du téléphone. Si le code de pays local est égal à « IL » (le code de pays d’Israël) ou si le numéro de téléphone commence par « +972 » (le code de pays du téléphone d’Israël), le logiciel espion se termine. Cependant, la méthode utilisée par Predator pour interroger le numéro de téléphone, CTSettingCopyMyPhoneNumber, peut ne pas fonctionner dans les versions récentes d’iOS. Nous n’avons pas pu déterminer comment (ou si) la fonction _check est appelée.
3.2. Chargeur Python
En plus du module de chargement gelé, « src/loader.py » (« frozenpyc/src/loader.py » dans l’exemple Android), nous avons également trouvé des copies de ce qui semble être des versions plus anciennes du module qui ne semblent pas être invoqué par Predator : « src/loader2.py », « src/loader_real.py » et « src/loaderBackup03 ». Toutes les versions du chargeur contiennent plusieurs références à « Predator ».
Après avoir chargé la configuration de Predator, le chargeur iOS efface ensuite les journaux de crash de l’appareil en supprimant tous les fichiers dans « /private/var/mobile/Library/Logs/CrashReporter/ ». Ensuite, il télécharge un fichier de configuration et des étapes supplémentaires du logiciel espion à partir du serveur (spécifié par le paramètre INS_URL de predconfig, qui est défini sur https://bity[.]ws).
Sur Android, le module de chargement télécharge également des fichiers supplémentaires à partir du serveur (spécifié par le paramètre INS_URL de predconfig, qui est défini sur https://egyqaz[.]com).
3.3. Persistance sur iOS
Sur iOS, le chargeur appelle une fonction get_configuration_persistency, qui télécharge une automatisation des raccourcis iOS à partir du serveur de logiciels espions pour assurer la persistance. La charge utile persistante est appelée « Nahum », qui est le nom d’un prophète biblique mineur. La prophétie de Nahum apparaît dans le Tanakh hébreu et l’Ancien Testament chrétien, et prédit la destruction totale de Ninive, une puissante ville forteresse.
Ninive est détruite, déserte, désolée ! Les cœurs fondent de peur ; les genoux tremblent, la force est partie; les visages pâlissent. Où est maintenant la ville qui était comme une fosse aux lions, l’endroit où les jeunes lions étaient nourris, où le lion et la lionne allaient et leurs petits seraient en sécurité ?
Nahum 2:10-11 GNB
L’automatisation iOS est déclenchée lorsque certaines applications sont ouvertes, y compris un certain nombre d’applications Apple intégrées, telles que l’App Store, Appareil photo, Mail, Maps, Safari, ainsi que des applications tierces telles que Twitter, Instagram, Facebook Messenger, LinkedIn, Skype, SnapChat, Viber, Wire, TikTok, Line, OpenVPN, WhatsApp, Signal et Telegram.
L’automatisation vérifie d’abord si le niveau de batterie du téléphone est supérieur à 9 % (c’est-à-dire si le téléphone n’est pas dans une situation de batterie faible). Si le niveau de batterie du téléphone est adéquat, l’automatisation télécharge le code JavaScript du serveur de logiciels espions et remplace ce code par un bloc HTML contenu dans le raccourci. Nous n’avons pas pu obtenir ce code JavaScript. Le code HTML du raccourci contient également une fonction JavaScript « make_bogus_transform » qui semble créer une transformation XSLT pouvant être invoquée par le code JavaScript téléchargé. Le code HTML avec le JavaScript substitué est ensuite codé en Base64, son contenu est précédé de « data:text/html », puis l’automatisation transmet cette URL à WebKit pour le rendu. Cela déclenche vraisemblablement l’exploit et entraîne l’installation du logiciel espion Predator.
Alors que les automatisations déclenchent normalement des notifications visibles lorsqu’elles sont exécutées, le raccourci Predator s’exécute entièrement en arrière-plan, invisible pour l’utilisateur, car Predator modifie également une option pour désactiver les automatisations en déclenchant des notifications.
La fonction get_configuration_persistency télécharge également un profil iOS nommé « com.[name redacted].disable-shortcuts-notifications », à partir du serveur de logiciels espions.
Nous avons localisé un profil du même nom publié publiquement par [nom supprimé], un étudiant en génie logiciel. Nous écrivons ici le nom de l’étudiant car nous ne pensons pas qu’il soit impliqué dans le développement de Cytrox Predator. La seule fonction du profil est d’empêcher iOS d’afficher des notifications lorsqu’une automatisation est exécutée. Ainsi, les utilisateurs qui ont été piratés avec Predator ne voient pas de notifications lorsque le logiciel espion est lancé.
Il n’y a rien de particulièrement spécial ou complexe à propos de ce profil spécifique, et les développeurs de Predator auraient facilement pu créer leur propre profil similaire qui dupliquait cette fonctionnalité sans mentionner le nom de l’étudiant en génie logiciel.
La fonction get_configuration_persistency télécharge également les fichiers binaires appelés « takePhoto », « agent.dylib », « inject » et « hooker » sur iOS14, mais ne télécharge pas ces fichiers sur iOS13, mais enregistre à la place le message « iOS 13, don’t need hooker . » Nous n’avons pas obtenu ces fichiers, mais nous pensons que « hooker » et « takePhoto » sont les mêmes binaires que nous avons vus en cours d’exécution dans la section 2.2.
3.4. Détails supplémentaires sur Android
Nous n’avons pas trouvé de mécanisme de persistance sur Android, ni de valeurs dans le fichier de configuration Android indiquant la prise en charge de la persistance. Cependant, nous avons trouvé du code supplémentaire dans l’exemple Android, notamment du code pour désactiver SELinux et du code pour un composant d’enregistrement audio.
Predator stocke des modules Python supplémentaires et des binaires ELF natifs dans le fichier SQLite fs.db qui se trouve dans le chemin défini dans DB_FILE. L’interpréteur Python a un module gelé appelé sqlimper qui est responsable de l’interaction avec cette base de données. La base de données contient une table appelée files qui a une colonne appelée file_hash et une colonne appelée file_data. Le file_hash est utilisé à la place d’un nom de fichier et est calculé à l’aide de la routine suivante, où n est le nom :
Le module injecteur déclare une fonction, inject, qui peut injecter un objet partagé dans un processus en cours d’exécution. Fait intéressant, il existe une fonction appelée avant l’injection qui tente de désactiver l’application de SELinux via SELinuxFS.
Il convient de noter que cette approche ne réussira probablement pas sur les appareils dotés de contrôles et de protections supplémentaires autour de l’application de SELinux, par exemple, Samsung RKP. Cependant, il existe des artefacts associés à Predator qui suggèrent que des approches telles que RKP peuvent être vaincues en piétinant les entrées de cache de vecteur d’accès SELinux pour accorder les autorisations nécessaires.
Le module pc2 contient une seule fonction, pc2_send_command, qui est utilisée comme mécanisme IPC pour envoyer des commandes au composant d’enregistrement audio de Predator. Les commandes prises en charge sont START_VOIP, STOP_VOIP, START_MICRORECORDER, STOP_MICRORECORDER et POLL_VOIP. Ce module fonctionne en conjonction avec les modules recorder et voip_recorder. Chacun des modules d’enregistrement a une fonction de démarrage et d’arrêt qui est utilisée pour démarrer/arrêter les capacités de micro (enregistreur) et d’enregistrement d’appels (voip_recorder) de Predator. Les enregistrements sont stockés dans /data/local/tmp/wd/r/ au format MP3.
4. Numérisation pour trouver des clients Cytrox
Nous avons relevé le comportement des domaines à partir du tableau 1 et trouvé des domaines supplémentaires via Shodan et Censys.
Domaines | Empreinte digitale |
---|---|
almasryelyuom[.]comqwxzyl[.]comyoutu-be[.]net | [ Shodan , Censys ] |
egyqaz[.]com | [ Shodan , Censys ] |
distedc[.]com | [ Shodan , Censys ] |
gosokm[.]com | [ Shodan , Censys ] |
youtubesyncapi[.]combity[.]ws | [ Shodan , Censys ] |
Tableau 3 : Empreintes digitales Shodan et Censys pour les domaines Cytrox.
Parmi les résultats de Shodan et Censys, nous avons identifié plusieurs serveurs qui renvoyaient des en-têtes de serveur HTTP avec la valeur « Server » plutôt que « nginx ». Ces serveurs étaient généralement hébergés sur des connexions haut débit grand public disponibles uniquement pour les abonnés locaux, plutôt que sur des services d’hébergement cloud. qui peuvent être achetés à l’échelle internationale. Nous pensons que les adresses IP « Serveur : Serveur » sur les connexions à large bande grand public sont des adresses IP de point de terminaison qui indiquent l’emplacement des clients. Nous avons trouvé des adresses IP de terminaux dans les pays suivants, nous concluons donc que ces gouvernements font probablement partie des clients de Cytrox :Arménie, Egypte, Grèce, Indonésie, Madagascar, Oman, Arabie Saoudite, Serbie
L’analyse révèle également une gamme de domaines utilisés par Cytrox qui ont des thèmes spécifiques à des pays, ce qui nous amène à penser qu’ils peuvent être spécifiquement ciblés par rapport à ces pays. Nous en listons un sous-ensemble dans le tableau 4.
Thème Pays | Domaine Cytrox |
---|---|
Egypte | aramexegypt[.]comalmasryelyuom[.]comalraeesnews[.]netbank-alahly.comcarrefourmisr[.]comeg-gov[.]orgegyqaz[.]cometisalategypt.techikea-egypt[.]netorangegypt[.]cosinai-new[.]comuberegypt.cn[.]comvodafoneegypt[.]techyallakora-egy.comyuom7[.]net |
Côte d’Ivoire | adibjan[.]netpolitique-koaci[.]info |
Madagascar | tribune-mg[.]xyz |
Mali | actuali[.]org |
Arabie Saoudite | niceonase[.]comniceonesa[.]net |
Serbie | novosti[.]enchèrepolitika[.] offre |
Trinité-et-Tobago | forwardeshoptt[.]comtuteur-tt[.]moi |
Tableau 4 : Certains domaines Cytrox Predator indiquant des thèmes de pays.
Nous avons également identifié d’autres domaines se faisant passer pour des entreprises et des sites en ligne populaires (tableau 5).
Service légitime | Domaine Cytrox |
---|---|
Pomme | applepps[.]com |
Fox News | ffoxnewz[.]com |
Google Play Store | playestore[.]net |
instegram[.]co | |
lnkedin[.]org | |
Séphora | sephoragroup[.]com |
Moteurs Tesla | teslal[.]boutiqueteslal[.]xyz |
twtter[.]nettw.itter[.]moi | |
quoi.tsapp[.]moi | |
XNXX | xnxx-hub[.]com |
Youtube | youtu-be[.]netapplication youtube[.]youtubewatch[.]co |
Tableau 5 : Certains domaines Cytrox Predator usurpant l’identité d’entreprises ou de sites Web légitimes.
Note spéciale : Prédateur après Pegasus pour l’Arabie saoudite ?
Une adresse IP en Arabie saoudite semble avoir commencé à correspondre à nos empreintes digitales Cytrox Predator fin juillet 2021, et nous classons cette adresse IP comme celle d’un client Predator probable. Le rapport de transparence du groupe NSO du 30 juin 2021 mentionne que NSO a coupé un client, signalé plus tard comme étant l’Arabie saoudite par le New York Times , apparemment en réponse aux révélations d’espionnage des journalistes d’Al Jazeera . Cela peut indiquer que l’Arabie saoudite est passée de Pegasus à Predator.
5. Divulgation et exécution
Conformément à la politique de divulgation des vulnérabilités du Citizen Lab, nous avons partagé des copies des artefacts médico-légaux Cytrox Predator avec Apple, qui a confirmé au Citizen Lab qu’ils enquêtaient. De plus, étant donné l’abus du ciblage de WhatsApp pour les prédateurs, le Citizen Lab a partagé des artefacts médico-légaux avec l’équipe de sécurité de Meta.
Aujourd’hui, jeudi 16 décembre, Meta prend une mesure d’exécution contre Cytrox, qui comprend la suppression d’environ 300 comptes Facebook et Instagram liés à Cytrox. Leur enquête révèle également une longue liste de domaines similaires utilisés dans le cadre d’attaques d’ingénierie sociale et de logiciels malveillants, qui sont inclus dans l’ annexe A de leur rapport .
Le rapport Meta indique qu’ils pensent que les clients de Cytrox comprennent des entités en Égypte, en Arménie, en Grèce, en Arabie saoudite, à Oman, en Colombie, en Côte d’Ivoire, au Vietnam, aux Philippines et en Allemagne, et qu’ils ont identifié un ciblage abusif supplémentaire initié par les clients de Cytrox autour du monde.
6. Conclusion
Ce rapport est la première enquête à découvrir que le logiciel espion mercenaire de Cytrox est abusé pour cibler la société civile. Remarquablement, l’une des victimes a été simultanément infectée par le logiciel espion Pegasus de NSO Group. NSO Group a reçu une publicité démesurée ces dernières années, grâce à une liste de clients croissante, des problèmes d’abus en spirale et un travail d’enquête révolutionnaire de la société civile. Cytrox et son logiciel espion Predator, quant à eux, sont relativement méconnus.
Le ciblage d’un seul individu avec à la fois Pegasus et Predator souligne que la pratique du piratage de la société civile transcende toute entreprise de logiciel espion mercenaire spécifique. Au lieu de cela, c’est un modèle qui, nous l’espérons, persistera aussi longtemps que les gouvernements autocratiques seront en mesure d’obtenir une technologie de piratage sophistiquée. En l’absence de réglementations et de garanties internationales et nationales, les journalistes, les défenseurs des droits humains et les groupes d’opposition continueront d’être piratés dans un avenir prévisible.
L’écosystème des logiciels espions mercenaires
Le Citizen Lab et le Security Lab d’ Amnesty International ont tous deux produit des rapports techniques détaillés sur le groupe NSO. Bien qu’importante, la société de logiciels espions mercenaires n’était pas la première ni la seule société de logiciels espions de son genre dont la technologie a été liée à des problèmes d’abus. En fait, le marché des capacités d’intrusion offensive est vaste, varié et prolifère à l’échelle internationale.
Par exemple, avant le premier rapport du Citizen Lab sur le groupe NSO en 2016, nous avons documenté des abus considérables de Hacking Team et des logiciels espions mercenaires FinFisher . (Hacking Team a ensuite été rebaptisé Memento Labs en 2019.) En 2017, nous avons publié un rapport sur la société de logiciels espions Cyberbit, dont la technologie a été utilisée par l’Éthiopie pour monter une campagne mondiale de cyberespionnage. Nous avons également découvert des preuves que Cyberbit commercialisait son logiciel espion auprès d’abuseurs des droits humains connus, notamment l’armée royale thaïlandaise, les services secrets ouzbeks, le Vietnam, le Kazakhstan, le Rwanda, la Serbie et le Nigéria. Plus tôt cette année, nous avons publié un rapport sur une autre entreprise de logiciels espions, Candiru, nos conclusions étant corroborées de manière indépendante par Microsoft , Google et l’ équipe de renseignements sur les menaces d’ ESET. Candiru a ensuite été désigné aux côtés du groupe NSO sur la « liste d’entités » du département américain du Commerce en novembre 2021 pour « cyberactivités malveillantes ».
Alors que des preuves continuent de faire surface sur de nouveaux acteurs dans l’espace des logiciels espions, les mêmes schémas d’abus persisteront presque certainement jusqu’à ce que l’environnement réglementaire international change.
Structures pour éviter la responsabilité
Le marché du renseignement privé et de la surveillance des mercenaires est marqué par des structures de propriété complexes , des alliances d’entreprises et un changement de marque régulier. Ces pratiques entravent les enquêtes, la réglementation et la responsabilité. Les sociétés de logiciels espions mercenaires échappent en outre aux contrôles extérieurs en utilisant des techniques de comptabilité et d’incorporation complexes familières à celles utilisées par les trafiquants d’armes, les blanchisseurs d’argent, les kleptocrates et les fonctionnaires corrompus.
Alors que les journalistes d’investigation et les chercheurs d’intérêt public continuent de braquer les projecteurs sur les sociétés de logiciels espions mercenaires, nous espérons qu’elles poursuivront leurs efforts pour échapper à l’examen et à la responsabilité.
Remerciements
Merci à à M . S. et Ayman Nour. Les enquêtes du Citizen Lab dépendent du fait que les victimes et les cibles partagent gracieusement les preuves avec nous.
Merci à Meta pour avoir enquêté sur cette affaire suite à notre notification et pris des mesures d’application, et à Apple.
Merci à TNG.
Merci à Amnesty Tech d’avoir partagé des détails WHOIS supplémentaires pointant vers Intellexa.
Merci à l’équipe Cymru.
Annexe 1 : Configurations des prédateurs
Configuration Android :
FS_ENDPOINT | il h | Composant URL lors du téléchargement de ressources supplémentaires |
---|---|---|
INS_URL | https[:]//egyqaz[.]com/ | URL de base lors du téléchargement de ressources supplémentaires |
FIN_URL | https[:]//egyqaz[.]com/{}/vmq | |
DB_ÉTAPE | 9 | |
RSA_PKEY | <une clé publique RSA> | |
TEMPS D’ATTENTE | 2 | |
P_DIR | /data/local/tmp/wd/ | Chemin d’accès au répertoire de travail Predator |
DB_FILE | /data/local/tmp/wd/fs.db | Chemin d’accès à la base de données SQLite qui contient des outils supplémentaires et des modules Python |
PE_METHODE | COULEURS | La méthode d’élévation des privilèges à utiliser |
INS_CERT | <un certificat x509> | |
LIBPYTHON_GIT_COMMIT | 2b2f6c3 | Git commit hash du projet |
FS_KEY | <caviardé> | Clé utilisée pour chiffrer la base de données SQLite |
Configuration iOS :
Clé de configuration | Valeur de configuration | Remarques |
---|---|---|
PERSIST_FLAG | drapeau persistant | Bascule booléenne de persistance |
PERSISTER | https[:]//youtubesyncapi[.]com/ | Point de terminaison du domaine de persistance |
PERSIST_ID | PI112233445566778899EEEEEEDDEEFF | Identifiant de persistance |
INS_URL | https[:]//bity[.]ws | URL de base lors du téléchargement de ressources supplémentaires |
INP_URL | http[:]//192.168.2[.]1[:]8080 | |
FIN_URL | https[:]//bity[.]ws/{}/finish | |
DB_ÉTAPE | 9 | |
RSA_PKEY | <une clé publique RSA> | |
TEMPS D’ATTENTE | 2 | |
P_DIR | /private/var/logs/keybagd/ | Chemin d’accès au répertoire de travail Predator |
DB_FILE | /private/var/logs/keybagd/fs.db | Chemin d’accès à la base de données SQLite qui contient des outils supplémentaires et des modules Python |
ENC_FILE | /private/var/logs/keybagd/arm64e.encrypted | |
SHORT_FILE | /private/var/logs/keybagd/Shortcuts.realm | Fichier de persistance des raccourcis |
SHORT_FILE_LOCK | /private/var/logs/keybagd/Shortcuts.realm.lock | |
JS_FILE | /private/var/logs/keybagd/jsPayload.js.encrypted | |
JS_KEY_FILE | /private/var/logs/keybagd/jskey.txt | |
PRED_KEY_FILE | /private/var/logs/keybagd/predkey.txt | |
PE_METHODE | NWIOS | La méthode d’élévation des privilèges à utiliser |
INS_CERT | <un certificat x509> | |
LIBPYTHON_GIT_COMMIT | inconnue | Git commit hash du projet |
FS_KEY | TEST | Clé utilisée pour chiffrer la base de données SQLite |
Par Bill Marczak , John Scott-Railton , Bahr Abdul Razzak , Noura Al-Jizawi , Siena Anstis , Kristin Berdan et Ron Deibert
Source : The Citizen Lab, 16/12/2021
#Pegasus #Predator #Cytrox_Mercenary #Whatsapp #Logiciels_espions #Espionnage #Hacking #Piratage
Be the first to comment