macOS 漏洞允许在没有密码的情况下解密钥匙串和 iOS 应用程序

今天,在柏林Nullcon,一位研究人员披露了一个macOS漏洞(CVE-2025-24204),该漏洞允许攻击者读取任何进程的内存,即使启用了系统完整性保护(SIP)。

The issue stems from Apple mistakenly granting the /usr/bin/gcore utility the com.apple.system-task-ports.read entitlement in macOS 15.0 (Sequoia). Apple removed the entitlement in macOS 15.3.

macOS gcore 漏洞 CVE-2025-24204
Koh M.Nakagawa在2025年柏林Nullcon上发言

这项授权使gcore能够读取系统上任何进程的内存。安全研究员Koh M.FFRI Security的Nakagawa发现,这打破了关键的安全边界,并暴露了敏感的用户数据,包括钥匙串的内容、受透明度、同意和控制(TCC)保护的数据,甚至加密的iOS应用程序二进制文件。

Nakagawa告诉Help Net Security,他意外地偶然发现了这个问题。

“我最初是在微软发布ProcDump-for-Mac时发现的,”他解释道。

“当我听说这个工具时,我认为这一定是无用的,因为它不能因为系统完整性保护而转储几乎所有的进程。因此,只有在禁用SIP时,它才有效。但在下载并试用这个工具后,我注意到了一些奇怪的东西。即使启用了SIP,我也可以转储进程内存,包括系统进程。我对此感到震惊。在深入挖掘后,我发现ProcDump-for-Mac在内部调用gcore,并且gcore授予特殊权利。微软可能也注意到此授权被添加到gcore中,这就是他们创建并发布ProcDump-for-Mac的原因。然而,他们似乎并不认为这是一个漏洞。”

攻击者能做什么

gcore是一个合法的macOS工具,它生成用于调试的运行进程的核心转储。在正常情况下,如果不满足特定条件,它不应该能够读取受保护的内存区域。然而,随着新授权的到位,gcore可以从任何进程中转储内存,包括处理加密和凭据的系统服务。

Nakagawa证明这包括管理登录钥匙串securityd过程。他开发了一种方法来搜索用于加密登录钥匙串文件的主密钥的内存转储。一旦获得此密钥,攻击者无需用户密码即可解密登录钥匙串。

他还展示了这个漏洞如何绕过TCC保护。沙盒应用程序打开的敏感文件(如预览中的PDF或联系人中的联系人数据)通常会加载到内存中。通过转储这些应用程序的内存并使用vmmap工具映射内容,可以恢复受保护文件的内容。

第三个影响领域是FairPlay加密的iOS应用程序。苹果硅Mac允许iOS应用程序在macOS上原生运行,但其二进制文件在静态时保持加密。通过在应用程序运行时使用gcore转储内存,Nakagawa能够恢复这些二进制文件的解密版本,而无需越狱的iPhone。

修复和检测

Apple removed the problematic entitlement from gcore in macOS 15.3. The issue can be detected using Apple’s Endpoint Security Framework (ESF), which provides the get_task_read event. Monitoring for calls to task_read_for_pid by gcore targeting sensitive processes can flag exploitation attempts.

当被问及企业捍卫者可以采取哪些措施来大规模监控权利变化时,Nakagawa怀疑这是否有用。

他说:“我认为企业安全捍卫者不需要执行这项任务。”“即使他们发现了它,除了等待操作系统更新外,他们也无能为力。”

给后卫的教训

这个案例强调了配置不当的权利的风险。当获得更高的权限时,即使是合法的调试工具也可能成为严重的责任。

Nakagawa认为,问题大于一个效用。他说:“我认为极有可能存在类似的漏洞。”

“My vulnerability suggests that Apple does not conduct sufficient security reviews when granting strong entitlements to binaries. Based on this, similar cases are not unlikely. In fact, in a different binary from this vulnerability, the com.apple.system-task-ports.read entitlement was removed with a macOS update. This may indicate a similar vulnerability to gcore, which was removed as a result.”

Nakagawa补充说,识别这些案例主要是安全研究人员的工作。他指出:“监控授权更改的方法显示在共享幻灯片中,即每次更新操作系统时执行ipsw diff命令。”

该漏洞还表明,部分权限升级,如只读内存访问,可以是强大的。攻击者不需要写入访问权限或完全控制来渗透关键数据。

最后,研究表明,像SIP和TCC这样的安全边界只有与它们的执行一样强大。一个小的失误可以暴露整个系统的广泛攻击面。

参考原文链接:https://www.helpnetsecurity.com/2025/09/04/macos-gcore-vulnerability-cve-2025-24204/

© 版权声明
THE END
你的支持是我们在网空安全路上的驱动力!
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情快捷回复

    暂无评论内容