《卫报》最近与十多家其他新闻机构合作,发表了一篇关于 Pegasus 的曝光,这是一种感染手机的工具包,由 NSO 集团出售给世界各地的政府。它被用来针对政治领导人及其家人、人权活动家、政治异议人士、记者等,并秘密下载他们的消息/照片/位置数据,记录他们的麦克风,并以其他方式监视他们。作为调查的一部分,国际特赦组织撰写了一篇博客文章,其中包含对几部受感染手机的取证分析,以及用于扫描您的移动设备以获取这些指标的开源工具 Mobile Verification Toolkit。 MVT 支持 iOS 和 Android,在这篇博文中,我们将针对我的 iOS 设备安装和运行扫描仪。对于 iPhone,MVT 可以针对设备备份或完整文件系统转储运行(只能从越狱设备中获得)。与文件系统转储相比,设备备份方法可以访问更少的取证数据,但具有不需要越狱设备的好处。 MVT 方便地记录了哪些取证工件可用于哪种方法 - 使用备份方法时以下工件不可用:相同的文档链接还解释了每个文件包含哪些数据及其来源,Amnesty 的博客文章更详细地描述了如何每种数据类型都与检测 Pegasus 相关。例如,对于 Safari favicon 数据 (safari_favicon.json),他们写道:尽管 Safari 历史记录通常是短暂的并且会在几个月后丢失(并且可能被恶意软件故意清除),但我们仍然能够找到 NSO Group 的Omar Radi 手机的其他数据库中未出现在 Safari 的历史记录中的感染域。例如,我们可以通过 Safari 的 Favicon.db 数据库来识别访问,而 Pegasus 保留了该数据库。因此,如果您有越狱设备,您将使用文件系统转储方法获得更完整的 Pegasus 检测,但由于我的设备未越狱,我将使用设备备份方法 - 总比没有好。事实上,我的 iPhone 型号和 iOS 版本没有公开的越狱可用,所以我别无选择。可以直接在 Finder 中创建备份(在 MacOS Big Sur 之前,这是通过 iTunes 完成的),或者使用名为 libimobiledevice 的库。对于 Finder 方法,将手机插入笔记本电脑,在 Finder 中导航到它,然后单击“立即备份”并选中以下设置:
MVT 仅对解密的备份进行操作,因此在下一步中,我们无论如何都会解密所有内容,但加密备份会导出更多设备数据(例如您的浏览历史记录或 wifi 设置),因此加密您的备份将为您提供更好的检测。创建备份后,单击“管理备份”,然后右键单击您的备份并选择“在 Finder 中显示”,然后将文件夹复制到易于访问的位置(例如,到您的桌面)。或者,如果您更喜欢使用 libimobiledevice 而不是 Finder 创建备份:MVT 会自动将 libimobiledevice 包含在其 Docker 映像中,但即使按照他们的指示,我也无法让它从 Docker 内部识别我的 iPhone,因此我将其安装在我的MacOS 主机: # 安装最新的 libimobiledevice brew install --HEAD libimobiledevice # 创建一个工作目录 mkdir -p ~/Desktop/mvt # 启用备份加密 - 你会被提示输入密码 idevicebackup2 -i backup encryption on # 备份设备 idevicebackup2 backup --full ~/Desktop/mvt/ docker run \ # 将你的桌面工作目录挂载到 Docker -v ~/Desktop/mvt:/home/cases/mvt \ # 运行 MVT 镜像 -it mvt # 下载国际特赦组织的指标妥协wget https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-07-18_nso/pegasus.stix2 -O pegasus.stix2 #我们将结果保存在这里 mkdir mvt/results #解密备份mvt-ios解密-backup \ # 你创建的备份密码 -p '<p assword>' \ # 解密备份保存目录 -d mvt/decrypted \ # 加密备份解密 mvt/00008101-0018545E26F1003A/ #扫描解密备份mvt-ios check-backup \ #我们下载的IoC的路径- iocs pegasus.stix2 \ # 保存结果的位置 --output mvt/results \ # 扫描的备份路径 mvt/decrypted 如果一切运行成功,您桌面上的 mvt/results 文件夹中应该有许多 json 文件。任何以 _detected.json 结尾的文件名都表示找到了 Pegasus 的一些踪迹,所有其他 json 文件都包含有关您的扫描结果的调试数据。如果您没有 _detected.json 文件,则没有找到 Pegasus 指标: