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:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSKRIPSIEPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud GitHub-opslagplekke.
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
- https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/
- https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSKRIPSIEPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud GitHub-opslagplekke.