当前位置:安全资讯 >> 全文

苹果紧急修复macOS root密码漏洞

发布时间:2017-11-30 9:43 标签: 苹果 macOS,root
分享到 0

苹果推出紧急补丁解决macOS High Sierra版本 11.13.1中的漏洞。该漏洞能让攻击者在无需密码的情况下以管理员身份登录Mac设备,并让任意app获取root权限。

苹果公司发布的补丁是“安全更新2017-001”。上述漏洞在两周前出现在苹果的支持论坛上,并在本周二公布在社交媒体推特上,从而在网络大规模发酵。

补丁修复的问题存在于操作系统中,任何人只要输入“root” 作为用户名并将密码框设置为空就能获取管理员权限。操作可以在修改系统设置、登录设备和通过VNCRDP、屏幕共享等远程访问设备时开展。同时该漏洞还可用于通过命令行登录系统账户如_uucp,而这对于获取超级用户权限的恶意软件而言有用性不言而喻。

如果用户运行的是HighSierra (10.13) 版本,则因尽快安装更新。

苹果说明该缺陷时指出,“攻击者可能能够在无需提供管理员密码的前提下绕过管理员认证。凭证验证过程中存在一个逻辑错误,已通过经改进的凭证验证方法予以解决。”

通过反汇编器进行分析

我们来看下这个所谓的#IAmRoot缺陷是什么以及它如何影响High Sierra。问题始于这个强大的root账户是默认禁用的。从本质上来看,它似乎是一些内部错误编程处理中出现的问题,从而导致启用了密码为空的root账户。

当操作系统试图验证用户时,在这个案例中是root,安全守护进程opendirectoryd会调用内部函数odm_RecordVerifyPassword。它试图为这个账户检索shadow hash来检查提供的密码。由于禁用了root,而且也未见shadow hash,因此子例程返回一个失败的代码。到目前为止尚未出现什么问题。

查找shadowhash失败后,opendirectoryd接下来检索并检查使用od_verify_crypt_password账户的crypt密码。奇怪的是,函数返回值0x1,也就是说操作成功,而并未纾困和拒绝访问,代码通过函数调用将crypt密码升级为一个shadow hash并将其存储到账户。

也就是说,空密码被存储为root账户的密码。它适用于所有禁用登录的系统账户。

macos_bug_screen.png 本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士www.codesafe.cn”。
原文链接:https://www.theregister.co.uk/2017/11/29/apple_macos_high_sierra_root_bug_patch/

参与讨论,请先 登录 | 注册

用户评论