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)
ऐप एक्सटेंशन ऐप्स की कार्यक्षमता को बढ़ाते हैं, जिससे उन्हें अन्य ऐप्स या सिस्टम के साथ इंटरैक्ट करने की अनुमति मिलती है, कस्टम सुविधाएँ या सामग्री प्रदान करते हैं। इन एक्सटेंशनों में शामिल हैं:
कस्टम कीबोर्ड: सभी ऐप्स में एक अद्वितीय कीबोर्ड प्रदान करता है, जो डिफ़ॉल्ट iOS कीबोर्ड को बदलता है।
शेयर: सामाजिक नेटवर्क या दूसरों के साथ सीधे साझा करने की अनुमति देता है।
आज (विजेट): नोटिफिकेशन सेंटर के आज दृश्य से जल्दी से सामग्री प्रदान करता है या कार्य करता है।
जब एक उपयोगकर्ता इन एक्सटेंशनों के साथ संलग्न होता है, जैसे कि एक होस्ट ऐप से पाठ साझा करना, तो एक्सटेंशन इस इनपुट को अपने संदर्भ में संसाधित करता है, साझा की गई जानकारी का उपयोग करके अपना कार्य करता है, जैसा कि एप्पल के दस्तावेज़ में विस्तृत किया गया है।
मुख्य सुरक्षा पहलुओं में शामिल हैं:
एक्सटेंशन और उनके समाहित ऐप्स इंटर-प्रोसेस संचार के माध्यम से संवाद करते हैं, सीधे नहीं।
आज विजेट अद्वितीय है क्योंकि यह एक विशिष्ट विधि के माध्यम से अपने ऐप को खोलने का अनुरोध कर सकता है।
साझा डेटा तक पहुँच एक निजी कंटेनर के भीतर अनुमति है, लेकिन सीधी पहुँच प्रतिबंधित है।
कुछ APIs, जैसे कि HealthKit, ऐप एक्सटेंशनों के लिए बंद हैं, जो लंबे समय तक चलने वाले कार्यों को शुरू नहीं कर सकते, कैमरा या माइक्रोफोन तक पहुँच नहीं कर सकते, सिवाय iMessage एक्सटेंशनों के।
स्रोत कोड में ऐप एक्सटेंशनों को खोजने के लिए, Xcode में NSExtensionPointIdentifier
के लिए खोजें या एक्सटेंशन को इंगित करने वाले .appex
फ़ाइलों के लिए ऐप बंडल का निरीक्षण करें। बिना स्रोत कोड के, grep या SSH का उपयोग करके ऐप बंडल के भीतर इन पहचानकर्ताओं को खोजें।
समर्थित डेटा प्रकारों की पहचान के लिए एक्सटेंशन के Info.plist
फ़ाइल में NSExtensionActivationRule
की जाँच करें। यह सेटअप सुनिश्चित करता है कि केवल संगत डेटा प्रकार होस्ट ऐप्स में एक्सटेंशन को सक्रिय करते हैं।
एक ऐप और उसके एक्सटेंशन के बीच डेटा साझा करने के लिए एक साझा कंटेनर की आवश्यकता होती है, जिसे "ऐप समूहों" के माध्यम से सेट किया जाता है और NSUserDefaults
के माध्यम से पहुँचा जाता है। यह साझा स्थान एक्सटेंशनों द्वारा शुरू किए गए बैकग्राउंड ट्रांसफर के लिए आवश्यक है।
ऐप्स कुछ एक्सटेंशन प्रकारों, विशेष रूप से कस्टम कीबोर्ड, को प्रतिबंधित कर सकते हैं, यह सुनिश्चित करते हुए कि संवेदनशील डेटा हैंडलिंग सुरक्षा प्रोटोकॉल के साथ मेल खाती है।
गतिशील विश्लेषण में शामिल हैं:
साझा आइटमों का निरीक्षण करना: साझा डेटा प्रकारों और मूलों को देखने के लिए NSExtensionContext - inputItems
में हुक करें।
एक्सटेंशनों की पहचान करना: आंतरिक तंत्र, जैसे NSXPCConnection
को देख कर यह पता करें कि कौन से एक्सटेंशन आपके डेटा को संसाधित करते हैं।
frida-trace
जैसे उपकरण अंतर्निहित प्रक्रियाओं को समझने में मदद कर सकते हैं, विशेष रूप से उन लोगों के लिए जो इंटर-प्रोसेस संचार के तकनीकी विवरण में रुचि रखते हैं।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)