hacktricks/mobile-pentesting/ios-pentesting/ios-app-extensions.md
2024-02-11 02:07:06 +00:00

5.4 KiB

iOS App-uitbreidings

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

App-uitbreidings verbeter die funksionaliteit van programme deur hulle in staat te stel om met ander programme of die stelsel te kommunikeer en aangepaste funksies of inhoud te bied. Hierdie uitbreidings sluit in:

  • Aangepaste Sleutelbord: Bied 'n unieke sleutelbord in alle programme, wat die verstek iOS-sleutelbord vervang.
  • Deel: Maak dit moontlik om te deel na sosiale netwerke of direk met ander.
  • Vandag (Widgets): Lees inhoud of voer vinnige take uit vanuit die Vandag-aansig van die Kennisgewingsentrum.

Wanneer 'n gebruiker met hierdie uitbreidings interaksie aangaan, soos om teks van 'n gasheerprogram te deel, verwerk die uitbreiding hierdie inset binne sy konteks en maak gebruik van die gedeelde inligting om sy taak uit te voer, soos beskryf in Apple se dokumentasie.

Sekuriteits-oorwegings

Belangrike sekuriteitsaspekte sluit in:

  • Uitbreidings en hul bevatte programme kommunikeer via interproseskommunikasie, nie direk nie.
  • Die Vandag-widget is uniek in die sin dat dit sy program kan versoek om oop te maak deur middel van 'n spesifieke metode.
  • Gedeelde data-toegang word toegelaat binne 'n private houer, maar direkte toegang is beperk.
  • Sekere API's, insluitend HealthKit, is verbode vir app-uitbreidings, wat ook nie langdurige take kan begin nie, die kamera of mikrofoon kan gebruik nie, behalwe vir iMessage-uitbreidings nie.

Statische Analise

Identifisering van App-uitbreidings

Om app-uitbreidings in bronkode te vind, soek na 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 op te spoor.

Ondersteunde Data Tipes

Kyk na die Info.plist-lêer van 'n uitbreiding vir NSExtensionActivationRule om ondersteunde data tipes te identifiseer. Hierdie opset verseker dat slegs verenigbare data tipes die uitbreiding in gasheerprogramme aktiveer.

Data Deling

Data deling tussen 'n program en sy uitbreiding vereis 'n gedeelde houer wat opgestel word deur middel van "App Groups" en toegang verkry deur middel van NSUserDefaults. Hierdie gedeelde ruimte is noodsaaklik vir agtergrondoorplasings wat deur uitbreidings geïnisieer word.

Beperking van Uitbreidings

Apps kan sekere uitbreidingstipes beperk, veral aangepaste sleutelborde, om te verseker dat die hantering van sensitiewe data ooreenstem met sekuriteitsprotokolle.

Dinamiese Analise

Dinamiese analise behels:

  • Ondersoek van Gedeelde Items: Koppel aan NSExtensionContext - inputItems om gedeelde data tipes en oorsprong te sien.
  • Identifisering van Uitbreidings: Ontdek watter uitbreidings jou data verwerk deur interne meganismes, soos NSXPCConnection, waar te neem.

Hulpmiddels soos frida-trace kan help om die onderliggende prosesse te verstaan, veral vir diegene wat belangstel in die tegniese besonderhede van interproseskommunikasie.

Verwysings

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: