Remote-Url: https://www.amnesty.org/en/latest/research/2021/07/forensic-methodology-report-how-to-catch-nso-groups-pegasus/ Retrieved-at: 2021-12-15 19:27:23.839238+00:00 A copy of this report is available for downloadhere.IntroductionNSO Group claims that its Pegasus spyware is only used to“investigate terrorism and crime”and“leaves no traces whatsoever”. This Forensic Methodology Report shows that neither of these statements are true. This report accompanies the release of the Pegasus Project, a collaborative investigation that involves more than 80 journalists from 17 media organizations in 10 countries coordinated by Forbidden Stories with technical support of Amnesty International’s Security Lab.[1]Amnesty International’s Security Lab has performed in-depth forensic analysis of numerous mobile devices from human rights defenders (HRDs) and journalists around the world. This research has uncovered widespread, persistent and ongoing unlawful surveillance and human rights abuses perpetrated using NSO Group’s Pegasus spyware.As laid out in the UN Guiding Principles on Business and Human Rights, NSO Group should urgently take pro-active steps to ensure that it does not cause or contribute to human rights abuses within its global operations, and to respond to any human rights abuses when they do occur. In order to meet that responsibility, NSO Group must carry out adequate human rights due diligence and take steps to ensure that HRDs and journalists do not continue to become targets of unlawful surveillance.In this Forensic Methodology Report, Amnesty International is sharing its methodology and publishing an open-source mobile forensics tool and detailed technical indicators, in order to assist information security researchers and civil society with detecting and responding to these serious threats.This report documents the forensic traces left on iOS and Android devices following targeting with the Pegasus spyware. This includes forensic records linking recent Pegasus infections back to the 2016 Pegasus payload used to target the HRD Ahmed Mansoor.The Pegasus attacks detailed in this report and accompanying appendices are from 2014 up to as recently as July 2021. These also include so-called “zero-click” attacks which do not require any interaction from the target. Zero-click attacks have been observed since May 2018 and continue until now. Most recently, a successful “zero-click” attack has been observed exploiting multiple zero-days to attack a fully patched iPhone 12 running iOS 14.6 in July 2021.Sections 1 to 8 of this report outline the forensic traces left on mobile devices following a Pegasus infection. This evidence has been collected from the phones of HRDs and journalists in multiple countries.Finally, in section 9 the report documents the evolution of the Pegasus network infrastructure since 2016. NSO Group has redesigned their attack infrastructure by employing multiple layers of domains and servers. Repeated operational security mistakes have allowed the AmnestyInternational Security Lab to maintain continued visibility into this infrastructure. We are publishing a set of 700 Pegasus-related domains.Names of several of the civil society targets in the report have been anonymized for safety and security reasons. Individuals who have been anonymized have been assigned an alphanumeric code name in this report.1. Discovering Pegasus network injection attacksAmnesty International’s technical investigation into NSO Group’s Pegasus intensified following our discovery ofthe targeting of an Amnesty International staffer and a Saudi activist,Yahya Assiri, in 2018.Amnesty International’s Security Lab began refining its forensics methodology through the discovery ofattacks against HRDs in Morocco in 2019, which were further corroborated byattacks we discovered against a Moroccan journalist in 2020. In this first section we detail the process which led to the discovery of these compromises.Numerous public reports had identified NSO Group’s customers using SMS messages with Pegasus exploit domains over the years. As a result, similar messages emerged from our analysis of the phone of Moroccan activist Maati Monjib, who was one of the activists targeted as documented in Amnesty International’s2019 report.However, on further analysis we also noticed suspicious redirects recorded in Safari’s browsing history. For example, in one case we noticed a redirect to an odd-looking URL after Maati Monjib attempted to visit Yahoo:Visit IDDate (UTC)URLRedirect SourceRedirect Destination161192019-07-22 17:42:32.475http://yahoo.fr/null16120161202019-07-22 17:42:32.478https://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz16119null(Please note: throughout this document we escaped malicious domains with the marking[.]to prevent accidental clicks and visits.)The URLhttps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hzimmediately appeared suspicious, particularly because of the presence of a 4th level subdomain, a non-standard high port number, and a random URI similar to links contained in SMS messages previously documented in connection to NSO Group’s Pegasus. As you can see in the table above, the visit to Yahoo was immediately redirected to this suspicious URL with database ID 16120.In ourOctober 2019report, we detail how we determined these redirections to be the result of network injection attacks performed either through tactical devices, such as rogue cell towers, or through dedicated equipment placed at the mobile operator. When months later we analysed the iPhone of Moroccan independent journalist Omar Radi, who as documented in our 2020 report was targeted, we found similar records involving thefree247downloads[.]comdomain as well.In November 2019, after Amnesty International’s initial report, a new domainurlpush[.]netwas registered. We found it subsequently involved in similar redirects to the URLhttps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj.Although Safari history records are typically short lived and are lost after a few months (as well as potentially intentionally purged by malware), we have been able to nevertheless find NSO Group’s infection domains in other databases of Omar Radi’s phone that did not appear in Safari’s History. For example, we could identify visits through Safari’sFavicon.dbdatabase, which was left intact by Pegasus:Date (UTC)URLIcon URL2019-02-11 14:45:53https://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YPhttps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/favicon.ico2019-09-13 17:01:38https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#011356570257117296834845704022338973133022433397236https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico2019-09-13 17:01:56https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#068099561614626278519925358638789161572427833645389https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico2020-01-17 11:06:32https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946%2324https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.ico2020-01-27 11:06:24https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.icoAs explained in the Technical Appendix of our 2020report on Pegasus attacks in Morocco, these redirects do not only happen when the target is navigating the Internet with the browser app, but also when using other apps. For example, in one case Amnesty International identified a network injection while Omar Radi was using the Twitter app. When previewing a link shared in his timeline, the servicecom.apple.SafariViewServicewas invoked to load a Safari WebView, and a redirect occurred.Because of this, we can find additional records involving the domainsfree247downloads[.]comandurlpush[.]netin app-specific WebKit local storage, IndexedDB folders, and more. In multiple cases IndexedDB files were created by Safari shortly after the network injection redirect to the Pegasus Installation Server.In addition, Safari’s Session Resource logs provide additional traces that do not consistently appear in Safari’s browsing history. It appears Safari does not record full redirect chains, and might only keep history records showing the final page that was loaded. Session Resource logs recovered from the analysed phones demonstrate that additional staging domains are used as trampolines eventually leading to the infection servers. In fact, these logs reveal that the very first network injection against Maati Monjib we describe at the beginning of this post also involved the domaindocumentpro[.]org:Redirect SourceOriginRedirect Destinationyahoo.frdocumentpro[.]orgfree247downloads[.]comMaati Monjib visited http://yahoo.fr, and a network injection forcefully redirected the browser to documentpro[.]org before further redirecting to free247downloads[.]com and proceed with the exploitation.Similarly, on a different occasion Omar Radi visited the website of French newspaper Le Parisien, and a network injection redirected him through the staging domaintahmilmilafate[.]comand then eventually to free247downloads[.]com as well. We also sawtahmilmilafate[.]infoused in the same way:Redirect SourceOriginRedirect Destinationleparisien.frtahmilmilafate[.]comfree247downloads[.]comIn the most recent attempts Amnesty International observed against Omar Radi in January 2020, his phone was redirected to an exploitation page atgnyjv1xltx.info8fvhgl3.urlpush[.]netpassing through the domainbaramije[.]net. The domain baramije[.]net was registered one day beforeurlpush[.]net, and a decoy website was set up using the open source Textpattern CMS.Traces of network activity were not the only available indicators of compromise, and further inspection of the iPhones revealed executed processes which eventually led to the establishment of a consistent pattern unique to all subsequent iPhones that Amnesty International analysed and found to be infected.2. Pegasus’ BridgeHead and other malicious processes appearAmnesty International, Citizen Lab, and others have primarily attributed Pegasus spyware attacks based on the domain names and other network infrastructure used to deliver the attacks. However, forensic evidence left behind by the Pegasus spyware provides another independent way to attribute these attacks to NSO Group’s technology.iOS maintains records of process executions and their respective network usage in two SQLite database files called “DataUsage.sqlite” and “netusage.sqlite” which are stored on the device. It is worth noting that while the former is available in iTunes backup, the latter is not. Additionally, it should be noted that only processes that performed network activity will appear in these databases.Both Maati Monjib’s and Omar Radi’s network usage databases contained records of a suspicious process called “bh”. This “bh” process was observed on multiple occasions immediately following visits to Pegasus Installation domains.Maati Monjib’s phone has records of execution of “bh” from April 2018 until March 2019:Fist date (UTC)Last date (UTC)Process NameWWAN INWWAN OUTProcess ID2018-04-29 00:25:122019-03-27 22:45:10bh3319875.0144443.059472Amnesty International found similar records on Omar Radi’s phone between February and September 2019:Fist date (UTC)Last date (UTC)Process NameWWAN INWWAN OUTProcess ID2019-02-11 14:45:562019-09-13 17:02:11bh3019409.0147684.050465The last recorded execution of “bh” occurred a few seconds after a successful network injection (as seen in the favicon records listed earlier at 2019-09-13 17:01:56).Crucially, we find references to “bh” in the Pegasus iOS sample recovered from the 2016 attacks against UAE human rights defender Ahmed Mansoor,discovered by Citizen Labandanalysed in depth by cybersecurity firm Lookout.As described in Lookout’s analysis, in 2016 NSO Group leveraged a vulnerability in the iOS JavaScriptCore Binary (jsc) to achieve code execution on the device. This same vulnerability was also used to maintain persistence on the device after reboot. We find references to “bh” throughout the exploit code: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);This module is described in Lookout’s analysis as follows:“bh.c – Loads API functions that relate to the decompression of next stage payloads and their proper placement on the victim’s iPhone by using functions such as BZ2_bzDecompress, chmod, and malloc”Lookout further explains that a configuration file located at /var/tmp/jb_cfg is dropped alongside the binary. Interestingly, we find the path to this file exported as_kBridgeHeadConfigurationFilePathin the libaudio.dylib file part of the Pegasus bundle:__const:0001AFCC                 EXPORT _kBridgeHeadConfigurationFilePath__const:0001AFCC _kBridgeHeadConfigurationFilePath DCD cfstr_VarTmpJb_cfg ; “/var/tmp/jb_cfg”Therefore, we suspect that“bh” might stand for “BridgeHead”, which is likely the internal name assigned by NSO Group to this component of their toolkit.The appearance of the “bh” process right after the successful network injection of Omar Radi’s phone is consistent with the evident purpose of the BridgeHead module. It completes the browser exploitation, roots the device and prepares for its infection with the full Pegasus suite.2.1 Additional suspicious processes following BridgeHeadThebhprocess first appeared on Omar Radi’s phone on 11 February 2019. This occurred 10 seconds after an IndexedDB file was created by the Pegasus Installation Server and a favicon entry was recorded by Safari. At around the same time the filecom.apple.CrashReporter.plist filewas written in/private/var/root/Library/Preferences/, likely to disable reporting of crash logs back to Apple. The exploit chain had obtained root permission at this stage.Less than a minute later a “roleaboutd” process first appears.Date (UTC)Event2019-02-11 14:45:45IndexedDB record for URL https_d9z3sz93x5ueidq3.get1tn0w.free247downloads.com_30897/2019-02-11 14:45:53Safari Favicon record for URL  hxxps//d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YP2019-02-11 14:45:54Crash reporter disabled by writingcom.apple.CrashReporter.plist2019-02-11 14:45:56Process:bh2019-02-11 14:46:23Process:roleaboutdfirst2019-02-11 17:05:24Process:roleaboutdlastOmar Radi’s device was exploited again on the 13 September 2019. Again a “bh” process started shortly afterwards. Around this time thecom.apple.softwareupdateservicesd.plistfile was modified. A “msgacntd”process was also launched.Date (UTC)Event2019-09-13 17:01:38Safari Favicon record for URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse2019-09-13 17:02:11Process:bh2019-09-13 17:02:33Process:msgacntdfirst2019-09-13 17:02:35File modified:com.apple.softwareupdateservicesd.plist2019-09-14 20:51:54Process:msgacntdlastBased on the timing and context of exploitation, Amnesty International believes theroleaboutdandmsgacntdprocesses are a later stage of the Pegasus spyware which was loaded after a successful exploitation and privilege escalation with theBridgeHead payload.Similarly, the forensic analysis of Maati Monjib’s phone revealed the execution of more suspicious processes in addition tobh. A process namedpcsdand one namedfmldappeared in 2018:Fist dateLast dateProcess NameWWAN INWWAN OUTProcess ID2018-05-04 23:30:452018-05-04 23:30:45pcsd12305.010173.0149462018-05-21 23:46:062018-06-4 13:05:43fmld0.0188326.021207Amnesty International verified that no legitimate binaries of the same names were distributed in recent versions of iOS.The discovery of these processes on Omar Radi’s and Maati Monjib’s phones later became instrumental for Amnesty International’s continued investigations, as we found processes with the same names on devices of targeted individuals from around the world.3. Pegasus processes following potential Apple Photos exploitationDuring Amnesty International’s investigations as part of The Pegasus Project we discovered additional cases where the above mentioned “bh” process was recorded on devices compromised through different attack vectors.In one instance, the phone of a French human rights lawyer (CODE: FRHRL1) was compromised and the “bh” process was executed seconds after network traffic for the iOS Photos app (com.apple.mobileslideshow) was recorded for the first time. Again, after a successful exploitation, crash reporting was disabled by writing acom.apple.CrashReporter.plistfile to the device.2019-10-29 09:04:32Process: mobileslideshow/com.apple.mobileslideshow first2019-10-29 09:04:58Process:bh2019-10-29 09:05:08com.apple.CrashReporter.plist dropped2019-10-29 09:05:53Process:mptbdThe next and last time network activity for the iOS Photos app was recorded was on 18 December 2019, again preceding the execution of malicious processes on the device.2019-12-18 08:13:33Process: mobileslideshow/com.apple.mobileslideshow last2019-12-18 08:13:47Process:bh2019-12-18 11:50:15Process:ckeblldIn a separate case, we identified a similar pattern with the “mobileslideshow” and “bh” processes on the iPhone of a French journalist (CODE: FRJRN1) in May 2020:2020-05-24 15:44:21Process: mobileslideshow/com.apple.mobileslideshow first2020-05-24 15:44:39Process:bh2020-05-24 15:46:51Process:fservernetd…2020-05-27 16:58:31Process: mobileslideshow/com.apple.mobileslideshow last2020-05-27 16:58:52Process:bh2020-05-27 18:00:50Process:ckkeyrollfdAmnesty International was not able to capture payloads related this exploitation but suspects that the iOS Photos app or the Photostream service were used as part of an exploit chain to deploy Pegasus. The apps themselves may have been exploited or their functionality misused to deliver a more traditional JavaScript or browser exploit to the device.As you can seefrom the tables above, additional process names such asmptbd,ckeblld,fservernetd, andckkeyrollfdappear right afterbh. As withfmldandpcsd,Amnesty International believes these to be additional payloads downloaded and executed after a successful compromise. As our investigations progressed, we identified dozens of malicious process names involved in Pegasus infections.Additionally, Amnesty International found the same iCloud accountbogaardlisa803[@]gmail.comrecorded as linked to the “com.apple.private.alloy.photostream” service on both devices. Purposefully created iCloud accounts seem to be central to the delivery of multiple “zero-click” attack vectors in many recent cases of compromised devices analysed by Amnesty International.4. An iMessage zero-click 0day used widely in 2019While SMS messages carrying malicious links were the tactic of choice for NSO Group’s customers between 2016 and 2018, in more recent years they appear to have become increasingly rare. The discovery of network injection attacks in Morocco signalled that the attackers’ tactics were indeed changing. Network injection is an effective and cost-efficient attack vector for domestic use especially in countries with leverage over mobile operators. However, while it is only effective on domestic networks, the targeting of foreign targets or of individuals in diaspora communities also changed.From 2019 an increasing amount of vulnerabilities in iOS, especially iMessage and FaceTime, started getting patched thanks to their discoveries by vulnerability researchers, or to cybersecurity vendors reporting exploits discovered in-the-wild.In response, Amnesty International extended its forensic methodology to collect any relevant traces by iMessage and FaceTime. iOS keeps a record of Apple IDs seen by each installed application in a plist file located at/private/var/mobile/Library/Preferences/com.apple.identityservices.idstatuscache.plist. This file is also typically available in a regular iTunes backup, so it can be easily extracted without the need of a jailbreak.These records played critical role in later investigations. In many cases we discovered suspected Pegasus processes executed on devices immediately following suspicious iMessage account lookups. For example, the following records were extracted from the phone of a French journalist (CODE FRJRN2):2019-06-16 12:08:44Lookup of[email protected]by com.apple.madrid (iMessage)2019-08-16 12:33:52Lookup of[email protected]\x00\x00om by com.apple.madrid (iMessage)2019-08-16 12:37:55The fileLibrary/Preferences/com.apple.CrashReporter.plistis created within RootDomain2019-08-16 12:41:25The fileLibrary/Preferences/roleaccountd.plistis created within RootDomain2019-08-16 12:41:36Process:roleaccountd2019-08-16 12:41:52Process:stagingd2019-08-16 12:49:21Process:aggregatenotdAmnesty International’s forensic analysis of multiple devices found similar records. In many cases the same iMessage account reoccurs across multiple targeted devices, potentially indicating that those devices have been targeted by the same operator. Additionally, the processesroleaccountdandstagingdoccur consistently, along with others.For example, the iPhone of a Hungarian journalist (CODE HUJRN1) instead showed the following records:2019-09-24 13:26:15Lookup of[email protected]by com.apple.madrid (iMessage)2019-09-24 13:26:51Lookup of[email protected]by com.apple.madrid (iMessage)2019-09-24 13:32:10Process:roleaccountd2019-09-24 13:32:13Process:stagingdIn this case, the first suspicious processes performing some network activity were recorded 5 minutes after the first lookup. Thecom.apple.CrashReporter.plistfile was already present on this device after a previous successful infection and was not written again.The iPhone of yet another Hungarian journalist (CODE HUJRN2) show lookups for the same iMessage accounts along with numerous other processes along withroleaccountdandstagingd:2019-07-15 12:01:37Lookup of mailto:e\x00\x00[email protected]by com.apple.madrid (iMessage)2019-07-15 14:21:40Process:accountpfd2019-08-29 10:57:43Process:roleaccountd2019-08-29 10:57:44Process:stagingd2019-08-29 10:58:35Process:launchrexd2019-09-03 07:54:26Process:roleaccountd2019-09-03 07:54:28Process:stagingd2019-09-03 07:54:51Process:seraccountd2019-09-05 13:26:38Process:seraccountd2019-09-05 13:26:55Process:misbrigd2019-09-10 06:09:04Lookup of[email protected]by com.apple.madrid (iMessage)2019-09-10 06:09:47Lookup of[email protected]by com.apple.madrid (iMessage)2019-10-30 14:09:51Process:nehelprdIt is interesting to note that in the traces Amnesty International recovered from 2019, the iMessage lookups that immediately preceded the execution of suspicious processes often contained two-bytes 0x00 padding in the email address recorded by the ID Status Cache file.5. Apple Music leveraged to deliver Pegasus in 2020In mid-2021 Amnesty International identified yet another case of a prominent investigative journalist from Azerbaijan (CODE AZJRN1) who was repeatedly targeted using Pegasus zero-click attacks from 2019 until mid-2021.Yet again, we found a similar pattern of forensic traces on the device following the first recorded successful exploitation:2019-03-28 07:43:14File: Library/Preferences/com.apple.CrashReporter.plistfrom RootDomain2019-03-28 07:44:03File: Library/Preferences/roleaccountd.plistfrom RootDomain2019-03-28 07:44:14Process:roleaccountd2019-03-28 07:44:14Process:stagingdInterestingly we found signs of a new iOS infection technique being used to compromise this device. A successful infection occurred on 10th July 2020:2020-07-06 05:22:21Lookup off\x00\[email protected]by iMessage (com.apple.madrid)2020-07-10 14:12:09Pegasus request by Apple Music app:https://x1znqjo0x8b8j.php78mp9v.opposedarrangement[.]net:37271/afAVt89Wq/stadium/pop2.html?key=501_4&n=72020-07-10 14:12:21Process:roleaccountd2020-07-10 14:12:53Process:stagingd2020-07-13 05:05:17Pegasus request by Apple Music app:https://4n3d9ca2st.php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7Shortly before Pegasus was launched on the device, we saw network traffic recorded for the Apple Music service. These HTTP requests were recovered from a network cache file located at/private/var/mobile/Containers/Data/Application/D6A69566-55F7-4757-96DE-EBA612685272/Library/Caches/com.apple.Music/Cache.db which we retrieved by jailbreaking the device.Amnesty International cannot determine from forensics if Apple Music was itself exploited to deliver the initial infection or if instead, the app was abused as part of a sandbox escape and privilege escalation chain.Recent researchhas shown that built-in apps such as the iTunes Store app can be abused to run a browser exploit while escaping the restrictive Safari application sandbox.Most importantly however, the HTTP request performed by the Apple Music app points to the domainopposedarrangement[.]net, which we had previously identified as belonging to NSO Group’s Pegasus network infrastructure. This domain matched a distinctive fingerprint we devised while conducting Internet-wide scans following our discovery of the network injection attacks in Morocco (see section 9).In addition, these URLs show peculiar characteristics typical of other URLs we found involved in Pegasus attacks through the years, as explained in the next section.6. Megalodon: iMessage zero-click 0-days return in 2021The analysis Amnesty International conducted of several devices reveal traces of attacks similar to those we observed in 2019. These attacks have been observed as recently as July 2021. Amnesty International believes Pegasus is currently being delivered through zero-click exploits which remain functional through the latest available version of iOS at the time of writing (July 2021).On the iPhone of a French human rights lawyer (CODE FRHRL2), we observed a lookup of a suspicious iMessage account unknown to the victim, followed by an HTTP request performed by thecom.apple.coretelephonyprocess. This is a component of iOS involved in all telephony-related tasks and likely among those exploited in this attack. We found traces of this HTTP request in a cache file stored on disk at/private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.dbcontaining metadata on the request and the response. The phone sent information on the device including the model9,1(iPhone 7) and iOS build number18C66(version 14.3) to a service fronted by Amazon CloudFront, suggesting NSO Group has switched to using AWS services in recent months. At the time of this attack, the newer iOS version 14.4 had only been released for a couple of weeks.Date (UTC)Event2021-02-08 10:42:40Lookup of[email protected]by iMessage (com.apple.madrid)2021-02-08 11:27:10com.apple.coretelephony performs an HTTP request tohttps://d38j2563clgblt.cloudfront[.]net/fV2GsPXgW//stadium/megalodon?m=iPhone9,1&v=18C662021-02-08 11:27:21Process:gatekeeperd2021-02-08 11:27:22gatekeeperd performs an HTTP request tohttps://d38j2563clgblt.cloudfront.net/fV2GsPXgW//stadium/wizard/01-000000002021-02-08 11:27:23Process:gatekeeperdTheCache.dbfile for com.apple.coretelephony contains details about the HTTP response which appeared to have been a download of ~250kb of binary data. Indeed, we found the downloaded binary in thefsCachedDatasub-folder, but it was unfortunately encrypted. Amnesty International believes this to be the payload launched asgatekeeperd.Amnesty International subsequently analysed the iPhone of a journalist (CODE MOJRN1), which contained very similar records. This device was exploited repeatedly on numerous times between February and April 2021 and across iOS releases. The most recent attempt showed the following indicators of compromise:Date (UTC)Event2021-04-02 10:15:38Lookup of[email protected]by iMessage (com.apple.madrid)2021-04-02 10:36:00com.apple.coretelephony performs an HTTP request tohttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/megalodon?m=iPhone8,1&v=18D52&u=[REDACTED]2021-04-02 10:36:08ProcessPDPDialogsperforms an HTTP request tohttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjuk2021-04-02 10:36:16ProcessPDPDialogsperforms an HTTP request tohttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/01-000000002021-04-02 10:36:16com.apple.coretelephony performs an HTTP request tohttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/cszjcft=frzaslm2021-04-02 10:36:35Process:gatekeeperd2021-04-02 10:36:45Process:rolexdAs is evident, the same iMessage account observed in the previous separate case was involved in this exploitation and compromise months later. The same CloudFront website was contacted bycom.apple.coretelephonyand the additional processes executed, downloaded and launched additional malicious components.The initial check-in indicates the compromised iPhone 6s was running iOS 14.4 (build number 18D52) at the time of the attack. Although versions 14.4.1 and 14.4.2 were already available then, they only addressed vulnerabilities in WebKit, so it is safe to assume the vulnerability leveraged in these iMessage attacks was exploited as a 0-day.It is worth noting that among the many other malicious process names observed executed on this phone we seemsgacntd, which we also found running on Omar Radi’s phone in 2019, as documented earlier.In addition, it should be noted that the URLs we have observed used in attacks throughout the last three years show a consistent set of patterns. This supports Amnesty International’s analysis that all three URLs are in fact components of Pegasus customer attack infrastructure. The Apple Music attack from 2020 shows the same 4th level domain structure and non-standard high port number as the 2019 network injection attack. Both the free247downloads[.]com and opposedarrangements[.]net domains matched our Pegasus V4 domain fingerprint.Additionally, the Apple Music attack URL and the 2021 Megalodon attack URLs share a distinctive pattern. Both URL paths start with a random identifier tied to the attack attempt followed by the word “stadium”.AttackURLNetwork injection (2019)https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyseApple Music attack (2020)https://4n3d9ca2st.php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7iMessage zero-click (2021)https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjukAmnesty International reported this information to Amazon, who informed us they“acted quickly to shut down the implicated infrastructure and accounts”.[2]The iPhone 11 of a French human rights activist (CODE FRHRD1) also showed an iMessage look-up for the accountlinakeller2203[@]gmail.comon June 11th 2021 and malicious processes afterwards. The phone was running iOS 14.4.2 and was upgraded to 14.6 the following day.Most recently, Amnesty International has observed evidence of compromise of the iPhone XR of an Indian journalist (CODE INJRN1) running iOS 14.6 (latest available at the time of writing) as recently as 16th June 2021. Lastly, Amnesty International has confirmed an active infection of the iPhone X of an activist (CODE RWHRD1) on June 24th 2021, also running iOS 14.6. While we have not been able to extract records from Cache.db databases due to the inability to jailbreak these two devices, additional diagnostic data extracted from these iPhones show numerous iMessage push notifications immediately preceding the execution of Pegasus processes.The device of a Rwandan activist (CODE RWHRD1) shows evidence of multiple successful zero-click infections in May and June 2021. We can see one example of this on 17 May 2021. An unfamiliar iMessage account is recorded and in the following minutes at least 20 iMessage attachment chunks are created on disk.Date (UTC)Event2021-05-17 13:39:16Lookup for iCloud accountbenjiburns8[@]gmail.com(iMessage)2021-05-17 13:40:12File: /private/var/mobile/Library/SMS/Attachments/dc/12/DEAE6789-0AC4-41A9-A91C-5A9086E406A5/.eBDOuIN1wq.gif-2hN92021-05-17 13:40:21File: /private/var/mobile/Library/SMS/Attachments/41/01/D146B32E-CA53-41C5-BF61-55E0FA6F5FF3/.TJi3fIbHYN.gif-bMJq……2021-05-17 13:44:19File: /private/var/mobile/Library/SMS/Attachments/42/02/45F922B7-E819-4B88-B79A-0FEE289701EE/.v74ViRNkCG.gif-V678Amnesty International found no evidence that the 17 May attack was successful. Later attacks on the 18 June and 23 June were successful and led to Pegasus payloads being deployed on the device.Initially, many iMessage (com.apple.madrid) push notifications were received, and attachment chunks were written to disk. The following table show a sample of the 48 attachment files found on the filesystem.Date (UTC)Event2021-06-23 20:45:008 push notifications for topic com.apple.madrid (iMessage)2021-06-23 20:46:0046 push notifications for topic com.apple.madrid (iMessage)2021-06-23 20:46:19File: /private/var/tmp/com.apple.messages/F803EEC3-AB3A-4DC2-A5F1-9E39D7A509BB/.cs/ChunkStoreDatabase2021-06-23 20:46:20File: /private/var/mobile/Library/SMS/Attachments/77/07/4DFA8939-EE64-4CB5-A111-B75733F603A2/.8HfhwBP5qJ.gif-u0zD……2021-06-23 20:53:0017 push notifications for topic com.apple.madrid (iMessage)2021-06-23 20:53:54File: /private/var/tmp/com.apple.messages/50439EF9-750C-4449-B7FC-851F28BD3BD3/.cs/ChunkStoreDatabase2021-06-23 20:53:54File: /private/var/mobile/Library/SMS/Attachments/36/06/AA10C840-1776-4A51-A547-BE78A3754773/.7bb9OMWUa8.gif-UAPo2021-06-23 20:54:0054 push notifications for topic com.apple.madrid (iMessage)A process crash occurred at 20:48:56 which resulted in theReportCrashprocess starting followed by restarts of multiple processes related to iMessage processing:Date (UTC)Event2021-06-23 20:48:56Process with PID 1192 and name ReportCrash2021-06-23 20:48:56Process with PID 1190 and name IMTransferAgent2021-06-23 20:48:56Process with PID 1153 and name SCHelper2021-06-23 20:48:56Process with PID 1151 and name CategoriesService2021-06-23 20:48:56Process with PID 1147 and name MessagesBlastDoorService2021-06-23 20:48:56Process with PID 1145 and name NotificationServiceA second set of crashes and restarts happened five minutes later.TheReportCrashprocess was started along with processes related to parsing of iMessage content and iMessage custom avatars.Date (UTC)Event2021-06-23 20:54:16Process with PID 1280 and name ReportCrash2021-06-23 20:54:16Process with PID 1278 and name IMTransferAgent2021-06-23 20:54:16Process with PID 1266 and name com.apple.WebKit.WebContent2021-06-23 20:54:16Process with PID 1263 and name com.apple.accessibility.mediaac2021-06-23 20:54:16Process with PID 1262 and name CategoriesService2021-06-23 20:54:16Process with PID 1261 and name com.apple.WebKit.Networking2021-06-23 20:54:16Process with PID 1239 and name avatarsdShortly afterwards at 20:54 the exploitation succeeded, and we observe that a network request was made by thecom.apple.coretelephonyprocess causing the Cache.db file to be modified. This matches the behaviour Amnesty International hasseen in the other Pegasus zero-click attacks in 2021.Date (UTC)Event2021-06-23 20:54:35File: /private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db-shm2021-06-23 20:54:35File: /private/var/wireless/Library/Caches/com.apple.coretelephony/fsCachedData/3C73213F-73E5-4429-AAD9-0D7AD9AE83D12021-06-23 20:54:47File: /private/var/root/Library/Caches/appccntd/Cache.db2021-06-23 20:54:53File: /private/var/tmp/XtYaXXY2021-06-23 20:55:08File: /private/var/tmp/CFNetworkDownload_JQeZFF.tmp2021-06-23 20:55:09File: /private/var/tmp/PWg6ueAldsvV8vZ8CYpkp53D2021-06-23 20:55:10File: /private/var/db/com.apple.xpc.roleaccountd.staging/otpgrefd2021-06-23 20:55:10File: /private/var/tmp/vditcfwheovjf/kk2021-06-23 20:59:35Process:appccntd2021-06-23 20:59:35Process:otpgrefdLastly, the analysis of a fully patched iPhone 12 running iOS 14.6 of an Indian journalist (CODE INJRN2) also revealed signs of successful compromise.These most recent discoveries indicate NSO Group’s customers are currently able to remotely compromise all recent iPhone models and versions of iOS.We have reported this information to Apple, who informed us they are investigating the matter.[3]7. Incomplete attempts to hide evidence of compromiseSeveral iPhones Amnesty International has inspected indicate that Pegasus has recently started to manipulate system databases and records on infected devices to hide its traces and and impede the research efforts of Amnesty International and other investigators.Interestingly, this manipulation becomes evident when verifying the consistency of leftover records in theDataUsage.sqliteandnetusage.sqliteSQLite databases. Pegasus has deleted the names of malicious processes from the ZPROCESS table in DataUsage database but not the corresponding entries from the ZLIVEUSAGE table. The ZPROCESS table stores rows containing a process ID and the process name. The ZLIVEUSAGE table contains a row for each running process including data transfer volume and the process ID corresponding to the ZPROCESS entry. These inconsistencies can be useful in identifying times when infections may have occurred. Additional Pegasus indicators of compromise were observed on all devices where this anomaly was observed.  No similar inconsistencies were found on any clean iPhones analysed by Amnesty International.Although most recent records are now being deleted from these databases, traces of recent process executions can also be recovered also from additional diagnostic logs from the system.For example, the following records were recovered from the phone of an HRD (CODE RWHRD1):Date (UTC)Event2021-01-31 23:59:02Process:libtouchregd(PID 7354)2021-02-21 23:10:09Process:mptbd(PID 5663)2021-02-21 23:10:09Process:launchrexd(PID 4634)2021-03-21 06:06:45Process:roleaboutd(PID 12645)2021-03-28 00:36:43Process:otpgrefd(PID 2786)2021-04-06 21:29:56Process:locserviced(PID 5492)2021-04-23 01:48:56Process:eventfssd(PID 4276)2021-04-23 23:01:44Process:aggregatenotd(PID 1900)2021-04-28 16:08:40Process:xpccfd(PID 1218)2021-06-14 00:17:12Process:faskeepd(PID 4427)2021-06-14 00:17:12Process:lobbrogd(PID 4426)2021-06-14 00:17:12Process:neagentd(PID 4423)2021-06-14 00:17:12Process:com.apple.rapports.events(PID 4421)2021-06-18 08:13:35Process:faskeepd(PID 4427)2021-06-18 15:31:12Process:launchrexd(PID 1169)2021-06-18 15:31:12Process:frtipd(PID 1168)2021-06-18 15:31:12Process:ReminderIntentsUIExtension(PID 1165)2021-06-23 14:31:39Process:launchrexd(PID 1169)2021-06-23 20:59:35Process:otpgrefd(PID 1301)2021-06-23 20:59:35Process:launchafd(PID 1300)2021-06-23 20:59:35Process:vm_stats(PID 1294)2021-06-24 12:24:29Process:otpgrefd(PID 1301)System log files also reveal the location of Pegasus binaries on disk. These file names match those we have consistently observed in the process execution logs presented earlier. The binaries are located inside the folder/private/var/db/com.apple.xpc.roleaccountd.staging/which isconsistent with the findings by Citizen Lab in a December 2020 report./private/var/db/com.apple.xpc.roleaccountd.staging/launchrexd/EACA3532-7D15-32EE-A88A-96989F9F558AAmnesty International’s investigations, corroborated by secondary information we have received, seem to suggest that Pegasus is no longer maintaining persistence on iOS devices. Therefore, binary payloads associated with these processes are not recoverable from the non-volatile filesystem. Instead, one would need to be able to jailbreak the device without reboot, and attempt to extract payloads from memory.8. Pegasus processes disguised as iOS system servicesAcross the numerous forensic analyses conducted by Amnesty International on devices around the world, we found a consistent set of malicious process names executed on compromised phones. While some processes, for examplebh, seem to be unique to a particular attack vector, most Pegasus process names seem to be simply disguised to appear as legitimate iOS system processes, perhaps to fool forensic investigators inspecting logs.Several of these process names spoof legitimate iOS binaries:Pegasus Process NameSpoofed iOS BinaryABSCarryLogASPCarryLogaggregatenotdaggregatedckkeyrollfdckkeyrolldcom.apple.Mappit.SnapshotServicecom.apple.MapKit.SnapshotServicecom.apple.rapports.eventscom.apple.rapport.eventsCommsCenterRootHelperCommCenterRootHelperDiagnostic-2543Diagnostic-2532eventsfssdfseventsdfmldfmfdJarvisPluginMgrJarvisPluginlaunchafdlaunchdMobileSMSdMobileSMSnehelprdnehelperpcsdcom.apple.pcsPDPDialogsPPPDialogsReminderIntentsUIExtensionRemindersIntentsUIExtensionrlaccountdxpcroleaccountdroleaccountdxpcroleaccountdThe list of process names we associate with Pegasus infections is available among all other indicators of compromise on ourGitHubpage.9. Unravelling the Pegasus attack infrastructure over the yearsThe set of domain names, servers and infrastructure used to deliver and collect data from NSO Group’s Pegasus spyware has evolved several times since first publicly disclosed by Citizen Lab in 2016.In August 2018, Amnesty International published a report“Amnesty International Among Targets of NSO-powered Campaign“which described the targeting of an Amnesty International staff member and a Saudi human rights defender. In this report, Amnesty International presented an excerpt of more than 600 domain names tied to NSO Group’s attack infrastructure. Amnesty International published thefull list of domainsin October 2018. In this report, we refer to these domains as Pegasus networkVersion 3 (V3).TheVersion 3infrastructure used a network of VPS’s and dedicated servers. Each Pegasus Installation server or Command-and-Control (C&C) server hosted a web server on port 443 with a unique domain and TLS certificate. These edge servers would then proxy connections through a chain of servers, referred to by NSO Group as the“Pegasus Anonymizing Transmission Network” (PATN).It was possible to create a pair of fingerprints for the distinctive set of TLS cipher suites supported by these servers. The fingerprint technique is conceptually similar to theJA3S fingerprint technique published by Salesforce in 2019. With that fingerprint, Amnesty International’s Security Lab performed Internet-wide scans to identify Pegasus Installation/infection and C&C servers active in the summer of 2018.NSO Group made critical operational security mistakes when setting up their Version 3 infrastructure. Two domains of the previous Version 2 network were reused in their Version 3 network. These two Version 2 domains,pine-sales[.]comandecommerce-ads[.]orghad previously been identified by Citizen Lab. These mistakes allowed Amnesty International to link the attempted attack on our colleague to NSO Group’s Pegasus product. These links were independentlyconfirmed by Citizen Lab in a 2018 report.NSO Group rapidly shutdown many of their Version 3 servers shortly after the Amnesty International and Citizen Lab’s publications on 1 August 2018.9.1 Further attempts by NSO Group to hide their infrastructureIn August 2019, the Amnesty International identified another case of NSO Group’s tools being used to target a human rights defender, this time in Morocco. Maati Monjib wastargeted with SMS messages containing Version 3 Pegasus links.Amnesty performed a forensic analysis of his iPhone as described previously. This forensic analysis showed redirects to a new domain namefree247downloads.com. These links looked suspiciously similar to infection links previously used by NSO.Amnesty International confirmed this domain was tied to NSO Group by observing distinctive Pegasus artefacts created on the device shortly after the infection URL was opened. With this new domain in hand, we were able to begin mapping the PegasusVersion 4 (V4)infrastructure.NSO Group re-factored their infrastructure to introduce additional layers, which complicated discovery. Nevertheless, we could now observe at least 4 servers used in each infection chain.Validation domain:https://baramije[.]net/[ALPHANUMERIC STRING]Exploit domain:https://[REDACTED].info8fvhgl3.urlpush[.]net:30827/[SAME ALPHANUMERIC STRING]A validation server:The first step was a website which we have seen hosted on shared hosting providers. Frequently this website was running a random and sometimes obscure PHP application or CMS. Amnesty International believes this was an effort to make the domains look less distinguishable.The validation server would check the incoming request. If a request had a valid and still active URL the validation server would redirect the victim to the newly generated exploit server domain. If the URL or device was not valid it would redirect to a legitimate decoy website. Any passer-by or Internet crawler would only see the decoy PHP CMS.Infection DNS server:NSO now appears to be using a unique subdomain for every exploit attempt. Each subdomain was generated and only active for a short period of time. This prevented researchers from finding the location of the exploit server based on historic device logs.To dynamically resolve these subdomains NSO Group ran a custom DNS server under a subdomain for every infection domain. It also obtained a wildcard TLS certificate which would be valid for each generated subdomain such as*.info8fvhgl3.urlpush[.]netor*.get1tn0w.free247downloads[.]com.Pegasus Installation Server:To serve the actual infection payload NSO Group needs to run a web server somewhere on the Internet. Again, NSO Group took steps to avoid internet scanning by running the web server on a random high port number.We assume that each infection webserver is part of the new generation“Pegasus Anonymizing Transmission Network”. Connections to the infection server are likely proxied back to the customer’s Pegasus infrastructure.Command and Control server: In previous generations of the PATN, NSO Group used separate domains for the initial infection and later communication with the spyware. TheiPwn report from Citizen Labprovided evidence that Pegasus is again using separate domains for command and control. To avoid network-based discovery, the Pegasus spyware made direct connections the Pegasus C&C servers without first performing a DNS lookup or sending the domain name in the TLS SNI field.9.2 Identifying other NSO attack domainsAmnesty International began by analysing the configuration of the infection domains and DNS servers used in the attacks against Moroccan journalists and human rights defenders.Based on our knowledge of the domains used in Morocco we developed a fingerprint which identified 201 Pegasus Installation domains which had infrastructure active at the time of the initial scan. This set of 201 domains included bothurlpush[.]netandfree247downloads[.]com.Amnesty International identified an additional 500 domains with subsequent network scanning and by clustering patterns of domain registration, TLS certificate issuance and domain composition which matched the initial set of 201 domains.Amnesty International believes that this represents a significant portion of the Version 4 NSO Group attack infrastructure. We are publishing these 700 domains today. We recommend the civil society and media organisations check their network telemetry and/or DNS logs for traces of these indicators of compromise.9.3 What can be learned from NSO Group’s infrastructureThe following chart shows the evolution of NSO Group Pegasus infrastructure over a 4-year period from 2016 until mid-2021. Much of theVersion 3infrastructure was abruptly shut down in August 2018 following our report on an Amnesty International staff member targeted with Pegasus. TheVersion 4infrastructure was then gradually rolled out beginning in September and October 2018.A significant number of new domains were registered in November 2019 shortly after WhatsApp notified their users about alleged targeting with Pegasus. This may reflect NSO rotating domains due to perceived risk of discovery, or because of disruption to their existing hosting infrastructure.The V4 DNS server infrastructure began going offline in early 2021 following the Citizen LabiPwn reportwhich disclosed multiple Pegasus V4 domains.Amnesty International suspects the shutting down of the V4 infrastructure coincided with NSO Group’s shift to using cloud services such as Amazon CloudFront to deliver the earlier stages of their attacks. The use of cloud services protects NSO Group from some Internet scanning techniques.9.4 Attack infrastructure hosted primarily in Europe and North AmericaNSO Group’s Pegasus infrastructure primarily consists of servers hosted at datacentres located in European countries. The countries hosting the most infection domain DNS servers included Germany, the United Kingdom, Switzerland, France, and the United States (US).CountryServers per countryGermany212United Kingdom79Switzerland36France35United States28Finland9Netherlands5Canada4Ukraine4Singapore3India3Austria3Japan1Bulgaria1Lithuania1Bahrain1The following table shows the number of DNS servers hosted with each hosting provider. Most identified servers are assigned to the US-owned hosting companies Digital Ocean, Linode and Amazon Web Services (AWS).Many hosting providers offer server hosting in multiple physical locations. Based on these two tables it appears that NSO Group is primarily using the European datacentres run by American hosting companies to run much of the attack infrastructure for its customers.NetworkServers per networkDIGITALOCEAN-ASN142Linode, LLC114AMAZON-0273Akenes SA60UpCloud Ltd9Choopa7OVH SAS6Virtual Systems LLC2ASN-QUADRANET-GLOBAL1combahton GmbH1UAB Rakrejus1HZ Hosting Ltd1PE Brezhnev Daniil1Neterra Ltd.1Kyiv Optic Networks Ltd1Amnesty International’s research identified 28 DNS servers linked to the infection infrastructure which were hosted in the US.Domain nameDNS server IPNetworkdrp32k77.todoinfonet.com104.223.76.216ASN-QUADRANET-GLOBALimgi64kf5so6k.transferlights.com165.227.52.184DIGITALOCEAN-ASNpc43v65k.alignmentdisabled.net167.172.215.114DIGITALOCEAN-ASNimg54fsd3267h.prioritytrail.net157.245.228.71DIGITALOCEAN-ASNjsfk3d43.netvisualizer.com104.248.126.210DIGITALOCEAN-ASNcdn42js666.manydnsnow.com138.197.223.170DIGITALOCEAN-ASNcss1833iv.handcraftedformat.com134.209.172.164DIGITALOCEAN-ASNjs43fsf7v.opera-van.com159.203.87.42DIGITALOCEAN-ASNpypip36z19.myfundsdns.com167.99.105.68DIGITALOCEAN-ASNcss912jy6.reception-desk.net68.183.105.242DIGITALOCEAN-ASNimgi64kf5so6k.transferlights.com206.189.214.74DIGITALOCEAN-ASNjs85mail.preferenceviews.com142.93.80.134DIGITALOCEAN-ASNcss3218i.quota-reader.net165.227.17.53DIGITALOCEAN-ASNmongo87a.sweet-water.org142.93.113.166DIGITALOCEAN-ASNreact12x2.towebsite.net3.13.132.96AMAZON-02jsb8dmc5z4.gettingurl.com13.59.79.240AMAZON-02react12x2.towebsite.net3.16.75.157AMAZON-02cssgahs5j.redirigir.net18.217.13.50AMAZON-02jsm3zsn5kewlmk9q.dns-analytics.com18.225.12.72AMAZON-02imgcss35d.domain-routing.com13.58.85.100AMAZON-02jsb8dmc5z4.gettingurl.com18.191.63.125AMAZON-02js9dj1xzc8d.beanbounce.net199.247.15.15CHOOPAjsid76api.buildyourdata.com108.61.158.97CHOOPAcdn19be2.reloadinput.com95.179.177.18CHOOPAsrva9awf.syncingprocess.com66.175.211.107Linodejsfk3d43.netvisualizer.com172.105.148.64Linodeimgdsg4f35.permalinking.com23.239.16.143Linodesrva9awf.syncingprocess.com45.79.190.38Linode9.5 Infection domain resolutions observed in Passive DNS databaseBased on forensic analysis of compromised devices, Amnesty International determined that NSO Group was using a unique and randomly generated subdomain for each attempt to deliver the Pegasus spyware.Amnesty International searched passive DNS datasets for each of the Pegasus Version 4 domains we have identified. Passive DNS databases record historic DNS resolution for a domain and often included subdomains and the corresponding historic IP address.A subdomain will only be recorded in passive DNS records if the subdomain was successfully resolved and the resolution transited a network which was running a passive DNS probe.This probe data is collected based on agreements between network operators and passive DNS data providers. Many networks will not be covered by such data collection agreements. For example, no passive DNS resolutions were recorded for either Pegasus infection domains used in Morocco.As such, these resolutions represent only a small subset of overall NSO Group Pegasus activity.Infection domainUnique infection subdomainsmongo77usr.urlredirect.net417str1089.mailappzone.com410apiweb248.theappanalytics.com391dist564.htmlstats.net245css235gr.apigraphs.net147nodesj44s.unusualneighbor.com38jsonapi2.linksnew.info30img9fo658tlsuh.securisurf.com19pc25f01dw.loading-url.net12dbm4kl5d3faqlk6.healthyguess.com8img359axw1z.reload-url.net5css2307.cssgraphics.net5info2638dg43.newip-info.com3img87xp8m.catbrushcable.com2img108jkn42.av-scanner.com2mongom5sxk8fr6.extractsight.com2img776cg3.webprotector.co1tv54d2ml1.topadblocker.net1drp2j4sdi.safecrusade.com1api1r3f4.redirectweburl.com1pc41g20bm.redirectconnection.net1jsj8sd9nf.randomlane.net1php78mp9v.opposedarrangement.net1The domainurlredirect.nethad the highest number of observed unique subdomains. In total 417 resolutions were recorded between 4 October 2018, and 17 September 2019. The second highest wasmailappzone.comwhich has 410 resolutions in a 3-month period between 23 July  2020, and 15 October 2020.Amnesty International believes that each of these subdomain resolutions, 1748 in total, represent an attempt to compromise a device with Pegasus. These 23 domains represent less than 7% of the 379 Pegasus Installation Server domains we have identified. Based on this small subset, Pegasus may have been used in thousands of attacks over the past three years.10. Mobile devices, security and auditabilityMuch of the targeting outlined in this report involves Pegasus attacks targeting iOS devices. It is important to note that this does not necessarily reflect the relative security of iOS devices compared to Android devices, or other operating systems and phone manufacturers.In Amnesty International’s experience there are significantly more forensic traces accessible to investigators on Apple iOS devices than on stock Android devices, therefore our methodology is focused on the former. As a result, most recent cases of confirmed Pegasus infections have involved iPhones.This and all previous investigations demonstrate how attacks against mobile devices are a significant threat to civil society globally. The difficulty to not only prevent, but posthumously detect attacks is the result of an unsustainable asymmetry between the capabilities readily available to attackers and the inadequate protections that individuals at risk enjoy.While iOS devices provide at least some useful diagnostics, historical records are scarce and easily tampered with. Other devices provide little to no help conducting consensual forensics analysis. Although much can be done to improve the security posture of mobile devices and mitigate the risks of attacks such as those documented in this report, even more could be achieved by improving the ability for device owners and technical experts to perform regular checks of the system’s integrity.Therefore, Amnesty International strongly encourages  device vendors to explore options to make their devices more auditable, without of course sacrificing any security and privacy protections already in place. Platform developers and phone manufacturers should regularly engage in conversations with civil society to better understand the challenges faced by HRDs, who are often under-represented in cybersecurity debates.11. With our Methodology, we release our tools and indicatorsFor a long time, triaging the state of a suspected compromised mobile device has been considered a near-impossible task, particularly within the human rights communities we work in. Through the work of Amnesty International’s Security Lab we have built  important capabilities that may benefit our peers and colleagues supporting activists, journalists, and lawyers who are at risk.Therefore, through this report,we are not only sharing the methodology we have built over years of research but also the tools we created to facilitate this work, as well as the Pegasus indicators of compromise we have collected.All indicators of compromise are available on ourGitHub, including domain names of Pegasus infrastructure, email addresses recovered from iMessage account lookups involved in the attacks, and all process names Amnesty International has identified as associated with Pegasus.Amnesty International is also releasing a tool we have created, calledMobile Verification Toolkit(MVT). MVT is a modular tool that simplifies the process of acquiring and analysing data from Android devices, and the analysis of records from iOS backups and filesystem dumps, specifically to identify potential traces of compromise.MVT can be provided with indicators of compromise inSTIX2 formatand will identify any matching indicators found on the device. In conjunction with Pegasus indicators,  MVT can help identify if an iPhone have been compromised.Among others, some of the features MVT has include:Decrypt encrypted iOS backups.Process and parse records from numerous iOS system and apps databases and system logs.Extract installed applications from Android devices.Extract diagnostic information from Android devices through the adb protocol.Compare extracted records to a provided list of malicious indicators in STIX2 format. Automatically identify malicious SMS messages, visited websites, malicious processes, and more.Generate JSON logs of extracted records, and separate JSON logs of all detected malicious traces.Generate a unified chronological timeline of extracted records, along with a timeline all detected malicious traces.AcknowledgementsThe Amnesty International Security Lab wishes to acknowledge all those who have supported this research. Tools released by the iOS security research community including libimobiledevice and checkra1n were used extensively as part of this research. We would also like to thank Censys and RiskIQ for providing access to their internet scan and passive DNS data.Amnesty International wishes to acknowledge Citizen Lab for its important and extensive research on NSO Group and other actors contributing to the unlawful surveillance of civil society. Amnesty International thanks Citizen Lab for itspeer-review of this research report.Finally Amnesty International wishes to thank the numerous journalists and human rights defenders who bravely collaborated to make this research possible.Appendix A: Peer review of Methodology Report by Citizen LabThe Citizen Lab at the University of Toronto has independently peer-reviewed a draft of the forensic methodology outlined in this report. Their review can be foundhere.Appendix B: Suspicious iCloud Account LookupsThis Appendix shows the overlap of iCloud accounts found looked-up on the mobile devices of different targets. This list will be progressively updated.iCloud AccountTargetemmaholm575[@]gmail.com•        AZJRN1 – Khadija Ismayilovafilip.bl82[@]gmail.com•        AZJRN1 – Khadija Ismayilovakleinleon1987[@]gmail.com•        AZJRN1 – Khadija Ismayilovabergers.o79[@]gmail.com•        Omar Radi•        FRHRL1 – Joseph Breham•        FRHRL2•        FRJRN1 – Lenaig Bredoux•        FRJRN2•        FRPOI1•        FRPOI2 – François de Rugynaomiwerff772[@]gmail.com•        Omar Radi•        FRHRL1 – Joseph Breham•        FRPOI1bogaardlisa803[@]gmail.com•        FRHRL1 – Joseph Breham•        FRJRN1 – Lenaig Bredoux•        FRJRN2linakeller2203[@]gmail.com•        FRHRD1 – Claude Mangin•        FRPOI3 – Philippe Bouyssou•        FRPOI4•        FRPOI5 – Oubi Buchraya Bachir•        MOJRN1 – Hicham Mansourijessicadavies1345[@]outlook.com•        HUJRN1 – András Szabó•        HUJRN2 – Szabolcs Panyiemmadavies8266[@]gmail.com•        HUJRN1 – András Szabó•        HUJRN2 – Szabolcs Panyik.williams.enny74[@]gmail.com•        HUPOI1•        HUPOI2 – Adrien Beauduin•        HUPOI3taylorjade0303[@]gmail.com•        INHRD1 – SAR Geelani•        INJRN6 – Smita Sharma•        INPOI1 – Prashant Kishorlee.85.holland[@]gmail.com•        INHRD1 – SAR Geelani•        INJRN6 – Smita Sharma•        INPOI1 – Prashant Kishorbekkerfredi[@]gmail.com•        INHRD1 – SAR Geelani•        INPOI2herbruud2[@]gmail.com•        INJRN1 – Mangalam Kesavan Venu•        INJRN2 – Sushant Singh•        INPOI1 – Prashant Kishorvincent.dahl76[@]gmail.com•        KASH01 – Hatice Cengiz•        KASH02 – Rodney Dixonoskarschalcher[@]outlook.com•        KASH03 – Wadah Khanfarbenjiburns8[@]gmail.com•        RWHRD1 – Carine KanimbaAppendix C: Detailed Traces per TargetThis Appendix contains detailed breakdowns of forensic traces recovered for each target. This Appendix will be progressively updated.C.1 Forensic Traces Overview for Maati MonjibDate (UTC)Event2017-11-02 12:29:33Pegasus SMS with link to hxxps://tinyurl[.]com/y73qr7mb redirecting to hxxps://revolution-news[.]co/ikXFZ34ca2017-11-02 16:42:34Pegasus SMS with link to hxxps://stopsms[.]biz/vi78ELI2017-11-02 16:44:00Pegasus SMS with link to hxxps://stopsms[.]biz/vi78ELI from +2127660904912017-11-02 16:45:10Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-02 16:57:00Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-02 17:13:45Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-02 17:21:57Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-02 17:30:49Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-02 17:40:46Pegasus SMS with link to Hxxps://stopsms[.]biz/bi78ELI from +2127660904912017-11-15 17:05:17Pegasus SMS with link to hxxps://videosdownload[.]co/nBBJBIP2017-11-20 18:22:03Pegasus SMS with link to hxxps://infospress[.]com/LqoHgMCEE2017-11-24 13:43:17Pegasus SMS with link to hxxps://tinyurl[.]com/y9hbdqm5 redirecting to hxxps://hmizat[.]co/JaCTkfEp2017-11-24 17:26:09Pegasus SMS with link to hxxps://stopsms[.]biz/2Kj2ik62017-11-27 15:56:10Pegasus SMS with link to hxxps://stopsms[.]biz/yTnWt1Ct2017-11-27 17:32:37Pegasus SMS with link to hxxps://hmizat[.]co/ronEKDVaf2017-12-07 18:21:57Pegasus SMS with link to hxxp://tinyurl[.]com/y7wdcd8z redirecting to hxxps://infospress[.]com/Ln3HYK4C2018-01-08 12:58:14Pegasus SMS with link to hxxp://tinyurl[.]com/y87hnl3o redirecting to hxxps://infospress[.]com/asjmXqiS2018-02-09 21:12:49Process:pcsd2018-03-16 08:24:20Process:pcsd2018-04-28 22:25:12Process:bh2018-05-04 21:30:45Process:pcsd2018-05-21 21:46:06Process:fmld2018-05-22 17:36:51Process:bh2018-06-04 11:05:43Process:fmld2019-03-27 21:45:10Process:bh2019-04-14 23:02:41Safari favicon from URL hxxps://c7r8x8f6zecd8j.get1tn0w.free247downloads[.]com:30352/Ld3xuuW52019-06-27 20:13:10Safari favicon from URL hxxps://3hdxu4446c49s.get1tn0w.free247downloads[.]com:30497/pczrccr#0520458712028268373373081847500232386308468830098522019-07-22 15:42:32Safari visit to hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz2019-07 22 15:42:32Safari visit to hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz#0486347873432874859824748530127249980547184944232862019-07-22 15:43:06Safari favicon from URL hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz#048634787343287485982474853012724998054718494423286n/aWebKit IndexedDB file for URL hxxps://c7r8x8f6zecd8j.get1tn0w.free247downloads[.]comn/aWebKit IndexedDB file for URL hxxps://bun54l2b67.get1tn0w.free247downloads[.]comn/aWebKit IndexedDB file for URL hxxps://keewrq9z.get1tn0w.free247downloads[.]comn/aWebKit IndexedDB file for URL hxxps://3hdxu4446c49s.get1tn0w.free247downloads[.]comC.2 Forensic Traces Overview for Omar RadiDate (UTC)Event2019-02-11 14:45:45Webkit IndexedDB file for URL hxxps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com2019-02-11 13:45:53Safari favicon from URL hxxps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YP2019-02-11 13:45:56Process:bh2019-02-11 13:46:16Process:roleaboutd2019-02-11 13:46:23Process:roleaboutd2019-02-11 16:05:24Process:roleaboutd2019-08-16 17:41:06iMessage lookup for accountbergers.o79[@]gmail.com2019-09-13 15:01:38Safari favicon for URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#0113565702571172968348457040223389731330224333972362019-09-13 15:01:56Safari favicon for URL hxxps://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#0680995616146262785199253586387891615724278336453892019-09-13 15:02:11Process:bh2019-09-13 15:02:20Process:msgacntd2019-09-13 15:02:33Process:msgacntd2019-09-14 15:02:57Process:msgacntd2019-09-14 18:51:54Process:msgacntd2019-10-29 12:21:18iMessage lookup for accountnaomiwerff772[@]gmail.com2020-01-27 10:06:24Safari favicon for URL hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#0741964198279879192740015486227389198355567483259462020-01-27 10:06:26Safari visit to hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#22020-01-27 10:06:26Safari visit to hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#242020-01-27 10:06:32Safari favicon for URL hxxps://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946%2324Appendix D can be foundhere.[1]The technical evidence provided in the report includes the forensic research carried out as part of the Pegasus Project as well as additional Amnesty International Security Lab research carried out since the establishment of the Security Lab in 2018.[2]Email to Amnesty International, May 2021[3]Email to Amnesty International, July 2021.