iOS App Extensions

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

ऐप एक्सटेंशन्स ऐप्स की क्षमताओं को बढ़ाते हैं जिन्हें अन्य ऐप्स या सिस्टम के साथ इंटरैक्ट करने की अनुमति देते हैं, विशेष सुविधाएं या सामग्री प्रदान करते हैं। ये एक्सटेंशन्स निम्नलिखित होते हैं:

  • कस्टम कीबोर्ड: सभी ऐप्स में एक अद्वितीय कीबोर्ड प्रदान करता है, जो डिफ़ॉल्ट iOS कीबोर्ड को बदल देता है।

  • शेयर: सोशल नेटवर्क्स या दूसरों के साथ साझा करने की सुविधा प्रदान करता है।

  • टुडे (विजेट्स): नोटिफिकेशन सेंटर के टुडे व्यू से त्वरित रूप से सामग्री प्रदान करता है या कार्य संपादित करता है।

जब एक उपयोगकर्ता इन एक्सटेंशन्स के साथ संलग्न होता है, जैसे किसी मुख्य ऐप से पाठ साझा करना, तो एक्सटेंशन इस इनपुट को अपने संदर्भ में प्रसंस्करण करता है, साझा जानकारी का उपयोग करके अपना कार्य पूरा करने के लिए, जैसा कि Apple की दस्तावेज़ में विस्तार से वर्णित है।

सुरक्षा विचार

मुख्य सुरक्षा पहलू शामिल हैं:

  • एक्सटेंशन्स और उनके संग्रहित ऐप्स अंतर-प्रक्रिया संचार के माध्यम से संवाद करते हैं, सीधे नहीं।

  • टुडे विजेट अपने ऐप से एक विशेष विधि के माध्यम से अपने ऐप को खोलने का अनुरोध कर सकता है।

  • साझा डेटा एक निजी संग्रहण में अधिकृत है, लेकिन सीधा पहुंच प्रतिबंधित है।

  • कुछ एपीआई, जैसे HealthKit, ऐप एक्सटेंशन्स के लिए अनुमति नहीं हैं, जो लंबे समय तक चलने वाले कार्यों को आरंभ नहीं कर सकते, कैमरा या माइक्रोफोन तक पहुंच नहीं हो सकती, केवल iMessage एक्सटेंशन्स के लिए।

स्थिर विश्लेषण

ऐप एक्सटेंशन्स की पहचान करना

स्रोत कोड में एप्लिकेशन एक्सटेंशन्स को खोजने के लिए Xcode में NSExtensionPointIdentifier खोजें या एप्लिकेशन बंडल को जांचें .appex फ़ाइलें जो एक्सटेंशन्स की सूचित करती हैं। स्रोत कोड के बिना, एप्लिकेशन बंडल के भीतर इन पहचानकर्ताओं को खोजने के लिए grep या SSH का उपयोग करें।

समर्थित डेटा प्रकार

एक एक्सटेंशन के Info.plist फ़ाइल की जाँच करें NSExtensionActivationRule के लिए समर्थित डेटा प्रकारों की पहचान करने के लिए। यह सेटअप सुनिश्चित करता है कि केवल संग्रहीत डेटा प्रकारों को मुख्य ऐप्स में एक्सटेंशन ट्रिगर करते हैं।

डेटा साझा करना

एक ऐप और उसके एक्सटेंशन के बीच डेटा साझा करने के लिए एक साझा संग्रहण आवश्यक है, जिसे "ऐप समूह" के माध्यम से सेटअप किया गया है और NSUserDefaults के माध्यम से पहुंचा जाता है। यह साझा स्थान एक्सटेंशन्स द्वारा प्रारंभ किए गए पृष्ठांतरणों के लिए आवश्यक है।

एक्सटेंशनों की प्रतिबंधित करना

ऐप्स किसी विशेष एक्सटेंशन प्रकारों को प्रतिबंधित कर सकते हैं, विशेषकर कस्टम कीबोर्ड्स, सुनिश्चित करते हुए कि संवेदनशील डेटा हैंडलिंग सुरक्षा प्रोटोकॉल के साथ मेल खाती है।

गतिशील विश्लेषण

गतिशील विश्लेषण में शामिल हैं:

  • साझा आइटमों की जाँच: NSExtensionContext - inputItems में हुक करें ताकि साझा डेटा प्रकार और मूल्यों को देख सकें।

  • एक्सटेंशन्स की पहचान करना: NSXPCConnection जैसे आंतरिक तंत्रों को देखकर जानें कि आपके डेटा को कौन-कौन प्रक्रिया करती हैं।

frida-trace जैसे उपकरण अंतर-प्रक्रिया संचार के तकनीकी विवरणों में रुचि रखने वालों के लिए मूल प्रक्रियाओं को समझने में मदद कर सकते हैं।

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated