取证报告之如何发现NSO集团的Pegasus间谍软件

取证报告之如何发现NSO集团的Pegasus间谍软件

介绍

NSO Group 声称其 Pegasus 间谍软件仅用于“调查恐怖主义和犯罪”  ,“不会留下任何痕迹”。本取证报告表明,这些陈述均不属实。这份报告伴随着飞马计划(Pegasus Project)的发布,这项合作调查涉及来自 10 个国家的 17 个媒体组织的 80 多名记者,由 Forbidden Stories 协调,并得到国际特赦组织安全实验室的技术支持。[1]

取证报告之如何发现NSO集团的Pegasus间谍软件

国际特赦组织的安全实验室对世界各地人权捍卫者 (HRD) 和记者的众多移动设备进行了深入的取证分析。这项研究发现了使用 NSO Group 的 Pegasus 间谍软件进行的广泛、持续和持续的非法监视和侵犯人权行为。

正如《联合国商业与人权指导原则》所规定的那样,NSO 集团应紧急采取积极主动的措施,确保其不会在其全球业务中造成或助长侵犯人权的行为,并在发生任何侵犯人权行为时作出回应。它们确实会发生。为了履行这一责任,NSO 集团必须进行充分的人权尽职调查,并采取措施确保人权捍卫者和记者不会继续成为非法监视的目标。

在这份取证方法报告中,国际特赦组织将分享其方法并发布开源移动取证工具和详细的技术指标,以协助信息安全研究人员和民间社会检测和应对这些严重威胁。

此报告记录了在使用 Pegasus 间谍软件进行定位后在 iOS 和 Android 设备上留下的取证痕迹。这包括将最近的 Pegasus 感染与 2016 年用于针对 HRD Ahmed Mansoor 的 Pegasus 有效载荷联系起来的取证记录。

本报告和随附附录中详述的 Pegasus 攻击是从 2014 年到最近的 2021 年 7 月。其中还包括不需要目标进行任何交互的所谓“零点击”(zero-click)攻击。自 2018 年 5 月以来一直观察到零点击攻击并一直持续到现在。最近,在 2021 年 7 月,观察到一次成功的“零点击”攻击利用多个零日攻击运行 iOS 14.6 的完全修补的 iPhone 12。

本报告的第 1 至第 8 部分概述了 Pegasus 感染后在移动设备上留下的取证痕迹。这些证据是从多个国家的人权捍卫者和记者的电话中收集的。

最后,在第 9 节中,报告记录了自 2016 年以来 Pegasus 网络基础设施的演变。 NSO Group 通过采用多层域和服务器重新设计了他们的攻击基础设施。反复出现的操作安全错误使国际特赦 组织安全实验室能够保持对该基础设施的持续可见性。我们正在发布一组 700 个与 Pegasus 相关的域名。

出于安全原因,报告中几个民间社会目标的名称已匿名。在本报告中,已匿名的个人被分配了一个字母数字代号。 

取证报告之如何发现NSO集团的Pegasus间谍软件

1. 发现 Pegasus 网络注入攻击

在我们于 2018 年发现一名国际特赦组织工作人员和一名沙特活动家Yahya Assiri的袭击目标之后,国际特赦组织对 NSO 集团 Pegasus 的技术调查得到加强。国际特赦组织的安全实验室通过发现摩洛哥人权捍卫者受到的攻击,开始完善其取证方法。 2019 年我们在 2020 年发现对一名摩洛哥记者攻击进一步证实了这一点。在第一部分中,我们详细介绍了导致发现这些受害的过程。

多年来,许多公开报告已经确定 NSO Group 的客户使用带有 Pegasus 漏洞利用域的 SMS 消息。因此,我们对摩洛哥活动家 Maati Monjib 的电话进行了分析,得出了类似的信息,他是国际特赦组织2019 年报告中记录的活动家之一。

但是,在进一步分析中,我们还注意到 Safari 浏览历史记录中记录的可疑重定向。例如,在一个案例中,我们注意到在 Maati Monjib 尝试访问 Yahoo 后重定向到一个看起来很奇怪的 URL:

访问 ID日期 (UTC)网址重定向源重定向目的地
161192019-07-22 17:42:32.475http://yahoo.fr/空值16120
161202019-07-22 17:42:32.478https://bun54l2b67.get1tn0w.free247downloads.com:30495/szev4hz16119空值

(请注意:在整个文档中,文中出现的恶意域切勿进行点击和访问。)
(请注意:在整个文档中,我们使用标记[.]对恶意域进行了转义,以防止意外点击和访问。)

URL https://bun54l2b67.get1tn0w.free247downloads.com:30495/szev4hz立即显得可疑,特别是因为存在第 4 级子域、非标准高端口号和类似于包含的链接的随机 URI在之前记录的与 NSO Group 的 Pegasus 相关的 SMS 消息中。正如您在上表中看到的,对 Yahoo 的访问立即被重定向到这个数据库 ID 为 16120 的可疑 URL。

在我们201910 月的报告中,我们详细说明了我们如何确定这些重定向是通过战术设备(例如流氓基站)或通过放置在移动运营商处的专用设备执行的网络注入攻击的结果。几个月后,当我们分析摩洛哥独立记者 Omar Radi 的 iPhone(如我们的 2020 年报告中所述)时,我们发现类似的记录也涉及free247downloads.com域。

2019 年 11 月,国际特赦组织初步报告后,注册了一个新域名urlpush.net。我们发现它随后涉及到 URL https://gnyjv1xltx.info8fvhgl3.urlpush.net:30875/zrnv5revj 的类似重定向

尽管 Safari 的历史记录通常是短暂的并且会在几个月后丢失(并且可能被恶意软件有意清除),但我们仍然能够在 Omar Radi 手机的其他数据库中找到 NSO Group 的感染域,而这些域并未出现在 Safari 的历史。例如,我们可以通过 Safari 的Favicon.db数据库来识别访问,而 Pegasus 则保留了该数据库:

日期 (UTC)   网址网址logo
2019-02-11 14:45:53https://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/rdEN5YPhttps://d9z3sz93x5ueidq3.get1tn0w.free247downloads[.]com:30897/favicon.ico
2019-09-13 17:01:38https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#011356570257117296834845704022338973133022433397236https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico
2019-09-13 17:01:56https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse#068099561614626278519925358638789161572427833645389https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/favicon.ico
2020-01-17 11:06:32https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946%2324https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.ico 
2020-01-27 11:06:24https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946https://gnyjv1xltx.info8fvhgl3.urlpush[.]net:30875/favicon.ico

正如我们关于摩洛哥 Pegasus 攻击的2020 年报告的技术附录中所述,这些重定向不仅在目标使用浏览器应用程序浏览互联网时发生,而且在使用其他应用程序时也会发生。例如,在一个案例中,国际特赦组织在 Omar Radi 使用 Twitter 应用程序时发现了网络注入。当预览在他的时间线中共享的链接时,服务com.apple.SafariViewService被调用以加载 Safari WebView,并发生了重定向。

因此,我们可以在特定于应用程序的 WebKit 本地存储、IndexedDB 文件夹等中找到涉及域free247downloads[.]comurlpush[.]net 的其他记录。在多种情况下,在网络注入重定向到 Pegasus 安装服务器后不久,Safari 创建了 IndexedDB 文件。

此外,Safari 的会话资源日志提供了额外的跟踪,这些跟踪不会始终出现在 Safari 的浏览历史记录中。Safari 似乎没有记录完整的重定向链,并且可能只保留显示加载的最终页面的历史记录。从分析过的手机中恢复的会话资源日志表明,额外的暂存域被用作最终导致感染服务器的蹦床。事实上,这些日志表明,我们在本文开头描述的针对 Maati Monjib 的第一次网络注入也涉及域documentpro[.]org

重定向源地址起源重定向目的地
yahoo.frdocumentpro[.]orgfree247downloads[.]com

Maati Monjib 访问了 http://yahoo.fr,网络注入强行将浏览器重定向到 documentpro[.]org,然后进一步重定向到 free247downloads[.]com 并继续利用。

同样,在另一个场合 Omar Radi 访问了法国报纸 Le Parisien 的网站,网络注入将他重定向到临时域tahmilmilafate[.]com,然后最终也重定向到了 free247downloads[.]com。我们还看到了tahmilmilafate[.]info以同样的方式使用:

重定向源起源重定向目的地
leparisien.frtahmilmilafate[.]comfree247downloads[.]com

在国际特赦组织在 2020 年 1 月观察到的最近一次针对 Omar Radi 的尝试中,他的手机被重定向到gnyjv1xltx.info8fvhgl3.urlpush[.]net上的一个漏洞利用页面,通过域名baramije[.]net。域名 baramije[.]net 在urlpush[.]net前一天注册,并使用开源 Textpattern CMS 建立了一个诱饵网站。

网络活动的痕迹并不是唯一可用的受害指标,对 iPhone 的进一步检查揭示了执行的进程,最终导致建立了大赦国际分析并发现被感染的所有后续 iPhone 所独有的一致模式。

2. Pegasus的BridgeHead等恶意进程出现

国际特赦组织、公民实验室和其他机构主要将基于域名和其他网络基础设施的 Pegasus 间谍软件攻击归咎于实施攻击。然而,Pegasus 间谍软件留下的取证证据提供了另一种独立的方法来将这些攻击归因于 NSO Group 的技术。

iOS在设备上存储的两个名为“ DataUsage.sqlite ”和“ netusage.sqlite ”的SQLite 数据库文件中维护进程执行及其各自网络使用情况的记录。值得注意的是,虽然前者在 iTunes 备份中可用,但后者不可用。此外,应该注意的是,只有执行网络活动的进程才会出现在这些数据库中。

Maati Monjib 和 Omar Radi 的网络使用数据库都包含一个名为“ bh”的可疑进程的记录。在访问 Pegasus 安装域后立即多次观察到此“bh”进程。

Maati Monjib 的手机有 2018 年 4 月至 2019 年 3 月执行“bh”的记录:

开始日期 (UTC)最后日期 (UTC)进程名称广域网输入WWAN OUT进程ID
2018-04-29 00:25:122019-03-27 22:45:10bh3319875.0144443.059472

国际特赦组织在 2019 年 2 月至 9 月期间在 Omar Radi 的手机上发现了类似的记录:

开始日期 (UTC)最后日期 (UTC)进程名称广域网输入WWAN OUT进程ID
2019-02-11 14:45:562019-09-13 17:02:113019409.0147684.050465

“bh”的最后一次执行记录发生在网络注入成功后几秒钟(如早前在 2019-09-13 17:01:56 列出的网站图标记录中所见)。

最重要的是,我们发现飞马的iOS样品中“BH”引用来自阿联酋对人权2016年的攻击后卫艾哈迈德·曼苏尔,恢复由公民实验室发现,并通过网络安全公司瞭望深入分析

正如 Lookout 的分析中所描述的那样,2016 年 NSO Group 利用 iOS JavaScriptCore Binary (jsc) 中的一个漏洞来实现在设备上执行代码。这个相同的漏洞也被用来在重启后保持设备上的持久性。我们在整个漏洞利用代码中找到了对“bh”的引用:

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);

这个模块在Lookout的分析中是这样描述的:

“bh.c – 使用 BZ2_bzDecompress、chmod 和 malloc 等函数加载与下一阶段有效载荷的解压缩及其在受害者 iPhone 上正确放置相关的 API 函数”

Lookout 进一步解释了位于 /var/tmp/jb_cfg 的配置文件与二进制文件一起丢弃。有趣的是,我们在 Pegasus 包的 libaudio.dylib 文件部分中找到了导出为_kBridgeHeadConfigurationFilePath 的文件路径:


__const:0001AFCC                 EXPORT _kBridgeHeadConfigurationFilePath

__const:0001AFCC _kBridgeHeadConfigurationFilePath DCD cfstr_VarTmpJb_cfg ; "/var/tmp/jb_cfg"

因此,我们怀疑“bh”可能代表“BridgeHead”,这可能是 NSO Group 为其工具包的这个组件分配的内部名称。 

Omar Radi 手机成功入网后立即出现的“bh”进程与BridgeHead 模块的明显目的是一致的。它完成了浏览器的利用、root设备并准备感染完整的 Pegasus 套件。

2.1 BridgeHead 之后的其他可疑进程

BH的IndexedDB的文件由飞马安装服务器创建和图标条目是通过Safari浏览器记录后处理第一次出现在奥马尔·拉迪的电话上2月11日2019年这种情况发生10秒。大约在同一时间,文件com.apple.CrashReporter.plist被写入/private/var/root/Library/Preferences/,可能会禁止向 Apple 报告崩溃日志。漏洞利用链在这个阶段已经获得了root权限。

不到一分钟后,“ roleaboutd ”进程首先出现。

日期 (UTC)事件 
2019-02-11 14:45:45URL https_d9z3sz93x5ueidq3.get1tn0w.free247downloads.com_30897/的IndexedDB记录 
2019-02-11 14:45:53URL hxxps//d9z3sz93x5ueidq3.get1tn0w 的Safari Favicon 记录。free247downloads[.]com:30897/rdEN5YP 
2019-02-11 14:45:54通过编写com.apple.CrashReporter.plist禁用崩溃报告器 
2019-02-11 14:45:56进程:bh 
2019-02-11 14:46:23进程 :roleaboutd优先 
2019-02-11 17:05:24进程:roleaboutd随后 

Omar Radi 的设备于 2019 年 9 月 13 日再次被利用。此后不久又开始了“ bh ”进程。大约在这个时候,com.apple.softwareupdateservicesd.plist文件被修改了。还启动了“ msgacntd”进程。 

日期 (UTC)事件
2019-09-13 17:01:38URL hxxps://2far1v4lv8.get1tn0w 的 Safari Favicon 记录。free247downloads[.]com:31052/meunsnyse
2019-09-13 17:02:11进程:bh
2019-09-13 17:02:33进程:msgacntd优先
2019-09-13 17:02:35文件修改:com.apple.softwareupdateservicesd.plist
2019-09-14 20:51:54进程:msgacntd随后

 根据利用的时间和背景,Amnesty International认为roleaboutdmsgacntd进程是 Pegasus 间谍软件的后期阶段,该间谍软件是在使用BridgeHead 负载成功利用和提权后加载的。

同样,对 Maati Monjib 手机的取证分析显示,除了bh之外,还执行了更多可疑进程。一个名为pcsd的进程和一个名为fmld 的进程出现在 2018 年:

开始时间最后日期进程名称广域网输入WWAN OUT进程标识
2018-05-04 23:30:452018-05-04 23:30:45pcsd12305.010173.014946
2018-05-21 23:46:062018-06-4 13:05:43fmld0.0188326.021207

国际特赦组织证实最新版本的 iOS 中没有分发同名的合法二进制文件。

在 Omar Radi 和 Maati Monjib 的手机上发现的这些进程后来成为国际特赦组织继续调查的工具,因为我们在来自世界各地的目标个人的设备上发现了具有相同名称的进程。

3. Pegasus 处理潜在的 Apple Photos exploitation

在国际特赦组织作为飞马计划的一部分进行的调查期间,我们发现了其他案例,其中上述“bh”进程被记录在通过不同攻击媒介受损的设备上。

在一个例子中,一位法国人权律师(代码:FRRHL1)的电话遭到入侵,“bh”进程在 iOS 照片应用程序 ( com.apple.mobileslideshow ) 的网络流量首次被记录后几秒内被执行。同样,在成功利用之后,通过将com.apple.CrashReporter.plist文件写入设备来禁用崩溃报告

2019-10-29 09:04:32进程:mobileslideshow/com.apple.mobileslideshow 先
2019-10-29 09:04:58进程:bh
2019-10-29 09:05:08com.apple.CrashReporter.plist 被删除
2019-10-29 09:05:53进程:mptbd

iOS 照片应用程序的下一次也是最后一次记录网络活动是在 2019 年 12 月 18 日,再次在设备上执行恶意进程之前。

2019-12-18 08:13:33进程:mobileslideshow/com.apple.mobileslideshow last
2019-12-18 08:13:47进程:bh
2019-12-18 11:50:15进程:ckebld

在另一个案例中,我们在 2020 年 5 月法国记者(代码:FRJRN1)的 iPhone 上发现了与“mobileslideshow”和“bh”流程类似的模式:

2020-05-24 15:44:21进程:mobileslideshow/com.apple.mobileslideshow 先
2020-05-24 15:44:39进程:bh
2020-05-24 15:46:51进程:fservernetd
 
2020-05-27 16:58:31进程:mobileslideshow/com.apple.mobileslideshow last
2020-05-27 16:58:52进程:bh
2020-05-27 18:00:50进程:ckkeyrollfd

国际特赦组织无法捕获与此漏洞利用相关的有效载荷,但怀疑 iOS 照片应用程序或 Photostream 服务被用作部署 Pegasus 的漏洞利用链的一部分。应用程序本身可能已被利用或其功能被滥用,以向设备提供更传统的 JavaScript 或浏览器漏洞利用。

从上表中可以看出,其他进程名称,如mptbdckeblldfservernetdckkeyrollfd 紧跟bh之后。与fmldpcsd 一样,国际特赦组织认为这些是在成功被入侵后下载和执行的额外payloads。随着调查的进行,我们发现了数十个与 Pegasus 感染有关的恶意进程名称。

此外,国际特赦组织发现同一 iCloud 帐户bogaardlisa803[@]gmail.com 被记录为与两台设备上的“com.apple.private.alloy.photostream”服务相关联。在国际特赦组织最近分析的许多受感染设备案例中,故意创建的 iCloud 帐户似乎是传递多个“零点击”攻击媒介的核心。

4、2019年广泛使用的一款iMessage零点击0day

虽然携带恶意链接的 SMS 消息是 2016 年至 2018 年 NSO Group 客户的首选策略,但近年来它们似乎变得越来越少。摩洛哥网络注入攻击的发现标志着攻击者的策略确实在发生变化。网络注入是一种有效且具有成本效益的攻击媒介,供国内使用,尤其是在对移动运营商有影响力的国家。然而,虽然它只对国内网络有效,但针对外国目标或侨民社区个人的目标也发生了变化。 

从 2019 年开始,iOS 中越来越多的漏洞,尤其是 iMessage 和 FaceTime,由于漏洞研究人员的发现,或者网络安全供应商报告了在野外发现的漏洞利用,开始得到修补。

作为回应,国际特赦组织扩展了其取证方法,以通过 iMessage 和 FaceTime 收集任何相关痕迹。iOS 在位于/private/var/mobile/Library/Preferences/com.apple.identityservices的 plist 文件中保存每个已安装应用程序看到的 Apple ID 的记录idstatuscache.plist此文件通常也可在常规 iTunes 备份中使用,因此无需越狱即可轻松提取。

这些记录在后来的调查中发挥了关键作用。在许多情况下,我们发现可疑的 Pegasus 进程在可疑的 iMessage 帐户查找后立即在设备上执行。例如,以下记录是从一位法国记者(CODE FRJRN2)的电话中提取的:

2019-06-16 12:08:44通过 com.apple.madrid (iMessage)查找[email protected]
2019-08-16 12:33:52通过 com.apple.madrid (iMessage)查找 bergers.o79@gmail \x00\x00 om
2019-08-16 12:37:55文件Library/Preferences/com.apple.CrashReporter.plist在 RootDomain 中创建
2019-08-16 12:41:25文件Library/Preferences/roleaccountd.plist在 RootDomain 中创建
2019-08-16 12:41:36进程:roleaccountd
2019-08-16 12:41:52进程:stagingd
2019-08-16 12:49:21进程:aggregatenotd

国际特赦组织对多种设备的取证分析发现了类似的记录。在许多情况下,同一个 iMessage 帐户会在多个目标设备上重复出现,这可能表明这些设备已被同一运营商作为目标。此外,roleaccountdstagingd进程与其他进程一致发生。

例如,匈牙利记者 (CODE HUJRN1) 的 iPhone 显示以下记录:

2019-09-24 13:26:15通过 com.apple.madrid (iMessage)查找[email protected]
2019-09-24 13:26:51通过 com.apple.madrid (iMessage)查找[email protected]
2019-09-24 13:32:10进程:roleaccountd
2019-09-24 13:32:13 进程 :stagingd

在这种情况下,在第一次查找后 5 分钟记录了第一个执行某些网络活动的可疑进程。该com.apple.CrashReporter.plist文件已经存在此设备上的一次成功感染后,并没有再次写入。 

另一位匈牙利记者 (CODE HUJRN2) 的 iPhone 显示了对相同 iMessage 帐户的查找以及许多其他进程以及roleaccountdstagingd

2019-07-15 12:01:37通过 com.apple.madrid (iMessage)查找 mailto:e \x00\x00 [email protected]
2019-07-15 14:21:40进程:accountpfd
2019-08-29 10:57:43进程:roleaccountd
2019-08-29 10:57:44进程:stagingd
2019-08-29 10:58:35进程:launchrexd
2019-09-03 07:54:26进程:roleaccountd
2019-09-03 07:54:28进程:stagingd
2019-09-03 07:54:51进程:seraccountd
2019-09-05 13:26:38进程:seraccountd
2019-09-05 13:26:55进程:misbrigd
2019-09-10 06:09:04通过 com.apple.madrid (iMessage)查找[email protected]
2019-09-10 06:09:47通过 com.apple.madrid (iMessage)查找[email protected]
2019-10-30 14:09:51进程:nehelprd

有趣的是,在国际特赦组织从 2019 年恢复的痕迹中,在执行可疑进程之前立即进行的 iMessage 查找通常在 ID 状态缓存文件记录的电子邮件地址中包含两个字节的 0x00 填充。

取证报告之如何发现NSO集团的Pegasus间谍软件

5. Apple Music 将在 2020 年推出 Pegasus

2021 年年中,国际特赦组织确定了另一起来自阿塞拜疆的著名调查记者 (CODE AZJRN1) 的案例,他在 2019 年至 2021 年年中多次成为 Pegasus 零点击攻击的目标。

再一次,我们在第一次记录的成功利用之后在设备上发现了类似的取证痕迹模式:

2019-03-28 07:43:14文件:来自 RootDomain 的Library/Preferences/ com.apple.CrashReporter.plist
2019-03-28 07:44:03文件:来自 RootDomain 的Library/Preferences/ roleaccountd.plist
2019-03-28 07:44:14进程:roleaccountd
2019-03-28 07:44:14进程:stagingd

有趣的是,我们发现了一种新的 iOS 感染技术被用来危害该设备的迹象。成功感染发生在 2020 年 7 月 10 日:

2020-07-06 05:22:21通过 iMessage (com.apple.madrid)查找f\x00\[email protected]
2020-07-10 14:12:09  Apple Music 应用的 Pegasus 请求:https://x1znqjo0x8b8j.php78mp9v.opposedarrangement[.]net:37271/afAVt89Wq/stadium/pop2.html?key=501_4&n=7
2020-07-10 14:12:21进程:roleaccountd
2020-07-10 14:12:53进程:stagingd
2020-07-13 05:05:17Apple Music 应用程序的 Pegasus 请求:
https://4n3d9ca2st。php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7

在 Pegasus 在设备上启动前不久,我们看到了 Apple Music 服务的网络流量记录。这些 HTTP 请求是从位于/private/var/mobile/Containers/Data/Application/D6A69566-55F7-4757-96DE-EBA612685272/Library/Caches/com.apple.Music/Cache的网络缓存文件中恢复的。我们通过越狱设备检索到的 db。

国际特赦组织无法从取证中确定 Apple Music 本身是否被利用来提供最初的感染,或者该应用程序是否被滥用作为沙盒逃逸和特权升级链的一部分。最近的研究表明,内置应用程序(例如 iTunes Store 应用程序)可能会被滥用以运行浏览器漏洞,同时逃离限制性的 Safari 应用程序沙箱。

然而,最重要的是,Apple Music 应用程序执行的 HTTP 请求指向域opposedarrangement[.]net,我们之前确定该域属于 NSO Group 的 Pegasus 网络基础设施。该域与我们在发现摩洛哥的网络注入攻击后进行互联网范围扫描时设计的独特指纹相匹配(参见第 9 节)。

此外,这些 URL 显示出我们多年来发现的 Pegasus 攻击所涉及的其他 URL 的典型特征,如下一节所述。

6、巨齿鲨(Megalodon):iMessage 2021年零点击0天回归

国际特赦组织对多台设备进行的分析揭示了与我们在 2019 年观察到的攻击类似的攻击痕迹。最近在 2021 年 7 月就观察到了这些攻击。国际特赦组织认为,Pegasus 目前是通过零点击漏洞传播的,这些漏洞在最新的在撰写本文时(2021 年 7 月)可用的 iOS 版本。

在一位法国人权律师 (CODE FRHRL2) 的 iPhone 上,我们观察到对受害者未知的可疑 iMessage 帐户的查找,随后是com.apple.coretelephony进程执行的 HTTP 请求。这是 iOS 的一个组件,涉及所有与电话相关的任务,并且很可能在这次攻击中被利用。我们在/private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db磁盘上存储的缓存文件中发现了此 HTTP 请求的痕迹,其中包含请求和响应的元数据。手机发送的设备信息包括型号9.1 (iPhone 7) 和 iOS 版本号18C66(版本 14.3)到 Amazon CloudFront 前端的服务,这表明 NSO Group 近几个月已转向使用 AWS 服务。在这次攻击发生时,较新的 iOS 版本 14.4 仅发布了几周。

日期 (UTC)事件
2021-02-08 10:42:40通过 iMessage (com.apple.madrid)查找[email protected]
2021-02-08 11:27:10com.apple.coretelephony 向https://d38j2563clgblt.cloudfront[.]net/fV2GsPXgW//stadium/megalodon?m=iPhone9,1&v=18C66执行 HTTP 请求
2021-02-08 11:27:21进程:gatekeeperd
2021-02-08 11:27:22网守向https://d38j2563clgblt.cloudfront.net/fV2GsPXgW//stadium/wizard/01-00000000执行 HTTP 请求
2021-02-08 11:27:23进程:gatekeeperd

com.apple.coretelephony的Cache.db文件包含有关 HTTP 响应的详细信息,该响应似乎是下载了约 250kb 的二进制数据。事实上,我们在fsCachedData子文件夹中找到了下载的二进制文件,但不幸的是它被加密了。国际特赦组织认为这是作为守门人发射的有payloads。

国际特赦组织随后分析了一名记者 (CODE MOJRN1) 的 iPhone,其中包含非常相似的记录。该设备在 2021 年 2 月至 2021 年 4 月以及 iOS 版本中多次被反复利用。最近的尝试显示了以下侵害指标:

日期 (UTC)                           事件
2021-04-02 10:15:38通过 iMessage (com.apple.madrid)查找[email protected]
2021-04-02 10:36:00com.apple.coretelephony 向https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/megalodon?m=iPhone8,1&v=18D52&u=[REDACTED]执行 HTTP 请求
2021-04-02 10:36:08进程PDPDialogshttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjuk执行 HTTP 请求
2021-04-02 10:36:16进程PDPDialogshttps://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/01-00000000执行 HTTP 请求
2021-04-02 10:36:16com.apple.coretelephony 向https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/cszjcft=frzaslm执行 HTTP 请求
2021-04-02 10:36:35进程:gatekeeperd
2021-04-02 10:36:45进程:rolexd

很明显,在之前的单独案例中观察到的同一个 iMessage 帐户在几个月后参与了这次利用和侵害。com.apple.coretelephony联系了同一个 CloudFront 网站,其他进程执行、下载和启动了其他恶意组件。

最初的登记表明,受到攻击的 iPhone 6s 在受到攻击时运行的是 iOS 14.4(内部版本号 18D52)。尽管 14.4.1 和 14.4.2 版本当时已经可用,但它们仅解决了 WebKit 中的漏洞,因此可以安全地假设这些 iMessage 攻击中利用的漏洞被利用为 0-day。

值得注意的是,在此手机上观察到的许多其他恶意进程名称中,我们看到了msgacntd,我们也发现它在 2019 年在 Omar Radi 的手机上运行,​​如前面所述。

此外,应该注意的是,我们在过去三年中观察到的攻击中使用的 URL 显示出一组一致的模式。这支持了国际特赦组织的分析,即所有三个 URL 实际上都是 Pegasus 客户攻击基础设施的组成部分。2020 年的 Apple Music 攻击显示出与 2019 年网络注入攻击相同的第 4 级域结构和非标准高端口号。free247downloads[.]com 和opposedarrangements[.]net域都与我们的 Pegasus V4 域指纹匹配。

此外,Apple Music 攻击 URL 和 2021 Megaladon 攻击 URL 共享一个独特的模式。两个 URL 路径都以与攻击尝试相关的随机标识符开头,后跟单词“stadium”。

攻击   网址
网络注入(2019)https://2far1v4lv8.get1tn0w.free247downloads[.]com:31052/meunsnyse
Apple Music 攻击(2020)https://4n3d9ca2st.php78mp9v.opposedarrangement[.]net:37891/w58Xp5Z/stadium/pop2.html?key=501_4&n=7                                                    
iMessage 零点击 (2021)https://d38j2563clgblt.cloudfront[.]net/dMx1hpK//stadium/wizard/ttjuk

国际特赦组织向亚马逊报告了这一信息,亚马逊告诉我们,他们“迅速采取行动关闭了相关的基础设施和账户”[2]

2021 年 6 月 11日,法国人权活动家 (CODE FRHRD1) 的 iPhone 11 还显示了对帐户linakeller2203[@]gmail.com的 iMessage 查询以及随后的恶意进程。该手机运行的是 iOS 14.4.2,并在第二天升级到 14.6。

最近,国际特赦组织在 2021 年 6 月 16 日观察到一名运行 iOS 14.6(撰写本文时可用的最新版本)的印度记者 (CODE INJRN1) 的 iPhone XR 遭到入侵的证据。最后,国际特赦组织确认存在活跃感染2021 年 6 月 24 日,同样运行 iOS 14.6 的激进主义者 (CODE RWHRD1) 的 iPhone X。虽然由于无法越狱这两个设备,我们无法从 Cache.db 数据库中提取记录,但从这些 iPhone 中提取的其他诊断数据显示,在 Pegasus 进程执行之前立即有大量 iMessage 推送通知。

卢旺达活动家 (CODE RWHRD1) 的设备显示了 2021 年 5 月和 6 月多次成功零点击感染的证据。我们可以在 2021 年 5 月 17 日看到一个例子。一个陌生的 iMessage 帐户被记录下来,至少在接下来的几分钟内在磁盘上创建了 20 个 iMessage 附件块。

日期 (UTC)  事件
2021-05-17 13:39:16查找 iCloud 帐户benjiburns8[@]gmail.com (iMessage)
2021-05-17 13:40:12文件:/private/var/mobile/Library/SMS/Attachments/dc/12/DEAE6789-0AC4-41A9-A91C-5A9086E406A5/.eBDOuIN1wq.gif-2hN9
2021-05-17 13:40:21文件:/private/var/mobile/Library/SMS/Attachments/41/01/D146B32E-CA53-41C5-BF61-55E0FA6F5FF3/.TJi3fIbHYN.gif-bMJq
2021-05-17 13:44:19文件:/private/var/mobile/Library/SMS/Attachments/42/02/45F922B7-E819-4B88-B79A-0FEE289701EE/.v74ViRNkCG.gif-V678

国际特赦组织没有发现任何证据表明 5 月 17 日的袭击是成功的。后来在 6 月 18 日和 6 月 23 日的攻击成功并导致 Pegasus 有效载荷部署在设备上。

最初,收到了许多 iMessage (com.apple.madrid) 推送通知,并将附件块写入磁盘。下表显示了在文件系统上找到的 48 个附件文件的示例。

日期 (UTC)  事件    
2021-06-23 20:45:008 个主题 com.apple.madrid 推送通知 (iMessage)
2021-06-23 20:46:0046 个主题 com.apple.madrid 推送通知 (iMessage)
2021-06-23 20:46:19文件:/private/var/tmp/com.apple.messages/F803EEC3-AB3A-4DC2-A5F1-9E39D7A509BB/.cs/ChunkStoreDatabase
2021-06-23 20:46:20文件:/private/var/mobile/Library/SMS/Attachments/77/07/4DFA8939-EE64-4CB5-A111-B75733F603A2/.8HfhwBP5qJ.gif-u0zD
2021-06-23 20:53:0017 个主题 com.apple.madrid 推送通知 (iMessage)
2021-06-23 20:53:54文件:/private/var/tmp/com.apple.messages/50439EF9-750C-4449-B7FC-851F28BD3BD3/.cs/ChunkStoreDatabase
2021-06-23 20:53:54文件:/private/var/mobile/Library/SMS/Attachments/36/06/AA10C840-1776-4A51-A547-BE78A3754773/.7bb9OMWUa8.gif-UAPo
2021-06-23 20:54:00主题 com.apple.madrid (iMessage) 的 54 个推送通知

进程崩溃发生在 20:48:56,导致ReportCrash进程启动,随后与 iMessage 处理相关的多个进程重新启动:

日期 (UTC)  事件    
2021-06-23 20:48:56PID 为 1192 且名称为 ReportCrash 的进程
2021-06-23 20:48:56PID 为 1190 且名称为 IMTransferAgent 的进程
2021-06-23 20:48:56PID 为 1153 且名称为 SCHelper 的进程
2021-06-23 20:48:56PID 为 1151 且名称为 CategoriesService 的进程
2021-06-23 20:48:56PID 为 1147 且名称为 MessagesBlastDoorService 的进程
2021-06-23 20:48:56PID 为 1145 且名称为 NotificationService 的进程

五分钟后发生了第二组崩溃和重新启动。该 ReportCrash过程与相关内容的iMessage和iMessage的自定义头像的解析过程开始一起。

日期 (UTC)  事件    
2021-06-23 20:54:16PID 为 1280 且名称为 ReportCrash 的进程
2021-06-23 20:54:16PID 为 1278 且名称为 IMTransferAgent 的进程
2021-06-23 20:54:16使用 PID 1266 和名称 com.apple.WebKit.WebContent 的进程
2021-06-23 20:54:16进程与 PID 1263 和名称 com.apple.accessibility.mediaac
2021-06-23 20:54:16PID 为 1262 且名称为 CategoriesService 的进程
2021-06-23 20:54:16进程与 PID 1261 和名称 com.apple.WebKit.Networking
2021-06-23 20:54:16PID 为 1239 并命名为 avatarsd 的进程

不久之后,在 20:54 漏洞利用成功,我们观察到com.apple.coretelephony进程发出了一个网络请求,导致 Cache.db 文件被修改。这与国际特赦组织在 2021 年其他 Pegasus 零点击攻击中的行为相符。 

日期 (UTC)   事件    
2021-06-23 20:54:35文件:/private/var/wireless/Library/Caches/com.apple.coretelephony/Cache.db-shm
2021-06-23 20:54:35文件:/private/var/wireless/Library/Caches/com.apple.coretelephony/fsCachedData/3C73213F-73E5-4429-AAD9-0D7AD9AE83D1
2021-06-23 20:54:47文件:/private/var/root/Library/Caches/appccntd/Cache.db
2021-06-23 20:54:53文件:/private/var/tmp/XtYaXXY
2021-06-23 20:55:08文件:/private/var/tmp/CFNetworkDownload_JQeZFF.tmp
2021-06-23 20:55:09文件:/private/var/tmp/PWg6ueAldsvV8vZ8CYpkp53D
2021-06-23 20:55:10文件:/private/var/db/com.apple.xpc.roleaccountd.staging/otpgrefd
2021-06-23 20:55:10文件:/private/var/tmp/vditcfwheovjf/kk
2021-06-23 20:59:35进程:appccntd
2021-06-23 20:59:35进程:otpgrefd

最后,对印度记者 (CODE INJRN2) 运行 iOS 14.6 的完全修补的 iPhone 12 的分析也揭示了成功入侵的迹象。这些最新发现表明 NSO Group 的客户目前能够远程入侵所有最新的 iPhone 型号和 iOS 版本。 

我们已将此信息报告给 Apple,Apple 通知我们他们正在调查此事。[3]

7. 隐瞒入侵证据的不完全企图

国际特赦组织检查过的几部 iPhone 表明,Pegasus 最近开始操纵受感染设备上的系统数据库和记录,以隐藏其踪迹,并阻碍国际特赦组织和其他调查人员的研究工作。

有趣的是,在验证DataUsage.sqlitenetusage.sqlite中剩余记录的一致性时,这种操作变得明显SQLite 数据库。Pegasus 已经从 DataUsage 数据库的 ZPROCESS 表中删除了恶意进程的名称,但没有从 ZLIVEUSAGE 表中删除相应的条目。ZPROCESS 表存储包含进程 ID 和进程名称的行。ZLIVEUSAGE 表为每个正在运行的进程包含一行,包括数据传输量和与 ZPROCESS 条目对应的进程 ID。这些不一致可用于确定可能发生感染的时间。在观察到此异常的所有设备上都观察到了额外的 Pegasus 妥协指标。国际特赦组织分析的任何干净的 iPhone 都没有发现类似的不一致。

尽管现在正在从这些数据库中删除最近的记录,但也可以从系统的其他诊断日志中恢复最近进程执行的痕迹。                                                                               

例如,以下记录是从 HRD (CODE RWHRD1) 的电话中恢复的:

日期 (UTC)事件
2021-01-31 23:59:02进程:libtouchregd(PID 7354)
2021-02-21 23:10:09进程:mptbd(PID 5663)
2021-02-21 23:10:09进程:launchrexd (PID 4634)
2021-03-21 06:06:45进程:roleaboutd (PID 12645 )
2021-03-28 00:36:43进程:otpgrefd (PID 2786)
2021-04-06 21:29:56进程:locserviced (PID 5492)
2021-04-23 01:48:56进程:eventfssd(PID 4276)
2021-04-23 23:01:44进程:aggregatenotd(PID 1900)
2021-04-28 16:08:40进程:xpccfd(PID 1218)
2021-06-14 00:17:12进程:faskeepd (PID 4427)
2021-06-14 00:17:12进程:lobbrogd (PID 4426)
2021-06-14 00:17:12进程:neagentd (PID 4423)
2021-06-14 00:17:12进程:com.apple.rapports.events(PID 4421)
2021-06-18 08:13:35进程:faskeepd (PID 4427)
2021-06-18 15:31:12进程:launchrexd (PID 1169)
2021-06-18 15:31:12进程:frtipd (PID 1168)
2021-06-18 15:31:12进程:ReminderIntentsUIExtension (PID 1165)
2021-06-23 14:31:39进程:launchrexd (PID 1169)
2021-06-23 20:59:35进程:otpgrefd (PID 1301)
2021-06-23 20:59:35进程:launchafd (PID 1300)
2021-06-23 20:59:35进程:vm_stats(PID 1294)
2021-06-24 12:24:29进程:otpgrefd (PID 1301)

系统日志文件还揭示了 Pegasus 二进制文件在磁盘上的位置。这些文件名与我们在前面提供的流程执行日志中一致观察到的文件名相匹配。二进制文件位于文件夹/private/var/db/com.apple.xpc.roleaccountd.staging/内,这与 Citizen Lab 在 2020 年 12 月的报告中的发现一致

/private/var/db/com.apple.xpc.roleaccountd.staging/launchrexd/EACA3532-7D15-32EE-A88A-96989F9F558A

国际特赦组织的调查得到我们收到的辅助信息的证实,似乎表明 Pegasus 不再在 iOS 设备上保持持久性。因此,无法从非易失性文件系统中恢复与这些进程相关的二进制payloads。相反,人们需要能够在不重启的情况下越狱设备,并尝试从内存中提取有效载荷。

8、伪装成iOS系统服务的Pegasus进程

在国际特赦组织对世界各地的设备进行的大量取证分析中,我们发现了一组在受感染手机上执行的一致的恶意进程名称。虽然某些进程(例如bh)似乎是特定攻击向量所独有的,但大多数 Pegasus 进程名称似乎只是伪装成合法的 iOS 系统进程,也许是为了欺骗检查日志的取证调查员。

其中一些进程名称欺骗了合法的 iOS 二进制文件:

飞马进程名称欺骗iOS二进制名称
ABSCarryLogASPCarryLog
aggregatenotdaggregated
ckkeyrollfdckkeyrolld
com.apple.Mappit.SnapshotServicecom.apple.MapKit.SnapshotService
com.apple.rapports.eventscom.apple.rapport.events
CommsCenterRootHelperCommCenterRootHelper
Diagnostic-2543Diagnostic-2532
DiagnosticdDiagnostics
eventsfssdfseventsd
fmldfmfd
JarvisPluginMgrJarvisPlugin
launchafdlaunchd
MobileSMSdMobileSMS
nehelprdnehelper
pcsdcom.apple.pcs             
PDPDialogsPPPDialogs
ReminderIntentsUIExtensionRemindersIntentsUIExtension
rlaccountdxpcroleaccountd
roleaccountdxpcroleaccountd

我们与 Pegasus 感染相关联的进程名称列表可在我们的GitHub页面上的所有其他侵害指标中找到

取证报告之如何发现NSO集团的Pegasus间谍软件

9. 多年来破解 Pegasus 攻击基础设施

自 2016 年 Citizen Lab 首次公开披露以来,用于从 NSO Group 的 Pegasus 间谍软件传输和收集数据的一组域名、服务器和基础设施已经发展了多次。

2018 年 8 月,大赦国际发布了一份报告大赦国际在 NSO 支持的运动的目标中,描述了大赦国际的一名工作人员和一名沙特人权捍卫者的目标。在这份报告中,国际特赦组织摘录了与 NSO 集团攻击基础设施相关的 600 多个域名。国际特赦组织于 2018 年 10 月发布了完整的域名列表。在本报告中,我们将这些域名称为 Pegasus network Version 3 (V3)

第3版的基础设施使用VPS的和专用服务器的网络。每个 Pegasus 安装服务器或命令与控制 (C&C) 服务器都在端口 443 上托管了一个 Web 服务器,该服务器具有唯一的域和 TLS 证书。然后,这些边缘服务器将通过一系列服务器代理连接,NSO Group 将其称为“Pegasus 匿名传输网络”(PATN)。

可以为这些服务器支持的一组独特的 TLS 密码套件创建一对指纹。指纹技术在概念上类似于Salesforce在2019年发布JA3S指纹技术。凭借该指纹,Amnesty International的安全实验室进行了全互联网扫描,以识别 2018 年夏季活跃的 Pegasus 安装/感染和 C&C 服务器。 

NSO Group 在设置其版本 3 基础架构时犯了严重的操作安全错误。先前版本 2 网络的两个域在其版本 3 网络中重复使用。这两个版本 2 域pine-sales[.]comecommerce-ads[.]org之前已被 Citizen Lab 识别。这些错误使国际特赦组织将针对我们同事的企图攻击与 NSO 集团的 Pegasus 产品联系起来。公民实验室在 2018 年的一份报告中独立确认了这些链接。

在国际特赦组织和公民实验室于 2018 年 8 月 1 日发表文章后不久,NSO 集团迅速关闭了许多第 3 版服务器。

取证报告之如何发现NSO集团的Pegasus间谍软件

9.1 NSO 集团进一步试图隐藏其基础设施

2019 年 8 月,国际特赦组织发现了另一起 NSO 集团工具被用来针对人权捍卫者的案例,这次是在摩洛哥。Maati Monjib 的目标包含第 3 版 Pegasus 链接的 SMS 消息

如前所述,Amnesty 对他的 iPhone 进行了取证分析。此取证分析显示重定向到新域名free247downloads.com。这些链接看起来与 NSO 以前使用的感染链接可疑地相似。

取证报告之如何发现NSO集团的Pegasus间谍软件

国际特赦组织通过观察在打开感染 URL 后不久在设备上创建的独特 Pegasus 人工制品,确认该域与 NSO Group 相关联。有了这个新域,我们就能够开始映射 Pegasus Version 4 (V4)基础架构。

NSO Group 重构了他们的基础设施以引入额外的层,这使发现变得复杂。尽管如此,我们现在可以观察到每个感染链中至少使用了 4 个服务器。

验证域名: https://baramije[.]net/[字母数字字符串]

利用域名:      https://[修订版本].info8fvhgl3.urlpush[.]net:30827/[相同的字母数字字符串]
  1. 验证服务器:第一步是我们看到托管在共享主机提供商上的网站。该网站经常运行随机且有时模糊的 PHP 应用程序或 CMS。国际特赦组织认为,这是为了让域名看起来不那么容易区分。

    验证服务器将检查传入的请求。如果请求具有有效且仍处于活动状态的 URL,验证服务器会将受害者重定向到新生成的漏洞利用服务器域。如果 URL 或设备无效,它将重定向到合法的诱饵网站。任何路人或互联网爬虫只会看到诱饵 PHP CMS。
  2. 感染 DNS 服务器: NSO 现在似乎为每次攻击尝试使用唯一的子域。每个子域都是生成的,并且只在很短的时间内处于活动状态。这阻止了研究人员根据历史设备日志找到漏洞利用服务器的位置。

    为了动态解析这些子域,NSO Group 在每个感染域的子域下运行了一个自定义 DNS 服务器。它还获得了一个通配符 TLS 证书,该证书对每个生成的子域都有效,例如*.info8fvhgl3.urlpush[.]net*.get1tn0w.free247downloads[.]com
  3. Pegasus 安装服务器:为了提供实际的感染payloads,NSO Group 需要在 Internet 上的某个地方运行一个 Web 服务器。同样,NSO Group 采取措施通过在随机的高端口号上运行 Web 服务器来避免 Internet 扫描。

    我们假设每个感染网络服务器都是新一代“Pegasus 匿名传输网络”的一部分。与感染服务器的连接可能会被代理回客户的 Pegasus 基础设施。
  4. 命令和控制服务器:在前几代 PATN 中,NSO Group 使用单独的域进行初始感染以及随后与间谍软件的通信。Citizen LabiPwn 报告提供的证据表明 Pegasus 再次使用单独的域进行命令和控制。为了避免基于网络的发现,Pegasus 间谍软件直接连接 Pegasus C&C 服务器,而无需先执行 DNS 查找或在 TLS SNI 字段中发送域名。

9.2 识别其他 NSO 攻击域

国际特赦组织首先分析了用于攻击摩洛哥记者和人权捍卫者的感染域和 DNS 服务器的配置。

根据我们对摩洛哥使用的域的了解,我们开发了一个指纹识别系统,可识别 201 个 Pegasus 安装域,这些域在初始扫描时基础设施处于活动状态。这组 201 个域包括urlpush[.]netfree247downloads[.]com

国际特赦组织通过随后的网络扫描和域注册、TLS 证书颁发和域组成的聚类模式,确定了另外 500 个域,这些模式与最初的 201 个域相匹配。

国际特赦组织认为,这代表了第 4 版 NSO 集团攻击基础设施的重要组成部分。我们今天将发布这 700 个域。我们建议民间社会和媒体组织检查他们的网络遥测和/或 DNS 日志,以获取这些入侵指标的痕迹。

取证报告之如何发现NSO集团的Pegasus间谍软件

9.3 从 NSO 集团的基础设施中可以学到什么

下图显示了 NSO Group Pegasus 基础设施在 2016 年至 2021 年中期的 4 年间的演变。2018 年 8 月,在我们针对一名 Pegasus 的国际特赦组织工作人员的报告后,大部分版本 3基础设施突然关闭。第4 版基础设施随后从 2018 年 9 月和 10 月开始逐步推出。

取证报告之如何发现NSO集团的Pegasus间谍软件

2019 年 11 月,在 WhatsApp 通知用户涉嫌使用 Pegasus 进行定位后不久,就注册了大量新域。这可能反映了 NSO 由于发现发现风险或由于其现有托管基础设施中断而导致的轮换域。

在 Citizen Lab iPwn 报告披露了多个 Pegasus V4 域之后,V4 DNS 服务器基础设施于 2021 年初开始离线。

国际特赦组织怀疑 V4 基础设施的关闭恰逢 NSO Group 转向使用 Amazon CloudFront 等云服务来提供攻击的早期阶段。云服务的使用保护 NSO Group 免受某些 Internet 扫描技术的影响。

9.4 主要托管在欧洲和北美的攻击基础设施

NSO Group 的 Pegasus 基础设施主要由托管在欧洲国家数据中心的服务器组成。托管感染域 DNS 服务器最多的国家/地区包括德国、英国、瑞士、法国和美国 (US)。

国家每个国家的服务器数量
德国212
英国79
瑞士36
法国35
美国28
芬兰9
荷兰5
加拿大4
乌克兰4
新加坡3
印度3
奥地利3
日本1
保加利亚1
立陶宛1
巴林1

下表显示了每个托管服务提供商托管的 DNS 服务器数量。大多数已识别的服务器分配给美国拥有的托管公司 Digital Ocean、Linode 和亚马逊网络服务 (AWS)。

许多托管服务提供商在多个物理位置提供服务器托管。根据这两个表格,NSO Group 似乎主要使用由美国托管公司运营的欧洲数据中心为其客户运行大部分攻击基础设施。

网络每个网络的服务器数量
DIGITALOCEAN-ASN142
Linode, LLC114
AMAZON-0273
Akenes SA60
UpCloud Ltd9
Choopa7
OVH SAS6
Virtual Systems LLC2
ASN-QUADRANET-GLOBAL1
combahton GmbH1
UAB Rakrejus1
HZ Hosting Ltd1
PE Brezhnev Daniil1
Neterra Ltd.1
Kyiv Optic Networks Ltd1

国际特赦组织的研究确定了 28 个与感染基础设施相关的 DNS 服务器,这些服务器托管在美国。

域名DNS服务器IP网络
drp32k77.todoinfonet.com104.223.76.216ASN-QUADRANET-GLOBAL
imgi64kf5so6k.transferlights.com165.227.52.184DIGITALOCEAN-ASN
pc43v65k.alignmentdisabled.net167.172.215.114DIGITALOCEAN-ASN
img54fsd3267h.prioritytrail.net157.245.228.71DIGITALOCEAN-ASN
jsfk3d43.netvisualizer.com104.248.126.210DIGITALOCEAN-ASN
cdn42js666.manydnsnow.com138.197.223.170DIGITALOCEAN-ASN
css1833iv.handcraftedformat.com134.209.172.164DIGITALOCEAN-ASN
js43fsf7v.opera-van.com159.203.87.42DIGITALOCEAN-ASN
pypip36z19.myfundsdns.com167.99.105.68DIGITALOCEAN-ASN
css912jy6.reception-desk.net68.183.105.242DIGITALOCEAN-ASN
imgi64kf5so6k.transferlights.com206.189.214.74DIGITALOCEAN-ASN
js85mail.preferenceviews.com142.93.80.134DIGITALOCEAN-ASN
css3218i.quota-reader.net165.227.17.53DIGITALOCEAN-ASN
mongo87a.sweet-water.org142.93.113.166DIGITALOCEAN-ASN
react12x2.towebsite.net3.13.132.96亚马逊-02
jsb8dmc5z4.gettingurl.com13.59.79.240亚马逊-02
react12x2.towebsite.net3.16.75.157亚马逊-02
cssgahs5j.redirigir.net18.217.13.50亚马逊-02
jsm3zsn5kewlmk9q.dns-analytics.com18.225.12.72亚马逊-02
imgcss35d.domain-routing.com13.58.85.100亚马逊-02
jsb8dmc5z4.gettingurl.com18.191.63.125亚马逊-02
js9dj1xzc8d.beanbounce.net199.247.15.15CHOOPA
jsid76api.buildyourdata.com108.61.158.97CHOOPA
cdn19be2.reloadinput.com95.179.177.18CHOOPA
srva9awf.syncingprocess.com66.175.211.107Linode
jsfk3d43.netvisualizer.com172.105.148.64Linode
imgdsg4f35.permalinking.com23.239.16.143Linode
srva9awf.syncingprocess.com45.79.190.38Linode

9.5 在被动 DNS 数据库中观察到的感染域解析

根据对受感染设备的取证分析,国际特赦组织确定 NSO 集团在每次尝试传送 Pegasus 间谍软件时都使用了一个唯一且随机生成的子域。

国际特赦组织为我们确定的每个 Pegasus 第 4 版域搜索了被动 DNS 数据集。被动 DNS 数据库记录域的历史 DNS 解析,通常包括子域和相应的历史 IP 地址。

如果子域成功解析并且解析通过运行被动 DNS 探测的网络,则子域只会记录在被动 DNS 记录中。

该探测数据是根据网络运营商和被动 DNS 数据提供商之间的协议收集的。许多网络不会被此类数据收集协议覆盖。例如,摩洛哥使用的 Pegasus 感染域都没有记录被动 DNS 解析。

因此,这些决议仅代表 NSO Group Pegasus 活动的一小部分

感染域独特的感染子域
mongo77usr.urlredirect.net417
str1089.mailappzone.com410
apiweb248.theappanalytics.com391
dist564.htmlstats.net245
css235gr.apigraphs.net147
nodej44s.unusualneighbor.com38
jsonapi2.linksnew.info30
img9fo658tlsuh.securisurf.com19
pc25f01dw.loading-url.net12
dbm4kl5d3faqlk6.healthyguess.com8
img359axw1z.reload-url.net5
css2307.cssgraphics.net5
info2638dg43.newip-info.com3
img87xp8m.catbrushcable.com2
img108jkn42.av-scanner.com2
mongom5sxk8fr6.extractsight.com2
img776cg3.webprotector.co1
tv54d2ml1.topadblocker.net1
drp2j4sdi.safecrusade.com1
api1r3f4.redirectweburl.com1
pc41g20bm.redirectconnection.net1
jsj8sd9nf.randomlane.net1
php78mp9v.opposedarrangement.net1

urlredirect.net具有最多数量的观察到的唯一子域。在 2018 年 10 月 4 日至 2019 年 9 月 17 日期间,总共记录了 417 项决议。第二高的是mailappzone.com,它在 2020 年 7 月 23 日至 2020 年 10 月 15 日的 3 个月内有 410 项决议。

国际特赦组织认为,这些子域解析中的每一个,总共 1748 个,都代表着企图用 Pegasus 来破坏设备。这 23 个域仅占我们确定的 379 个 Pegasus Installation Server 域的不到 7%。基于这个小子集,Pegasus 在过去三年中可能已被用于数千次攻击。

10. 移动设备、安全性和可审计性

本报告中概述的大部分目标都涉及针对 iOS 设备的 Pegasus 攻击。需要注意的是,与 Android 设备或其他操作系统和手机制造商相比,这并不一定能反映 iOS 设备的相对安全性。

根据国际特赦组织的经验,调查人员在 Apple iOS 设备上获得的取证痕迹明显多于库存 Android 设备,因此我们的方法侧重于前者。因此,最近确认的 Pegasus 感染病例都涉及 iPhone。

此次调查以及之前的所有调查都表明,针对移动设备的攻击如何对全球公民社会构成重大威胁。不仅防止攻击而且在死后检测攻击的困难是由于攻击者容易获得的能力与面临风险的个人所享有的保护不足之间不可持续的不对称造成的。

虽然 iOS 设备至少提供了一些有用的诊断,但历史记录很少并且很容易被篡改。其他设备几乎没有帮助进行合意的取证分析。尽管可以做很多事情来改善移动设备的安全状况并降低本报告中记录的攻击风险,但通过提高设备所有者和技术专家对系统完整性进行定期检查的能力可以实现更多目标.

因此,国际特赦组织强烈鼓励设备供应商探索使他们的设备更具可审计性的选项,当然不会牺牲任何已经到位的安全和隐私保护。平台开发商和手机制造商应定期与民间社会进行对话,以更好地了解 HRD 面临的挑战,因为他们在网络安全辩论中的代表性不足。

11. 通过我们的方法论,我们发布了我们的工具和指标

长期以来,对疑似受损移动设备的状态进行分类一直被认为是一项几乎不可能完成的任务,尤其是在我们工作的人权社区。通过国际特赦组织安全实验室的工作,我们建立了可能有益于我们的重要能力支持处于危险中的活动家、记者和律师的同行和同事。

因此,通过这份报告,我们不仅分享了我们多年来研究建立的方法论,还分享了我们为促进这项工作而创建的工具,以及我们收集的 Pegasus 妥协指标。

我们的GitHub 上提供了所有侵害指标,包括 Pegasus 基础设施的域名、从涉及攻击的 iMessage 帐户查找中恢复的电子邮件地址,以及国际特赦组织确定与 Pegasus 相关的所有进程名称。

国际特赦组织还发布了我们创建的一个工具,称为移动验证工具包(MVT)。MVT 是一种模块化工具,可简化从 Android 设备获取和分析数据的过程,以及对 iOS 备份和文件系统转储记录的分析,专门用于识别潜在的入侵痕迹。

MVT 可以提供STIX2 格式的妥协指标,  并将识别在设备上找到的任何匹配指标。结合 Pegasus 指标,MVT 可以帮助确定 iPhone 是否已被入侵。

取证报告之如何发现NSO集团的Pegasus间谍软件

其中,MVT 的一些功能包括:

  • 解密加密的 iOS 备份。
  • 处理和解析来自众多 iOS 系统和应用程序数据库和系统日志的记录。
  • 从 Android 设备中提取已安装的应用程序。
  • 通过 adb 协议从 Android 设备中提取诊断信息。
  • 将提取的记录与提供的 STIX2 格式的恶意指标列表进行比较。自动识别恶意短信、访问过的网站、恶意进程等。
  • 生成提取记录的 JSON 日志,并将所有检测到的恶意痕迹的 JSON 日志分开。
  • 生成提取记录的统一时间线,以及所有检测到的恶意痕迹的时间线。

致谢

Amnesty International安全实验室希望感谢所有支持这项研究的人。iOS 安全研究社区发布的工具,包括 libimobiledevice 和 checkra1n,被广泛用作这项研究的一部分。我们还要感谢 Censys 和 RiskIQ 提供对他们的互联网扫描和被动 DNS 数据的访问。

 国际特赦组织希望感谢公民实验室对 NSO 集团和其他参与非法监视公民社会的行为者进行的重要而广泛的研究。国际特赦组织感谢公民实验室对这份研究报告的同行评审。           

最后,国际特赦组织要感谢为使这项研究成为可能而勇敢合作的众多记者和人权捍卫者。

附录 A:公民实验室对方法论报告的同行评审

多伦多大学的公民实验室对本报告中概述的法医方法草案进行了独立的同行评审。他们的评论可以在这里找到。 

附录 B:可疑的 iCloud 帐户查找

本附录显示了在不同目标的移动设备上查找的 iCloud 帐户的重叠情况。此列表将逐步更新。

iCloud 账户目标
bergers.o79[@]gmail.comOmar Radi
naomiwerff722[@]gmail.comOmar Radi

附录 C:每个目标的详细跟踪

本附录包含为每个目标恢复的法医痕迹的详细分类。本附录将逐步更新。

C.1 Maati Monjib 的取证痕迹概述

日期 (UTC)事件
2017-11-02 12:29:33带有 hxxps 链接的 Pegasus SMS://tinyurl[.]com/y73qr7mb 重定向到 hxxps://revolution-news.co/ikXFZ34ca
2017-11-02 16:42:34飞马短信,链接到 hxxps://stopsms[.]biz/vi78ELI
2017-11-02 16:44:00Pegasus SMS 与 hxxps://stopsms[.]biz/vi78ELI 的链接来自 +212766090491
2017-11-02 16:45:10Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-02 16:57:00Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-02 17:13:45Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-02 17:21:57Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-02 17:30:49Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-02 17:40:46Pegasus 短信,链接到 Hxxps://stopsms[.]biz/bi78ELI 来自 +212766090491
2017-11-15 17:05:17带有链接到 hxxps://videodownload[.]co/nBBJBIP 的Pegasus SMS
2017-11-20 18:22:03飞马短信,链接到 hxxps://infospress[.]com/LqoHgMCEE
2017-11-24 13:43:17带有 hxxps://tinyurl[.]com/y9hbdqm5 链接的 Pegasus SMS 重定向到 hxxps://hmizat[.]co/JaCTkfEp
2017-11-24 17:26:09飞马短信链接到 hxxps://stopsms[.]biz/2Kj2ik6
2017-11-27 15:56:10飞马短信,链接到 hxxps://stopsms[.]biz/yTnWt1Ct
2017-11-27 17:32:37带有 hxxps:// hmizat[.]co/ronEKDVaf链接的 Pegasus SMS
2017-12-07 18:21:57带有 hxxp://tinyurl[.]com/y7wdcd8z 链接的 Pegasus SMS 重定向到 hxxps://infospress[.]com/Ln3HYK4C
2018-01-08 12:58:14带有 hxxp://tinyurl[.]com/y87hnl3o 链接的 Pegasus SMS 重定向到 hxxps://infospress[.]com/asjmXqiS
2018-02-09 21:12:49进程:pcsd
2018-03-16 08:24:20进程:pcsd
2018-04-28 22:25:12进程:bh
2018-05-04 21:30:45进程:pcsd
2018-05-21 21:46:06进程:fmld
2018-05-22 17:36:51进程:bh
2018-06-04 11:05:43进程:fmld
2019-03-27 21:45:10进程:bh
2019-04-14 23:02:41来自 URL hxxps://c7r8x8f6zecd8j.get1tn0w 的 Safari 图标。free247downloads[.]com:30352/Ld3xuuW5
2019-06-27 20:13:10来自 URL hxxps://3hdxu4446c49s.get1tn0w 的 Safari 图标。free247downloads[.]com:30497/pczrccr#052045871202826837337308184750023238630846883009852
2019-07-22 15:42:32Safari 访问 hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz
2019-07 22 15:42:32Safari 访问 hxxps://bun54l2b67.get1tn0w.free247downloads[.]com:30495/szev4hz#048634787343287485982474853012724998054718494423286
2019-07-22 15:43:06来自 URL hxxps://bun54l2b67.get1tn0w 的 Safari 图标。free247downloads[.]com:30495/szev4hz#048634787343287485982474853012724998054718494423286
不适用URL hxxps://c7r8x8f6zecd8j.get1tn0w 的 WebKit IndexedDB 文件。free247downloads[.]com
不适用URL hxxps://bun54l2b67.get1tn0w 的 WebKit IndexedDB 文件。free247downloads[.]com
不适用URL hxxps://keewrq9z.get1tn0w 的 WebKit IndexedDB 文件。free247downloads[.]com
不适用URL hxxps://3hdxu4446c49s.get1tn0w 的 WebKit IndexedDB 文件。free247downloads[.]com

 C.2 Omar Radi 的取证痕迹概述

日期 (UTC)事件
2019-02-11 14:45:45URL hxxps://d9z3sz93x5ueidq3.get1tn0w 的 Webkit IndexedDB 文件。free247downloads[.]com
2019-02-11 13:45:53来自 URL hxxps://d9z3sz93x5ueidq3.get1tn0w 的 Safari 图标。free247downloads[.]com:30897/rdEN5YP
2019-02-11 13:45:56进程:bh
2019-02-11 13:46:16进程:roleaboutd
2019-02-11 13:46:23进程:roleaboutd
2019-02-11 16:05:24进程:roleaboutd
2019-08-16 17:41:06iMessage 查找帐户bergers.o79[@]gmail.com
2019-09-13 15:01:38URL hxxps://2far1v4lv8.get1tn0w 的 Safari 图标。free247downloads[.]com:31052/meunsnyse#011356570257117296834845704022338973133022433397236
2019-09-13 15:01:56URL hxxps://2far1v4lv8.get1tn0w 的 Safari 图标。free247downloads[.]com:31052/meunsnyse#068099561614626278519925358638789161572427833645389
2019-09-13 15:02:11进程:bh
2019-09-13 15:02:20进程:msgacntd
2019-09-13 15:02:33进程:msgacntd
2019-09-14 15:02:57进程:msgacntd
2019-09-14 18:51:54进程:msgacntd
2019-10-29 12:21:18iMessage 查找帐户naomiwerff772[@]gmail.com
2020-01-27 10:06:24URL hxxps://gnyjv1xltx.info8fvhgl3 的 Safari 图标。urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946
2020-01-27 10:06:26Safari 访问 hxxps://gnyjv1xltx.info8fvhgl3。urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#2
2020-01-27 10:06:26Safari 访问 hxxps://gnyjv1xltx.info8fvhgl3。urlpush[.]net:30875/zrnv5revj#074196419827987919274001548622738919835556748325946#24
2020-01-27 10:06:32URL hxxps://gnyjv1xltx.info8fvhgl3 的 Safari 图标。urlpush[.]net:30875/zrnv5revj#0741964198279879192740015486227389198355556748325946%2324

附录 D:每个目标的 Pegasus 取证痕迹

附录d可以在这里发现。 

[1]报告中提供的技术证据包括作为飞马项目的一部分进行的法医研究以及自 2018 年安全实验室成立以来进行的额外Amnesty International安全实验室研究。 

[2]给国际特赦组织的电子邮件,2021 年 5 月

[3]给国际特赦组织的电子邮件,2021 年 7 月。

from

详细侵害指标下载

目录

│  README.md
│
├─2018-08-01_nso
│      indicators.csv
│
├─2018-12-19_best_practice
│      domains.txt
│
├─2019-03-06_egypt_oauth
│      domains.txt
│      emails.txt
│
├─2019-08-16_evolving_phishing
│      domains.txt
│      emails.txt
│
├─2019-10-10_nso_morocco
│      domains.txt
│
├─2020-03-12_uzbekistan
│      domains.txt
│      ips.txt
│      samples.txt
│
├─2020-06-15_india
│      domains.txt
│      emails.txt
│      ips.txt
│      README.md
│      sha256.txt
│
├─2020-09-25_finfisher
│  │  android_tlv_list.csv
│  │  domains.txt
│  │  ips.txt
│  │  README.md
│  │  rules.yar
│  │  sha256.csv
│  │
│  └─scripts
│      │  decode_modules.py
│      │  read_config.py
│      │  _aplib.so
│      │
│      ├─android
│      │      extract_config.py
│      │      java_parser.py
│      │      readable_strings
│      │      requirements.txt
│      │      strings.py
│      │      strings_db.tpl
│      │      string_decoder.py
│      │
│      ├─cobaltstrike
│      │      cobaltstrike_config.py
│      │      cobaltstrike_decode.py
│      │
│      └─linux
│              extract_config.py
│
├─2021-02-24_vietnam
│  │  README.md
│  │
│  ├─img
│  │      1.png
│  │      2.png
│  │      3.png
│  │
│  └─indicators
│          domains.txt
│          ips.txt
│          README.md
│          rules.yar
│          sha256.txt
│
├─2021-05-28_qatar
│      domains.txt
│      ips.txt
│      README.md
│      tweet.png
│      youltube.png
│
└─2021-07-18_nso
        domains.txt
        emails.txt
        files.txt
        generate_stix.py
        pegasus.stix2
        processes.txt
        README.md
        v2_domains.txt
        v3_domains.txt
        v4_domains.txt
        v4_validation_domains.txt
取证报告之如何发现NSO集团的Pegasus间谍软件

下载地址

①GitHub:github.com/AmnestyTech/investigations.zip

②云中转:yunzhongzhuan.com/#sharefile=1YLeErSX_1966

解压密码: www.ddosi.org

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注