许多安全公司和大型科技公司都建立了自己的团队来发现软件中的缺陷和漏洞,与软件供应商私下沟通,然后遵循行业标准流程发布修复。同时,以谷歌零项目为代表的团队也在努力帮助发现和修复第三方安全问题。本文要给大家介绍的是微软在苹果macOS上发现的“Shrootless”漏洞。(来自:微软365Defender研究团队)微软指出,Shrootless漏洞可被恶意攻击者利用,绕过操作系统的系统完整性保护(SIP),执行任意代码。同时,微软安全团队发现了一种新的提权攻击技术。快速阅读该公司的博客文章就会发现,问题主要是由于“Apple使用安装后脚本签名的软件包”的安装方式造成的。通过创建劫持安装过程的自定义包,攻击者可以利用此机制进行恶意攻击。例如,攻击者绕过SIP保护措施后,可以安装rootkit和无法检测的恶意软件,甚至覆盖系统文件而不会被SIP阻止。在某些情况下,包需要访问受SIP保护的目录,例如系统更新。众所周知,Apple为此类软件包(com.apple.rootless.install和com.apple.rootless.install.inheritable)分配了一些权限,但它们也可以被利用来绕过SIP。在评估具有绕过SIP保护能力的macOS进程时,微软安全团队发现守护进程system_installd具有强大的com.apple.rootless.install.inheritable权限。基于此,攻击者可以使用system_installd的任意子进程来完全绕过SIP文件系统的限制。借助MicrosoftDefenderforEndpoint的入侵后组件,安全团队决定检查system_installd的所有子进程。他们对结果感到震惊,因为其中一些可能允许攻击者滥用和绕过SIP。例如,在安装Apple签名的.pkg包时,它会调用system_installed并负责安装前者。但是,如果软件包包含任何安装后脚本,system_installd将通过调用默认shell(macOS上的zsh)来运行它们。有趣的是,当zsh启动时,它会查找文件/etc/zshenv。如果找到,Hahui会自动从该文件运行命令——即使是在非交互模式下。因此,潜在攻击者在设备上执行任意操作的最可靠途径是创建恶意的/etc/zshenv文件并等待system_installd调用zsh。更糟糕的是,微软还发现zshenv可以作为一种通用的攻击模式,而不仅仅是Shrootless——滥用这个shell或导致权限提升。值得庆幸的是,作为协调漏洞披露(CVD)流程的一部分,Microsoft与Apple私下分享了它的发现。后者承认了这个问题,并于2021年10月26日向公众发布了错误修复补丁。在macOSMonterey、Catalina和BigSur的安全补丁说明中,Apple也强调了微软对此的贡献。另请查看CVE-2021-30892安全公告了解详细信息。
