hacktricks/mobile-pentesting/ios-pentesting/ios-app-extensions.md

10 KiB

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 का समर्थन करने के अन्य तरीके: