iMessage Media Parser Zero-Click → CoreAudio RCE → PAC/RPAC → Kernel → CryptoTokenKit Abuse

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Questa pagina riassume una moderna superficie d’attacco iOS a zero-click e una catena di sfruttamento end-to-end osservata che abusa del parsing automatico dei media di iMessage per compromettere CoreAudio, bypassare BlastDoor, eludere Pointer Authentication (PAC) tramite un percorso RPAC, elevare i privilegi al kernel e infine abusare di CryptoTokenKit per usi non autorizzati di chiavi.

Avvertenza: Questo è un riepilogo a scopo educativo per aiutare difensori, ricercatori e red team a comprendere le tecniche. Non usare in modo offensivo.

High-level chain

  • Delivery vector: un allegato audio maligno (es., .amr / MP4 AAC) inviato via iMessage/SMS.
  • Auto-ingestion: iOS analizza automaticamente i media per anteprime e conversioni senza interazione dell’utente.
  • Parser bug: strutture malformate colpiscono AudioConverterService di CoreAudio e corrompono la memoria heap.
  • Code exec in media context: RCE all’interno del processo di parsing dei media; segnalato che bypassa l’isolamento di BlastDoor in percorsi specifici (es., framing da “known sender”).
  • PAC/RPAC bypass: una volta ottenuti arbitrari R/W, un bypass PAC nel percorso RPAC abilita un controllo stabile del flusso di esecuzione su arm64e PAC.
  • Kernel escalation: la catena converte l’esecuzione userland in esecuzione kernel (es., tramite percorsi di codice wireless/AppleBCMWLAN e la gestione AMPDU come visto nei log sotto).
  • Post-exploitation: con il kernel, abusare di CryptoTokenKit per effettuare firme con chiavi protette da Secure Enclave, leggere percorsi di dati sensibili (contesti Keychain), intercettare messaggi/2FA, autorizzare azioni silenziosamente e abilitare sorveglianza stealth (microfono/camera/GPS) senza prompt.

iMessage/BlastDoor attack surface notes

BlastDoor è un servizio hardening progettato per parsare contenuti di messaggi non attendibili. Tuttavia, i log osservati indicano percorsi in cui le protezioni possono essere bypassate quando i messaggi sono incorniciati da un “known sender” e quando filtri aggiuntivi (es., Blackhole) sono rilassati:

IDSDaemon    BlastDoor: Disabled for framing messages
SpamFilter   Blackhole disabled; user has disabled filtering unknown senders.

Takeaways:

  • L’auto-parsing rappresenta ancora una superficie d’attacco remota zero-click.
  • Decisioni di policy/contesto (mittente noto, stato del filtraggio) possono cambiare in modo significativo l’isolamento effettivo.

CoreAudio: AudioConverterService heap corruption (userland RCE)

Affected component:

  • CoreAudio → AudioConverterService → flussi di parsing e conversione AAC/AMR/MP4

Observed parser touchpoint (logs):

AudioConverterService    ACMP4AACBaseDecoder.cpp: inMagicCookie=0x0, inMagicCookieByteSize=39

Technique summary:

  • Metadati container/codec malformati (e.g., invalid/short/NULL magic cookie) causano una memory corruption durante il decode setup.
  • Scatena nella iMessage media conversion path senza taps da parte dell’utente.
  • Fornisce code execution nel processo di media parsing. Il write-up afferma che questo escapes BlastDoor nel delivery path osservato, abilitando la fase successiva.

Practical tips:

  • Fuzz AAC/AMR magic cookie e MP4 codec atoms quando si mira alle AudioConverterService conversions.
  • Concentrarsi su heap overflows/underflows, OOB reads/writes, e size/length confusion intorno a decoder initialization.

Bypass PAC tramite RPAC path (CVE-2025-31201)

arm64e Pointer Authentication (PAC) impedisce il hijacking di return addresses e function pointers. La catena riporta di sconfiggere PAC usando un RPAC path una volta disponibile arbitrary read/write.

