iMessage Media Parser Zero-Click → CoreAudio RCE → PAC/RPAC → Kernel → CryptoTokenKit 悪用
Reading time: 11 minutes
tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:
HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
このページは、iMessage の自動メディア解析を悪用して CoreAudio を侵害し、BlastDoor を回避し、RPAC 経路を介して Pointer Authentication (PAC) を破り、カーネルに昇格し、最後に CryptoTokenKit を悪用して鍵の不正使用を行うという、最新の iOS zero-click 攻撃面と観測されたエンドツーエンドのエクスプロイトチェーンを要約したものです。
警告: これは防御者、研究者、red teams が手法を理解するための教育的要約です。攻撃目的での使用は禁止します。
ハイレベルチェーン
- 配布経路: 悪意ある音声添付ファイル(例: .amr / MP4 AAC)を iMessage/SMS 経由で送信。
- 自動取り込み: iOS はユーザー操作なしにプレビューや変換のためにメディアを自動解析する。
- パーサの脆弱性: 不正な構造が CoreAudio の AudioConverterService に渡されてヒープメモリを破壊する。
- メディアコンテキストでのコード実行: メディア解析プロセス内での RCE。特定の経路(例: “known sender” framing path)で BlastDoor の隔離を回避すると報告されている。
- PAC/RPAC バイパス: 任意の R/W を得た後、RPAC 経路での PAC バイパスにより arm64e PAC 下でも安定した制御フローを得られる。
- カーネル昇格: チェーンはユーザーランドでの実行をカーネル実行に変換する(例: 無線/AppleBCMWLAN のコード経路や下記ログに見られる AMPDU 処理を介して)。
- ポストエクスプロイト: カーネルを得た後、CryptoTokenKit を悪用して Secure Enclave バックのキーで署名を行い、機密データ経路(Keychain コンテキスト)を読み取り、メッセージ/2FA を傍受し、ユーザー操作なしで操作を黙認させ、無音でマイク/カメラ/GPS によるステルス監視を可能にする。
iMessage/BlastDoor 攻撃サーフェス注意点
BlastDoor は信頼できないメッセージコンテンツを解析するための強化サービスです。しかし、観測されたログは、メッセージが “known sender” としてフレーム化され、追加フィルタ(例: Blackhole)が緩和される場合に保護がバイパスされ得る経路が存在することを示しています:
IDSDaemon BlastDoor: Disabled for framing messages
SpamFilter Blackhole disabled; user has disabled filtering unknown senders.
要点:
- 自動解析は依然としてリモートの zero-click 攻撃対象となる。
- ポリシー/コンテキストの判断(known sender、filtering state)は実効的な隔離を実質的に変え得る。
CoreAudio: AudioConverterService ヒープ破損 (userland RCE)
Affected component:
- CoreAudio → AudioConverterService → AAC/AMR/MP4 のパースおよび変換フロー
Observed parser touchpoint (logs):
AudioConverterService ACMP4AACBaseDecoder.cpp: inMagicCookie=0x0, inMagicCookieByteSize=39
Technique summary:
- Malformed container/codec metadata (e.g., invalid/short/NULL magic cookie) が decode setup 中にメモリ破損を引き起こす。
- ユーザーのタップなしで iMessage メディア変換パス内でトリガーされる。
- メディア解析プロセスで code execution をもたらす。観測された配信経路では BlastDoor を脱出し、次段階を可能にすると報告されている。
Practical tips:
- AudioConverterService の変換を狙う際は AAC/AMR magic cookie と MP4 codec atoms を fuzz する。
- heap overflows/underflows、OOB reads/writes、および decoder initialization 周辺の size/length confusion に注力する。
PAC bypass via RPAC path (CVE-2025-31201)
arm64e Pointer Authentication (PAC) は return addresses や function pointers のハイジャックを阻む。任意の read/write が利用可能になった後、RPAC path を用いて PAC を破るチェインが報告されている。
Key idea:
- arbitrary R/W があれば、攻撃者は有効で再署名されたポインタを作成するか、PAC に耐性のある経路へ実行をピボットできる。いわゆる “RPAC path” は PAC 制約下での制御フローを可能にし、userland RCE を信頼できる kernel exploit のセットアップに変える。
Notes for researchers:
- KASLR を打ち破り、PAC 下でも ROP/JOP チェインを安定化させるために info leaks を収集する。
- controllable な方法で PAC を生成または認証する callsite を狙う(例:attacker-controlled な値で生成される signatures、予測可能な context keys、またはポインタを再署名する gadget シーケンス)。
- SoC/OS による Apple の hardening の差異を想定すること;信頼性は leaks、entropy、堅牢な primitives に左右される。
Kernel escalation: wireless/AMPDU path example
観測されたチェインでは、userland で memory corruption と PAC bypass primitive を得た後、malformed AMPDU 処理の下で Wi‑Fi スタック (AppleBCMWLAN) のコードパス経由で kernel control が達成された。Example logs:
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 14
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 13
General technique:
- userland primitives を利用して kernel R/W または制御された call paths を構築する。
- 到達可能な kernel surfaces (IOKit, networking/AMPDU, media shared memory, Mach interfaces) を悪用して kernel PC control または arbitrary memory を達成する。
- read/write primitives を構築し、適用可能な場合は PPL/SPTM 制約を回避して安定化させる。
Post-exploitation: CryptoTokenKit と identity/signing の悪用
kernel が乗っ取られると、identityservicesd のようなプロセスが偽装され、CryptoTokenKit を通じてユーザーの確認なしに特権的な暗号操作を呼び出すことが可能になる。ログ例:
CryptoTokenKit operation:2 algo:algid:sign:ECDSA:digest-X962:SHA256
CryptoTokenKit <sepk:p256(d) kid=9a86778f7163e305> parsed for identityservicesd
影響:
- Secure Enclave–backed keys を使って不正に署名(tokens, messages, payments)を行い、キーがエクスポートされていなくても信頼モデルを破壊する。
- 2FA コード/メッセージをサイレントに傍受;支払い/振替を承認;ステルスマイク/カメラ/GPS を有効化する。
防御の観点:
- post-kernel integrity breaks を壊滅的なものと見なす:CTK consumers に対してランタイム証明(attestation)を強制する;ambient authority を最小化する;使用時点で entitlements を検証する。
再現とテレメトリのヒント(ラボのみ)
- Delivery: iMessage/SMS 経由で標的デバイスに細工した AMR/MP4-AAC オーディオを送る。
- パースや無線スタックの反応に関する前述のログ行をテレメトリで観察する。
- デバイスは完全にパッチ適用された状態であることを確認し、分離されたラボ環境のみでテストすること。
緩和策とハードニング案
- Patch level: iOS 18.4.1 が本チェーンを修正すると報告されている;デバイスを最新に保つこと。
- Parser hardening: codec cookies/atoms と長さに対する厳格な検証;境界チェックを備えた防御的なデコード経路を実装すること。
- iMessage isolation: メディアパースで「既知の送信者」コンテキストにおいて BlastDoor/Blackhole を緩めないこと。
- PAC hardening: PAC-gadget の利用可能性を減らす;署名が予測不可能なコンテキストに結び付くようにする;PAC に寛容でバイパス可能なパターンを除去する。
- CryptoTokenKit: キーに紐づく操作について、カーネル後の証明(post-kernel attestation)と呼び出し時の強い entitlements を要求すること。
- Kernel surfaces: 無線の AMPDU/status 処理を強化する;侵害後に userland から攻撃者が制御できる入力を最小化すること。
影響を受けるバージョン(報告による)
- iOS 18.x(iOS 18.4.1 より前、2025-04-16)。
- Primary: CoreAudio → AudioConverterService(iMessage/SMS 経由のメディア自動パース経路)。
- Chained: PAC/RPAC 経路および AppleBCMWLAN AMPDU 処理経由のカーネル権限昇格。
References
tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:
HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks