` 提升为 root,`~/.zshenv` 文件将被触发,有效地提升为 root。
-在 [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) 中发现,同一个 **`system_installd`** 过程仍然可以被滥用,因为它将 **安装后脚本放在 `/tmp` 内由 SIP 保护的随机命名文件夹中**。问题是 **`/tmp` 本身并未受到 SIP 的保护**,因此可以在其上**挂载**一个**虚拟映像**,然后**安装程序**会将**安装后脚本**放在那里,**卸载**虚拟映像,**重新创建**所有**文件夹**并**添加**带有**有效载荷**的**安装后**脚本以执行。
+#### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)
+
+在 [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) 中发现,同一个 **`system_installd`** 进程仍然可以被滥用,因为它将**安装后脚本放在 `/tmp` 内由 SIP 保护的随机命名文件夹中**。问题是 **`/tmp` 本身并不受 SIP 保护**,所以可以在其上**挂载**一个**虚拟镜像**,然后**安装程序**会将**安装后脚本**放在那里,**卸载**虚拟镜像,**重新创建**所有**文件夹**并**添加**带有**有效载荷**的**安装后**脚本以执行。
+
+#### [fsck\_cs 工具](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
+
+这个绕过利用了 **`fsck_cs`** 会跟随**符号链接**并尝试修复呈现给它的文件系统的事实。
+
+因此,攻击者可以创建一个从 _`/dev/diskX`_ 指向 `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist` 的符号链接,并在前者上调用 **`fsck_cs`**。由于 `Info.plist` 文件被损坏,操作系统将**无法控制内核扩展排除**,从而绕过 SIP。
+
+{% code overflow="wrap" %}
+```bash
+ln -s /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist /dev/diskX
+fsck_cs /dev/diskX 1>&-
+touch /Library/Extensions/
+reboot
+```
+{% endcode %}
+
+上述已被破坏的 Info.plist 文件,通常被 **SIP 用来将某些内核扩展列入白名单** 并特别**阻止** **其他**的加载。它通常会把苹果自己的内核扩展 **`AppleHWAccess.kext`** 加入黑名单,但随着配置文件的破坏,我们现在可以加载它,并随意从系统 RAM 读写数据。
+
+#### [覆盖 SIP 保护的文件夹](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
+
+可以通过挂载一个新的文件系统覆盖 **SIP 保护的文件夹来绕过保护**。
+```bash
+mkdir evil
+# Add contento to the folder
+hdiutil create -srcfolder evil evil.dmg
+hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg
+```
+#### [升级器绕过 (2016)](https://objective-see.org/blog/blog\_0x14.html)
+
+当执行时,升级/安装器应用程序(即 `Install macOS Sierra.app`)设置系统从安装器磁盘映像启动(该映像嵌入在已下载的应用程序中)。这个安装器磁盘映像包含升级操作系统的逻辑,例如从 OS X El Capitan 升级到 macOS Sierra。
+
+为了让系统从升级/安装器映像(`InstallESD.dmg`)启动,`Install macOS Sierra.app` 使用了 **`bless`** 工具(它继承了权限 `com.apple.rootless.install.heritable`):
+
+{% code overflow="wrap" %}
+```bash
+/usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer
+```
+{% endcode %}
+
+因此,如果攻击者能在系统从其启动之前修改升级映像(`InstallESD.dmg`),他就可以绕过SIP。
+
+修改映像以感染它的方法是替换动态加载器(dyld),它会天真地加载并执行恶意的动态链接库(dylib),就像 **`libBaseIA`** 动态链接库一样。因此,每当用户启动安装程序(即升级系统)时,我们的恶意动态链接库(名为libBaseIA.dylib)也会在安装程序中加载并执行。
+
+现在在安装程序内部,我们可以控制升级过程的这一阶段。由于安装程序会“祝福”映像,我们所要做的就是在使用之前篡改映像,**`InstallESD.dmg`**。通过方法交换挂钩 **`extractBootBits`** 方法,这是可能的。\
+在磁盘映像被使用之前执行恶意代码,现在是感染它的时候了。
+
+在 `InstallESD.dmg` 内部,有另一个嵌入的磁盘映像 `BaseSystem.dmg`,它是升级代码的“根文件系统”。可以将动态链接库注入到 `BaseSystem.dmg` 中,这样恶意代码就会在可以修改操作系统级文件的进程上下文中运行。
+
+#### [systemmigrationd (2023)](https://www.youtube.com/watch?v=zxZesAN-TEk)
+
+在 [**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-TEk) 的这次演讲中,展示了 **`systemmigrationd`**(可以绕过SIP)执行 **bash** 和 **perl** 脚本,这可以通过环境变量 **`BASH_ENV`** 和 **`PERL5OPT`** 来滥用。
### **com.apple.rootless.install**
{% hint style="danger" %}
-权限 **`com.apple.rootless.install`** 允许绕过 SIP
+权限 **`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 限制的权限。它还**暴露了一个无任何安全检查的移动文件的方法。**
+来自 [**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)**机制的一部分,以提供额外的安全性和系统稳定性层。它们本质上是系统卷的只读版本。
+封闭系统快照是苹果在 **macOS Big Sur (macOS 11)** 中引入的一个特性,作为其 **系统完整性保护 (SIP)** 机制的一部分,以提供额外的安全性和系统稳定性层。它们本质上是系统卷的只读版本。
-以下是更详细的介绍:
+这里是更详细的介绍:
-1. **不可变系统**:封闭系统快照使 macOS 系统卷变为“不可变”,意味着它不能被修改。这防止了任何未授权或意外的系统变更,这些变更可能会危害安全性或系统稳定性。
-2. **系统软件更新**:当您安装 macOS 更新或升级时,macOS 会创建一个新的系统快照。然后 macOS 启动卷使用 **APFS (苹果文件系统)** 切换到这个新快照。整个更新应用过程变得更加安全可靠,因为如果更新过程中出现问题,系统总是可以回退到之前的快照。
-3. **数据分离**:结合 macOS Catalina 引入的数据和系统卷分离概念,封闭系统快照功能确保了所有数据和设置都存储在一个独立的“**数据**”卷上。这种分离使您的数据独立于系统,简化了系统更新过程并增强了系统安全性。
+1. **不可变系统**:封闭系统快照使macOS系统卷“不可变”,意味着它不能被修改。这防止了任何未授权或意外的系统变更,这些变更可能会危害安全性或系统稳定性。
+2. **系统软件更新**:当你安装macOS更新或升级时,macOS会创建一个新的系统快照。然后macOS启动卷使用 **APFS (Apple文件系统)** 切换到这个新快照。应用更新的整个过程变得更加安全可靠,因为如果更新过程中出现问题,系统总是可以回退到之前的快照。
+3. **数据分离**:结合在macOS Catalina中引入的数据和系统卷分离概念,封闭系统快照功能确保所有数据和设置都存储在一个独立的“**Data**”卷上。这种分离使您的数据独立于系统,简化了系统更新过程并增强了系统安全性。
-请记住,这些快照是由 macOS 自动管理的,并且由于 APFS 的空间共享能力,它们不会占用您磁盘上的额外空间。同样重要的是要注意,这些快照与**时间机器快照**不同,后者是用户可访问的整个系统的备份。
+请记住,这些快照是由macOS自动管理的,并且由于APFS的空间共享能力,它们不会占用您磁盘上的额外空间。同样重要的是要注意,这些快照与 **Time Machine快照** 不同,后者是整个系统的用户可访问备份。
### 检查快照
-命令 **`diskutil apfs list`** 列出了 **APFS 卷的详细信息**及其布局:
+命令 **`diskutil apfs list`** 列出了 **APFS卷的详细信息** 及其布局:
+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
| ====================================================
@@ -158,26 +215,26 @@ SIP 还强加了一些其他限制。例如,它不允许**加载未签名的
| | FileVault: Yes (Unlocked)
| | Encrypted: No
| | |
-| | 快照:FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
-| | 快照磁盘:disk3s1s1
-| | 快照挂载点:/
-| | 快照封存:是
+| | Snapshot: FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
+| | Snapshot Disk: disk3s1s1
+| | Snapshot Mount Point: /
+| | Snapshot Sealed: Yes
[...]
-+-> 卷 disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
++-> Volume disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
-| APFS 卷磁盘(角色):disk3s5(数据)
-| 名称:Macintosh HD - Data(不区分大小写)
- | 挂载点:/System/Volumes/Data
- | 已使用容量:412071784448 B(412.1 GB)
- | 封存:否
-| FileVault:是(已解锁)
+| APFS Volume Disk (Role): disk3s5 (Data)
+| Name: Macintosh HD - Data (Case-insensitive)
+ | Mount Point: /System/Volumes/Data
+ | Capacity Consumed: 412071784448 B (412.1 GB)
+ | Sealed: No
+| FileVault: Yes (Unlocked)
-在上述输出中,可以看到**用户可访问位置**挂载在`/System/Volumes/Data`下。
+在上面的输出中,可以看到 **用户可访问的位置** 被挂载在 `/System/Volumes/Data` 下。
-此外,**macOS 系统卷快照**挂载在`/`,并且是**封存的**(由操作系统加密签名)。因此,如果绕过 SIP 并修改它,**操作系统将不再启动**。
+此外,**macOS系统卷快照** 被挂载在 `/` 并且是 **封闭的**(由操作系统加密签名)。所以,如果SIP被绕过并修改了它,**操作系统将不再启动**。
-还可以通过运行以下命令来**验证封存是否启用**:
+还可以通过运行以下命令来 **验证封印是否启用**:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
@@ -191,10 +248,10 @@ mount
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-* 如果您在**网络安全公司**工作,想在**HackTricks**上看到您的**公司广告**,或者想要访问**最新版本的PEASS或下载HackTricks的PDF**?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
-* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](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**中看到您的**公司广告**?或者您想要访问**最新版本的PEASS或下载HackTricks的PDF**?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
+* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](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来分享您的黑客技巧。**