Key idea:

  • Con arbitrary R/W, attackers possono craftare puntatori validi e re-signed o pivotare l’esecuzione verso PAC-tolerant paths. Il cosiddetto “RPAC path” consente il control-flow sotto i vincoli PAC, trasformando un userland RCE in un setup affidabile per exploit del kernel.

Notes for researchers:

  • Raccogliere info leaks per sconfiggere KASLR e stabilizzare ROP/JOP chains anche sotto PAC.
  • Puntare callsites che generano o autenticano PAC in modi controllabili (e.g., signatures generate su attacker-controlled values, predictable context keys, o gadget sequences che re-sign pointers).
  • Aspettarsi variabilità delle hardening Apple per SoC/OS; l’affidabilità dipende da leaks, entropy, e primitive robuste.

Kernel escalation: wireless/AMPDU path example

Nella catena osservata, una volta in userland con memory corruption e una primitive di PAC bypass, il controllo del kernel è stato ottenuto tramite code paths nello stack Wi‑Fi (AppleBCMWLAN) a causa di malformed AMPDU handling. Example logs:

IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 14
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 13

Tecnica generale:

  • Usa userland primitives per costruire kernel R/W o percorsi di chiamata controllati.
  • Sfrutta superfici kernel raggiungibili (IOKit, networking/AMPDU, media shared memory, Mach interfaces) per ottenere il controllo del PC del kernel o memoria arbitraria.
  • Stabilizzare costruendo primitive di lettura/scrittura e bypassando i vincoli PPL/SPTM dove applicabile.

Post-exploitation: CryptoTokenKit e abuso di identity/signing

Una volta compromesso il kernel, processi come identityservicesd possono essere impersonati e operazioni crittografiche privilegiate invocate tramite CryptoTokenKit senza prompt dell’utente. Log di esempio:

CryptoTokenKit    operation:2 algo:algid:sign:ECDSA:digest-X962:SHA256
CryptoTokenKit    <sepk:p256(d) kid=9a86778f7163e305> parsed for identityservicesd

Impatto:

  • Usare chiavi Secure Enclave–backed per firme non autorizzate (tokens, messages, payments), compromettendo i modelli di trust anche se le chiavi non vengono esportate.
  • Intercettare silenziosamente codici/messaggi 2FA; autorizzare pagamenti/trasferimenti; abilitare microfono/fotocamera/GPS in modalità stealth.

Approccio difensivo:

  • Considerare le violazioni dell’integrità post-kernel come catastrofiche: applicare runtime attestation per i consumatori CTK; minimizzare l’authority ambientale; verificare le entitlements al punto d’uso.

Reproduction and telemetry hints (lab only)

  • Delivery: inviare un audio AMR/MP4-AAC creato ad arte al dispositivo target via iMessage/SMS.
  • Observe telemetry for the foregoing log lines around parsing and wireless stack reactions.
  • Assicurarsi che i dispositivi siano completamente aggiornati; testare solo in ambienti di laboratorio isolati.

Mitigations and hardening ideas

  • Patch level: iOS 18.4.1 reportedly fixes this chain; mantenere i dispositivi aggiornati.
  • Parser hardening: validazione rigorosa per codec cookies/atoms e lunghezze; percorsi di decoding difensivi con bounds checks.
  • iMessage isolation: evitare di rilassare BlastDoor/Blackhole nei contesti “known sender” per il parsing dei media.
  • PAC hardening: ridurre la disponibilità di PAC-gadget; assicurarsi che le firme siano vincolate a contesti imprevedibili; rimuovere pattern PAC-tolerant bypassable.
  • CryptoTokenKit: richiedere post-kernel attestation e entitlements forti al momento della chiamata per operazioni legate a chiavi.
  • Kernel surfaces: rinforzare la gestione wireless AMPDU/status; minimizzare gli input controllati dall’attaccante provenienti da userland dopo la compromissione.

Affected versions (as reported)

  • iOS 18.x prior to iOS 18.4.1 (April 16, 2025).
  • Primary: CoreAudio → AudioConverterService (media auto-parsing path via iMessage/SMS).
  • Chained: PAC/RPAC path and kernel escalation via AppleBCMWLAN AMPDU handling.

References

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks