Translated ['src/macos-hardening/macos-security-and-privilege-escalation

This commit is contained in:
Translator 2025-07-17 10:20:26 +00:00
parent 96edae104c
commit 12c795dac6

View File

@ -14,8 +14,8 @@
Appleは2024年3月にiOSとmacOSに対して積極的に悪用されていた2つのメモリ破損バグを修正しましたmacOS 14.4/13.6.5/12.7.4で修正)。
* **CVE-2024-23225 カーネル**
• XNU仮想メモリサブシステムにおけるバッファ外書き込みにより、特権のないプロセスがカーネルアドレス空間で任意の読み書きを取得でき、PAC/KTRRを回避します。
`libxpc`内のバッファをオーバーフローさせるように作成されたXPCメッセージからユーザースペースでトリガーされ、メッセージが解析されるとカーネルにピボットします。
• XNU仮想メモリサブシステムにおけるバッファ外書き込みにより、特権のないプロセスがカーネルアドレス空間で任意の読み書きを取得でき、PAC/KTRRをバイパスします。
`libxpc`内のバッファをオーバーフローさせるように作成されたXPCメッセージを介してユーザースペースからトリガーされ、メッセージが解析されるとカーネルにピボットします。
* **CVE-2024-23296 RTKit**
• Apple Silicon RTKitリアルタイムコプロセッサにおけるメモリ破損。
• 観察された悪用チェーンは、カーネルのR/WにCVE-2024-23225を使用し、PACを無効にするためにCVE-2024-23296を使用してセキュアコプロセッササンドボックスから脱出しました。
@ -25,7 +25,7 @@ Appleは2024年3月にiOSとmacOSに対して積極的に悪用されていた2
sw_vers # ProductVersion 14.4 or later is patched
authenticate sudo sysctl kern.osversion # 23E214 or later for Sonoma
```
アップグレードが不可能な場合は、脆弱なサービスを無効にすることで対策を講じてください:
アップグレードが不可能な場合は、脆弱なサービスを無効にすることで対策してください:
```bash
launchctl disable system/com.apple.analyticsd
launchctl disable system/com.apple.rtcreportingd
@ -34,7 +34,7 @@ launchctl disable system/com.apple.rtcreportingd
## 2023: MIGタイプ混乱 CVE-2023-41075
`mach_msg()` リクエストが特権のないIOKitユーザクライアントに送信されると、MIG生成のグルーコードにおいて**タイプ混乱**が発生します。返信メッセージが元々割り当てられたよりも大きなアウトオブラインディスクリプタで再解釈されると、攻撃者はカーネルヒープゾーンへの制御された**OOB書き込み**を達成し、最終的に`root`に昇格することができます。
`mach_msg()`リクエストが特権のないIOKitユーザクライアントに送信されると、MIG生成のグルーコードにおいて**タイプ混乱**が発生します。返信メッセージが元々割り当てられたよりも大きなアウトオブラインディスクリプタで再解釈されると、攻撃者はカーネルヒープゾーンへの制御された**OOB書き込み**を達成し、最終的に`root`に昇格することができます。
プリミティブアウトラインSonoma 14.0-14.1、Ventura 13.5-13.6
```c
@ -49,7 +49,7 @@ mach_msg(&msg.header, MACH_SEND_MSG|MACH_RCV_MSG, ...);
公開エクスプロイトは、バグを武器化するために以下の手順を踏みます:
1. アクティブポートポインタで `ipc_kmsg` バッファをスプレーします。
2. ダングリングポートの `ip_kobject` を上書きします。
3. `mprotect()` を使用してPACで偽造されたアドレスにマッピングされたシェルコードにジャンプします。
3. `mprotect()` を使用して PACで偽造されたアドレスにマッピングされたシェルコードにジャンプします。
---
@ -58,7 +58,7 @@ mach_msg(&msg.header, MACH_SEND_MSG|MACH_RCV_MSG, ...);
Microsoftのセキュリティ研究者は、高特権デーモン `storagekitd` が**署名されていないカーネル拡張**をロードするよう強制され、完全にパッチが適用されたmacOS15.2以前)で**システムインテグリティ保護SIP**を完全に無効にできることを示しました。攻撃の流れは以下の通りです:
1. プライベート権限 `com.apple.storagekitd.kernel-management` を悪用して、攻撃者の制御下にヘルパーを生成します。
2. ヘルパーは、悪意のあるkextバンドルを指す加工された情報辞書を持つ `IOService::AddPersonalitiesFromKernelModule` を呼び出します。
2. ヘルパーは、悪意のあるkextバンドルを指す作成された情報辞書を使用して `IOService::AddPersonalitiesFromKernelModule` を呼び出します。
3. SIPの信頼性チェックは、`storagekitd` によってkextがステージングされた*後*に実行されるため、検証前にコードがリング0で実行され、`csr_set_allow_all(1)` を使用してSIPをオフにすることができます。
検出のヒント:
@ -83,7 +83,7 @@ spctl --status # Confirms Gatekeeper state
## Fuzzing & Research Tools
* **Luftrauser** Machメッセージファズァーで、MIGサブシステムをターゲットにしています (`github.com/preshing/luftrauser`)。
* **Luftrauser** Machメッセージファズァーで、MIGサブシステムをターゲットにします (`github.com/preshing/luftrauser`)。
* **oob-executor** CVE-2024-23225の研究で使用されるIPCアウトオブバウンズプリミティブジェネレーター。
* **kmutil inspect** kextをロードする前に静的に分析するためのAppleの組み込みユーティリティmacOS 11+ `kmutil inspect -b io.kext.bundleID`