iOS App Extensions
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
App extensions huongeza kazi za programu kwa kuruhusu kuingiliana na programu nyingine au mfumo, kutoa vipengele au maudhui maalum. Extensions hizi zinajumuisha:
Custom Keyboard: Inatoa kibodi ya kipekee katika programu zote, ikibadilisha kibodi ya kawaida ya iOS.
Share: Inaruhusu kushiriki kwenye mitandao ya kijamii au na wengine moja kwa moja.
Today (Widgets): Inatoa maudhui au inatekeleza kazi haraka kutoka kwa mtazamo wa Leo wa Kituo cha Arifa.
Wakati mtumiaji anaposhiriki na extensions hizi, kama vile kushiriki maandiko kutoka kwa programu mwenyeji, extension inashughulikia ingizo hili ndani ya muktadha wake, ikitumia taarifa zilizoshirikiwa ili kutekeleza kazi yake, kama ilivyoelezwa katika nyaraka za Apple.
Mambo muhimu ya usalama ni pamoja na:
Extensions na programu zinazozishikilia zinawasiliana kupitia mawasiliano ya kati ya mchakato, si moja kwa moja.
Today widget ni ya kipekee kwa kuwa inaweza kuomba programu yake kufunguliwa kupitia njia maalum.
Upatikanaji wa data iliyoshirikiwa unaruhusiwa ndani ya kontena binafsi, lakini upatikanaji wa moja kwa moja umepigwa marufuku.
API fulani, ikiwa ni pamoja na HealthKit, haziruhusiwi kwa extensions za programu, ambazo pia cannot kuanzisha kazi zinazodumu kwa muda mrefu, kufikia kamera, au kipaza sauti, isipokuwa kwa extensions za iMessage.
Ili kupata extensions za programu katika msimbo wa chanzo, tafuta NSExtensionPointIdentifier
katika Xcode au angalia kifurushi cha programu kwa faili za .appex
zinazoashiria extensions. Bila msimbo wa chanzo, tumia grep au SSH kutafuta vitambulisho hivi ndani ya kifurushi cha programu.
Angalia faili ya Info.plist
ya extension kwa NSExtensionActivationRule
ili kubaini aina za data zinazoungwa mkono. Mpangilio huu unahakikisha kuwa aina za data zinazofaa pekee ndizo zinazochochea extension katika programu mwenyeji.
Kushiriki data kati ya programu na extension yake kunahitaji kontena lililoshirikiwa, lililowekwa kupitia "App Groups" na kufikiwa kupitia NSUserDefaults
. Nafasi hii iliyoshirikiwa ni muhimu kwa uhamishaji wa nyuma unaoanzishwa na extensions.
Programu zinaweza kupunguza aina fulani za extensions, hasa kibodi maalum, kuhakikisha usimamizi wa data nyeti unakidhi itifaki za usalama.
Uchambuzi wa dynamic unahusisha:
Inspecting Shared Items: Hook katika NSExtensionContext - inputItems
ili kuona aina za data zilizoshirikiwa na asili.
Identifying Extensions: Gundua ni extensions zipi zinazosindika data yako kwa kuangalia mifumo ya ndani, kama vile NSXPCConnection
.
Zana kama frida-trace
zinaweza kusaidia katika kuelewa michakato ya msingi, hasa kwa wale wanaovutiwa na maelezo ya kiufundi ya mawasiliano ya kati ya mchakato.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)