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
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
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
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

