一切开始于我在 iPhone 14 Pro Max 上浏览时,注意到一个有趣的功能,名为“通过网页访问 iCloud 数据”。
然而,我的分析表明,即使在受信任设备上禁用了网页访问,也仍然可以通过 icloud.com 绕过这一限制,访问 iCloud 数据。
理解该功能
根据 Apple 的支持页面 https://support.apple.com/en-mt/102630, 该功能的设计初衷是:“为了提供额外的安全性,并让您更好地控制个人数据,您可以选择关闭对 iCloud 数据的网页访问,以便您的数据仅在受信任的设备上可用。”
https://support.apple.com/en-mt/102630
利用方式
前提条件
-
• 使用 iOS 16.2、iPadOS 16.2 或 macOS 13.1,并关闭“通过网页访问 iCloud 数据”功能。 -
• 浏览器 -
• 用于拦截和修改响应的工具,如 Burp Suite(或类似工具) -
• 受害者的账号凭据 -
• 如果启用了双重验证(2FA),还需能访问受害者的 iPhone
复现步骤
注意: 该漏洞已被修复。
关闭网页访问权限:
在你的 iPhone 上,进入 设置 -> iCloud,关闭“通过网页访问 iCloud 数据”选项。
打开网页浏览器,访问 iCloud.com。
登录你的账户。
此时你将看到如下页面提示:
注意: 在此阶段,你将无法访问以下任何端点:
-
• icloud.com/mail -
• icloud.com/notes -
• icloud.com/iclouddrive
如果你尝试访问这些页面,会被重定向回相同的“访问受限”页面。
现在,重点来了。刷新页面,并拦截请求 setup.icloud.com/ws/1/validate
的响应。
将响应中的 “isWebAccessAllowed” 从 false 修改为 true。
或者简单的,直接规则匹配替换:
修改响应后,你将获得通过网页访问 iCloud 数据的权限,具体如下:
-
1. 邮件(Mail) -
2. 照片(Photos) -
3. 云盘(Drive) -
4. 备忘录(Notes) -
5. 提醒事项(Reminders) -
6. Numbers -
7. Keynote -
8. 部分 实施了访问控制且原本无法访问的应用: -
• 日历(Calendar) -
• 通讯录(Contacts)
-
获得这样的访问权限,使我能够查看并下载 邮件、照片、云盘、备忘录、提醒事项、Numbers 和 Keynote 中的文件,这意味着这并不仅仅是前端绕过。
影响
如果攻击者获取了受害者的账号凭据,即使设备上通过“管理对 iCloud 数据的网页访问权限”功能限制了网页访问,攻击者仍然可以通过 www.icloud.com 访问 iCloud 数据。
有趣的是,仅通过修改响应中的一个值,就能获取对上述所有应用的访问权限。
在很多情况下,即使你窃取了 iCloud 凭据,仍然需要通过双重验证(2FA),因此 Apple 将该漏洞的严重程度评定为较低。
时间线
· Reported on: 10/12/23
· Additional information requested by Apple: 10/13/23
· Additional information provided: 10/13/23
· I’ve noticed issue was fixed on: 12/11/23
· Final decision: 12/21/23
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):赏金故事 | 绕过 iCloud 网页访问限制
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论