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

Reading time: 7 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Ova stranica sažima moderan iOS zero-click attack surface i posmatrani end-to-end lanac eksploatacije koji zloupotrebljava automatsko parsiranje medija u iMessage za kompromitovanje CoreAudio, zaobilaženje BlastDoor-a, obaranje Pointer Authentication (PAC) putem RPAC puta, eskalaciju do kernela i konačno zloupotrebu CryptoTokenKit-a za neautorizovanu upotrebu ključeva.

Upozorenje: Ovo je edukativni sažetak da bi pomogao odbrambenim timovima, istraživačima i red timovima da razumeju tehnike. Ne koristiti u ofanzivne svrhe.

Pregled lanca

  • Delivery vector: a malicious audio attachment (e.g., .amr / MP4 AAC) sent via iMessage/SMS.
  • Auto-ingestion: iOS auto-parses media for previews and conversions without user interaction.
  • Parser bug: malformed structures hit CoreAudio’s AudioConverterService and corrupt heap memory.
  • Code exec in media context: RCE inside the media parsing process; reported to bypass BlastDoor isolation in specific paths (e.g., “known sender” framing path).
  • PAC/RPAC bypass: once arbitrary R/W is achieved, a PAC bypass in the RPAC path enables stable control flow under arm64e PAC.
  • Kernel escalation: the chain converts userland exec into kernel exec (e.g., via wireless/AppleBCMWLAN code paths and AMPDU handling as seen in logs below).
  • Post-exploitation: with kernel, abuse CryptoTokenKit to perform signing with Secure Enclave–backed keys, read sensitive data paths (Keychain contexts), intercept messages/2FA, silently authorize actions, and enable stealth surveillance (mic/camera/GPS) without prompts.

Napomene o iMessage/BlastDoor attack surface

BlastDoor je ojačana usluga dizajnirana za parsiranje nepouzdanog sadržaja poruka. Međutim, posmatrani logovi ukazuju na puteve gde se zaštite mogu zaobići kada su poruke uokvirene od “known sender” i kada su dodatni filteri (npr. Blackhole) opušteni:

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

Takeaways:

  • Auto-parsing i dalje predstavlja udaljenu, zero-click attack surface.
  • Odluke o politici/kontekstu (known sender, filtering state) mogu značajno promeniti efektivnu izolaciju.

CoreAudio: AudioConverterService heap corruption (userland RCE)

Affected component:

  • CoreAudio → AudioConverterService → AAC/AMR/MP4 tokovi parsiranja i konverzije

Observed parser touchpoint (logs):

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

Technique summary:

  • Neispravni container/codec metapodaci (npr. invalid/short/NULL magic cookie) izazivaju memory corruption tokom decode setup-a.
  • Pokreće se u iMessage media conversion path bez interakcije korisnika.
  • Dovodi do code execution u media parsing procesu. Izveštaj tvrdi da ovo escapes BlastDoor u posmatranom delivery path-u, omogućavajući sledeću fazu.

Practical tips:

  • Fuzzujte AAC/AMR magic cookie i MP4 codec atoms kada targetujete AudioConverterService konverzije.
  • Fokusirajte se na heap overflows/underflows, OOB reads/writes i size/length confusion oko decoder initialization.

PAC bypass via RPAC path (CVE-2025-31201)

arm64e Pointer Authentication (PAC) onemogućava hijacking return addresses i function pointers. Lanac izveštava o poražavanju PAC-a korišćenjem RPAC puta kada postane dostupno arbitrary read/write.

Key idea:

  • Sa arbitrary R/W, napadači mogu konstruisati validne, ponovo-potpisane pokazivače ili pivotirati izvršenje na PAC-tolerantne puteve. Takozvani “RPAC path” omogućava control-flow pod PAC ograničenjima, pretvarajući userland RCE u pouzdan kernel exploit setup.

Notes for researchers:

  • Sakupljajte info leaks da biste porazili KASLR i stabilizovali ROP/JOP lance čak i pod PAC-om.
  • Ciljajte callsites koji generišu ili autentifikuju PAC na kontrolisane načine (npr. signatures generated on attacker-controlled values, predictable context keys, ili gadget sequences koje ponovo potpisuju pokazivače).
  • Očekujte varijacije Apple hardening-a po SoC/OS; pouzdanost zavisi od leaks, entropy i robust primitives.

Kernel escalation: wireless/AMPDU path example

U posmatranom lancu, jednom u userland-u sa memory corruption i PAC bypass primitive-om, kontrola kernela je postignuta putem code paths u Wi‑Fi stack-u (AppleBCMWLAN) usled neispravnog AMPDU handling-a. Primer logova:

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

Opšta tehnika:

  • Koristite userland primitives da izgradite kernel R/W ili kontrolisane call paths.
  • Zloupotrebite reachable kernel surfaces (IOKit, networking/AMPDU, media shared memory, Mach interfaces) da postignete kernel PC control ili arbitrary memory.
  • Stabilizujte tako što ćete izgraditi read/write primitives i savladati PPL/SPTM ograničenja gde je primenljivo.

Post-exploitation: CryptoTokenKit i zloupotreba identity/signing

Kada je kernel kompromitovan, procesi kao što je identityservicesd mogu biti impersonirani i privilegovane kriptografske operacije mogu biti pozvane putem CryptoTokenKit bez korisničkih upita. Primer logova:

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

Uticaj:

  • Koristiti Secure Enclave–backed keys za neovlašćeno potpisivanje (tokena, poruka, plaćanja), narušavajući modele poverenja čak i ako ključevi nisu izvezeni.
  • Presretati 2FA kodove/poruke neprimetno; autorizovati plaćanja/prebaćanja; omogućiti prikrivene mikrofon/kamera/GPS.

Odbrambeni pristup:

  • Smatrati post-kernel narušavanja integriteta katastrofalnim: primenjivati runtime attestation za CTK consumers; minimizirati ambient authority; proveravati entitlements u trenutku upotrebe.

Reprodukcija i telemetrijski saveti (samo u laboratoriji)

  • Delivery: poslati posebno izgrađen AMR/MP4-AAC audio na ciljni uređaj putem iMessage/SMS.
  • Posmatrati telemetriju za navedene log linije vezane za parsiranje i reakcije wireless stacka.
  • Osigurati da su uređaji sa najnovijim zakrpama; testirati samo u izolovanim laboratorijskim okruženjima.

Mitigacije i ideje za jačanje bezbednosti

  • Patch level: iOS 18.4.1 navodno ispravlja ovaj lanac; držati uređaje ažurnim.
  • Parser hardening: stroga validacija za codec cookies/atoms i dužine; defanzivni dekoding putevi sa bounds checks.
  • iMessage isolation: izbegavati popuštanje BlastDoor/Blackhole u “known sender” kontekstima za parsiranje medija.
  • PAC hardening: smanjiti dostupnost PAC-gadget availability; osigurati da su potpisi vezani za nepredvidive kontekste; ukloniti PAC-tolerantne obrasce koji se mogu zaobići.
  • CryptoTokenKit: zahtevati post-kernel attestation i jake entitlements u vreme poziva za operacije vezane za ključeve.
  • Kernel surfaces: ojačati wireless AMPDU/status handling; minimizirati ulaze kontrolisane od napadača iz userlanda nakon kompromitacije.

Pogođene verzije (prema izveštaju)

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

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks