`提升为root用户,`~/.zshenv`文件将被触发,有效地提升为root用户。
在[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)中发现,同样的**`system_installd`**进程仍然可以被滥用,因为它将**post-install脚本放在了SIP保护的随机命名文件夹中的`/tmp`**中。问题在于**`/tmp`本身没有受到SIP的保护**,因此可以在其上**挂载**一个**虚拟映像**,然后**安装程序**会将**post-install脚本**放在其中,**卸载**虚拟映像,**重新创建**所有**文件夹**并**添加**带有**要执行的payload的post-install脚本**。
### **com.apple.rootless.install**
{% hint style="danger" %}
权限**`com.apple.rootless.install`**允许绕过SIP
{% endhint %}
从[**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/)中得知,系统XPC服务`/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc`具有权限**`com.apple.rootless.install`**,它允许进程绕过SIP的限制。它还**公开了一种在没有任何安全检查的情况下移动文件的方法**。
## 封闭系统快照
封闭系统快照是苹果在**macOS Big Sur(macOS 11)**中引入的一个功能,作为其**系统完整性保护(SIP)**机制的一部分,提供了额外的安全性和系统稳定性。它们本质上是系统卷的只读版本。
以下是更详细的说明:
1. **不可变系统**:封闭系统快照使macOS系统卷变为“不可变”,意味着它不能被修改。这可以防止任何未经授权或意外的对系统的更改,从而可能危及安全性或系统稳定性。
2. **系统软件更新**:当您安装macOS更新或升级时,macOS会创建一个新的系统快照。然后,macOS启动卷使用**APFS(Apple文件系统)**切换到这个新的快照。整个应用更新的过程变得更加安全可靠,因为如果在更新过程中出现问题,系统始终可以恢复到之前的快照。
3. **数据分离**:结合在macOS Catalina中引入的数据和系统卷分离的概念,封闭系统快照功能确保所有数据和设置存储在单独的“**数据**”卷上。这种分离使您的数据与系统独立,简化了系统更新的过程,并增强了系统安全性。
请记住,这些快照由macOS自动管理,并且由于APFS的空间共享功能,它们不会占用额外的磁盘空间。还需要注意的是,这些快照与**Time Machine快照**不同,后者是用户可访问的整个系统的备份。
### 检查快照
命令**`diskutil apfs list`**列出了APFS卷的详细信息及其布局:
+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
| ====================================================
| APFS容器引用: disk3
| 大小(容量上限): 494384795648 B(494.4 GB)
| 卷使用的容量: 219214536704 B(219.2 GB)(使用了44.3%)
| 未分配的容量: 275170258944 B(275.2 GB)(空闲了55.7%)
| |
| +-< 物理存储器 disk0s2 86D4B7EC-6FA5-4042-93A7-D3766A222EBE
| | -----------------------------------------------------------
| | APFS物理存储器磁盘: disk0s2
| | 大小: 494384795648 B(494.4 GB)
| |
| +-> 卷 disk3s1 7A27E734-880F-4D91-A703-FB55861D49B7
| | ---------------------------------------------------
| | APFS卷
| | 快照磁盘: disk3s1s1
| | 快照挂载点: /
| | 快照已封存: 是
[...]
+-> 卷 disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
| APFS 卷磁盘 (角色): disk3s5 (数据)
| 名称: Macintosh HD - Data (不区分大小写)
| 挂载点: /System/Volumes/Data
| 已使用容量: 412071784448 B (412.1 GB)
| 封存: 否
| FileVault: 是 (已解锁)
在上面的输出中,可以看到**用户可访问的位置**被挂载在`/System/Volumes/Data`下。
此外,**macOS系统卷快照**被挂载在`/`下,并且它是**已封存**的(由操作系统进行了加密签名)。因此,如果绕过SIP并对其进行修改,**操作系统将无法启动**。
还可以通过运行以下命令**验证封存是否已启用**:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
```
此外,快照磁盘也被挂载为**只读**:
```
mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
```
☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* 你在一家 **网络安全公司** 工作吗?想要在 HackTricks 中 **宣传你的公司** 吗?或者你想要获取 **PEASS 的最新版本或下载 HackTricks 的 PDF** 吗?请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family) 集合:[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass),或者在 **Twitter** 上 **关注** 我 [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向** [**hacktricks 仓库**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud 仓库**](https://github.com/carlospolop/hacktricks-cloud) **提交 PR 来分享你的黑客技巧。**