CVE-2022-26706 macOS App沙箱逃逸漏洞
2022-7-20 12:0:0 Author: www.4hou.com(查看原文) 阅读量:31 收藏

微软研究人员发现macOS App沙箱逃逸漏洞。

微软研究人员Jonathan Bar Or在检测macOS系统上微软office恶意宏时发现了macOS App沙箱逃逸漏洞,漏洞CVE编号为CVE-2022-26706。攻击者利用该漏洞可以构造代码来绕过APP沙箱,在系统上无限制的运行。

macOS App Sandbox原理

macOS apps可以指定操作系统的沙箱规则,并强制执行。APP沙箱将系统调用限制为一个允许的子集,系统调用根据文件、对象、参数来具体确定是否允许。沙箱的规则表明这类操作应用可以做或不可以做,与运行应用的用户类型无关。比如有如下操作:

应用可以或不可以读或写的文件类型;

应用是否可以访问特定资源,如摄像头、麦克风;

应用是否允许进行带内或带外连接。

Diagram comparing how user data and system resources access an app without and with App Sandbox. 

Without App Sandbox, all user data and system resources will have unrestricted access to the app.

With App Sandbox, only the data and resources confined within the said sandbox will have unrestricted access to the app. All other user data and resources won't have access.

图 1. APP沙箱示例

因此,APP沙箱对macOS开发者来说就提供了基准安全的工具。

macOS Office沙箱

攻击者常利用Office作为攻击的入口来在用户设备或网络中立足。其中常用的一个技术就是office宏,常被用于社会工程攻击中,诱使用户下载恶意软件和其他payload。

在Windows系统中,使用Hyper-V来隔离主机环境来应对宏滥用的问题。在macOS系统中,没有此类隔离技术和默认设置,office必须依赖操作系统自带的技术和策略。目前,最有可能实现类似功能的结束就是macOS APP沙箱。

Partial screenshot of a command line interface showing different keys and values related to the App Sandbox rules for Microsoft Word in macOS.

图 2. Microsoft Word沙箱规则

其中一条规则指定了应用允许读或写的文件种类。Word允许读写文件名以“~$”为前缀的文件。

Sandbox rule for Microsoft Word on macOS

图 3. Word文件读写沙箱规则

虽然沙箱规则可以进行安全限制,攻击者仍然有可能绕过沙箱规则,使得恶意代码从沙箱逃逸,并在受影响的设备上执行任意代码。要执行的代码可以隐藏在word宏中。

早在2018年和2021年都有研究人员发现了macOS沙箱逃逸漏洞。

CVE-2022-26706:macOS App沙箱逃逸漏洞

在发现苹果修复了所有滥用.zshenv的变种后,研究人员决定分析open命令的所有选项。然后发现了–stdin选项:

Screenshot of a command line interface with the following text:

--stdin PATH
       Launches the application with stdin connected to PATH.

图 4. –stdin选项

因为python拒绝运行具有 “com.apple.quarantine”扩展属性的文件,因此不能用Python打开类似的.py文件。但–stdin绕过了“com.apple.quarantine”扩展属性的限制,因为Python不知道来自文件标准输入的内容。

POC漏洞利用步骤如下:

释放一个具有任意Python命令的“~$exploit.py”文件;

运行open –stdin=’~$exploit.py’ –a Python,该命令会运行Python app并用释放的文件作为标准输入。

Python运行了该代码,而其是launchd的子进程,不受限于沙箱规则,即实现了沙箱逃逸。

Microsoft's exploit for escaping the macOS sandbox

图 5. PoC漏洞利用代码

Tweet-size exploit for escaping the macOS sandbox

图 6. “Tweetable” POC 漏洞利用

漏洞修复

苹果公司已于2022年5月16日修改了该漏洞。

本文翻译自:https://www.microsoft.com/security/blog/2022/07/13/uncovering-a-macos-app-sandbox-escape-vulnerability-a-deep-dive-into-cve-2022-26706/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/QLO9
如有侵权请联系:admin#unsafe.sh