iOS App Extensions

Reading time: 3 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

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, en benut die gedeelde inligting om sy taak uit te voer, soos in Apple se dokumentasie uiteengesit.

Sekuriteits oorwegings

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 buite bereik vir app uitbreidings, wat ook nie langlopende take kan begin, toegang tot die kamera of mikrofoon kan verkry nie, behalwe vir iMessage uitbreidings.

Statiese Analise

Identifisering van App 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 lokaliseer.

Gesteunde Data Tipes

Kontroleer die Info.plist lêer van 'n uitbreiding vir NSExtensionActivationRule om gesteunde data tipes te identifiseer. Hierdie opstelling verseker dat slegs kompatible data tipes die uitbreiding in gasheer toepassings aktiveer.

Data Deel

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.

Beperking van Uitbreidings

Toepassings kan sekere tipe uitbreidings beperk, veral pasgemaakte sleutelborde, om te verseker dat sensitiewe data hanteer volgens sekuriteitsprotokolle.

Dinamiese Analise

Dinamiese analise behels:

  • Inspekteer Gedeelde Items: Haak in by NSExtensionContext - inputItems om gedeelde data tipes 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.

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks