0x00 什么是锁定模式
锁定模式是运行 iOS 16 和 iPadOS 16 的 iPhone 和 iPad 上的一项新功能,同时也是对 Pegasus
间谍软件的回应,根据 Apple 的说法,很少有人需要使用锁定模式, 如果您是高度复杂的网络攻击的目标,可以使用锁定模式。此类网络攻击并非针对普通人,其中大部分是国家资助的,如 APT 攻击等
0x01 锁定模式效果
-
除图像外的大多数邮件附件类型都被阻止,链接预览也被禁用。 -
在 Safari 中,某些 Web 技术(包括即时 (JIT) JavaScript 编译)被禁用。尽管您可以从锁定模式中排除受信任的站点。 -
它会禁用或阻止某些 Apple 服务,例如来自未知呼叫者的 FaceTime 呼叫请求(您之前没有发起 Facetime 呼叫的呼叫) -
当 iPhone 锁定时,与计算机或配件的有线连接会被阻止。 -
启用锁定模式后,您将无法安装配置文件,也无法在移动设备管理 (MDM) 中注册设备。
0x02 利用 JavaScript 探测 iPhone 锁定模式状态
测试网站:https://crypt.ee/ios-lockdown-mode-test
此网站利用了自定义字体作为了探测关键,iPhone 锁定模式禁用了许多功能,其中就包括了禁用网页中的自定义字体,正是基于这个特性,攻击者可以通过是否成功加载自定义字体判断 iPhone 锁定模式是否开启,同时由于这一特性 Apple 无法采取任何措施来防止这种情况发生,因为这不是锁定模式存在的漏洞,而是这种保护类型的不可避免的后果
核心 JavaScript 代码:
/**
* Checks to see if user has iOS Lockdown Mode enabled.
*/
function detectIOSLockdownMode() {
if ((isios || isipados || isSafari) && iOSversion()[0] >= 16) {
breadcrumb('[LOCKDOWN MODE] Testing...');
fontSpy('remixicon', {
glyphs: 'uf2d1uf2d2uf2d3uf2d4uf2d5uf2d6uf2d7uf2d8uf2d9',
success: function () {
// fonts loaded
userIsNotInLockdownMode(); // not in ios / safari / lockdown mode
},
failure: function () {
detectedIOSLockdownMode(); // in ios / safari / lockdown mode.
}
});
} else {
userIsNotInLockdownMode(); // not in ios / safari / lockdown mode
}
}
0x03 引用
-
iPhone锁定模式很容易被检测到,可以让你成为目标 —— Ben Lovejoy -
中文案排版指北
原文始发于微信公众号(天禧信安):【快报】利用 JavaScript 探测 iPhone 锁定模式
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论