极其重要的警告:此软件仅为教育和安全研究目的的漏洞概念验证(PoC)。
此 Python 脚本演示了一个(假设的或基于过去漏洞的)漏洞,该漏洞允许从 iOS 设备窃取任意文件。该漏洞在原 PoC 中出于说明目的被引用为“iOS 18.3 之前”。该方法基于操作设备的备份、在备份中创建恶意符号链接(symlink),然后将此修改后的备份恢复到设备上。最后,与系统服务(com.apple.mobile.MCInstall)交互,使其在不知情的情况下读取 symlink 指向的文件。
此脚本从安全研究人员的角度进行了“改进”,以包含:
被利用的漏洞利用以下弱点链条(存在于旧版 iOS 中):
CloudConfigurationDetails.plist)被替换为指向设备文件系统中敏感文件(例如 /private/etc/passwd)的符号链接。CloudConfigurationDetails.plist)权限的系统服务(此 PoC 中的 com.apple.mobile.MCInstall)。当尝试读取该文件时,操作系统会跟随符号链接,转而读取 symlink 指向的敏感文件的内容。关于 iOS 版本的说明: 原 PoC 提到“iOS < 18.3”。这个编号是不典型的。Apple 已经在更早的 iOS 版本(通常对于此类最直接的攻击向量是在 iOS 15/16 之前)中修补了与备份和配置描述文件中的符号链接处理相关的漏洞。此处保留此版本引用以保持与脚本来源的一致性,但应理解为“未打补丁的易受攻击版本”的示意。
idevicebackup2 是否存在。idevicebackup2。
brew install libimobiledevicesudo apt-get install libimobiledevice-utils(包名可能有所不同)pip install usbmux-python python-lockdown packaging
git clone <仓库-url>
cd <目录名>
libimobiledevice 并且 idevicebackup2 可访问。pip install -r requirements.txt # (如果创建了包含 usbmux-python, python-lockdown, packaging 的 requirements.txt)
# 或手动:
# pip install usbmux-python python-lockdown packaging
./exploit_ios_file_read.py [选项]