业界动态

Shrootless:macOS漏洞可绕过系统完整性保护

发布日期:2021-11-02
来源:嘶吼专业版

  微软在macOS系统中发现了一个安全漏洞,该漏洞CVE编号为CVE-2021-30892。攻击者利用该漏洞可以绕过macOS的系统完整性保护(System Integrity Protection,SIP),并在设备上执行任意操作。研究人员还发现了一个类似的技术使得攻击者可以在受影响的设备上实现root级的权限提升。

  SIP是macOS系统中用于限制root用户执行可能破坏系统完整性的操作的技术。

  研究人员发现该漏洞位于安装了包含后安装脚本的苹果公司签名的包中。恶意用户可以创建一个精心伪造的文件来劫持安装过程,通过绕过SIP的限制,攻击者可以安装恶意kernel驱动、覆写系统文件、安装无法检测的恶意软件。

  微信图片_20211102140421.jpg

  Shrootless漏洞分析

  在苹果macOS能够绕过SIP保护的进程时,研究人员发现了守护进程 system_installd,具有com.apple.rootless.install.inheritable的权限。有了该权限,任何system_installd 子进程都可以绕过SIP文件系统的限制。

  微信图片_20211102140424.jpg

  图 system_installd权限

  随后,研究人员检查system_installd的子进程,发现攻击者可以滥用该功能来绕过SIP。

  比如,在安装苹果签名的包(。PKG文件)时,该包会调用system_installd,然后安装该包。如果包中含有后安装脚本,system_installd就会调用一个位于macOS zsh中的默认shell。Zsh启动后,会寻找文件/etc/zshenv,如果找到了就会自动地、非交互地运行该文件中的命令。因此,要在设备上执行任意操作的攻击者只需要创建一个恶意/etc/zshenv 文件,然后等待system_installd调用zsh即可。

  为实现PoC漏洞利用,研究人员实现了如下算法:

  ?下载一个含有后安装脚本的苹果公司签名的包(使用wget);

  ?植入会检查父进程的恶意/etc/zshenv,如果是system_installd,就会写入受限的位置;

  ?调用安装工具安装该包。

  如下图所示,PoC漏洞利用可以覆写kernel扩展排除列表:

  微信图片_20211102140427.jpg

  图 用任意数据覆写kernel扩展排除列表PoC

  zshenv 用作攻击向量

  研究人员还发现,zshenv还可以用于除SIP绕过之外的攻击中。研究人员发现/etc/zshenv与每个用户的~/.zshenv是等价的,即具有相同的功能但是写入时不需要root权限。

  Zshenv可以用于以下攻击活动:

  ?实现驻留机制:只需要等待zsh启动即可;

  ?权限提升:admin用户使用sudo-s或sudo命令提升到root权限时home目录无需变化。因此,将~/.zshenv设置为admin权限,然后等待管理员使用sudo来触发~/.zshenv文件,就实现了root提取。

  目前苹果已于10月26日发布了该漏洞的安全补丁。




电子技术图片.png

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
macOS漏洞