iOS App Extensions
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
App-uitbreidings verbeter die funksionaliteit van toepassings deur hulle in staat te stel om met ander toepassings of die stelsel te kommunikeer, wat pasgemaakte funksies of inhoud bied. Hierdie uitbreidings sluit in:
Pasgemaakte Sleutelbord: Bied 'n unieke sleutelbord oor alle toepassings, wat die standaard iOS-sleutelbord vervang.
Deel: Maak dit moontlik om te deel met sosiale netwerke of met ander direk.
Vandag (Widgets): Lewer inhoud of voer take vinnig uit vanaf die Kennisgewing Sentrum se Vandag-weergave.
Wanneer 'n gebruiker met hierdie uitbreidings omgaan, soos om teks van 'n gasheer-toepassing te deel, verwerk die uitbreiding hierdie insette binne sy konteks, wat die gedeelde inligting benut om sy taak uit te voer, soos in Apple se dokumentasie uiteengesit.
Belangrike sekuriteitsaspekte sluit in:
Uitbreidings en hul bevatende toepassings kommunikeer via inter-proses kommunikasie, nie direk nie.
Die Vandag widget is uniek in die sin dat dit sy toepassing kan vra om via 'n spesifieke metode te open.
Gedeelde data-toegang is toegelaat binne 'n private houer, maar direkte toegang is beperk.
Sekere API's, insluitend HealthKit, is verbode vir app-uitbreidings, wat ook nie langlopende take kan begin, toegang tot die kamera of mikrofoon kan verkry nie, behalwe vir iMessage-uitbreidings.
Om app-uitbreidings in bronkode te vind, soek vir NSExtensionPointIdentifier
in Xcode of ondersoek die app-bundel vir .appex
-lêers wat uitbreidings aandui. Sonder bronkode, gebruik grep of SSH om hierdie identifiseerders binne die app-bundel te vind.
Kyk na die Info.plist
-lêer van 'n uitbreiding vir NSExtensionActivationRule
om gesteunde datatipe te identifiseer. Hierdie opstelling verseker dat slegs kompatible datatipe die uitbreiding in gasheer-toepassings aktiveer.
Data deel tussen 'n toepassing en sy uitbreiding vereis 'n gedeelde houer, opgestel via "App Groups" en toegang verkry deur NSUserDefaults
. Hierdie gedeelde ruimte is noodsaaklik vir agtergrond oordragte wat deur uitbreidings geïnisieer word.
Toepassings kan sekere tipe uitbreidings beperk, veral pasgemaakte sleutelborde, om te verseker dat sensitiewe data hanteer word in ooreenstemming met sekuriteitsprotokolle.
Dinamiese analise behels:
Inspekteer Gedeelde Items: Hook in NSExtensionContext - inputItems
om gedeelde datatipe en oorspronge te sien.
Identifisering van Uitbreidings: Ontdek watter uitbreidings jou data verwerk deur interne meganismes, soos NSXPCConnection
, te observeer.
Gereedskap soos frida-trace
kan help om die onderliggende prosesse te verstaan, veral vir diegene wat belangstel in die tegniese besonderhede van inter-proses kommunikasie.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)