iOS Extracting Entitlements From Compiled Application
पृष्ठ का सारांश https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
अधिकारों और मोबाइल प्रोविजन फ़ाइलों को निकालना
जब एक ऐप के IPA या जेलब्रोकन डिवाइस पर स्थापित ऐप के साथ काम किया जा रहा हो, .entitlements
फ़ाइलें या embedded.mobileprovision
फ़ाइल सीधे प्राप्त करना संभव नहीं हो सकता। हालांकि, अधिकारों संपत्ति सूची अब भी ऐप बाइनरी से निकाली जा सकती है, "iOS मूलभूत सुरक्षा परीक्षण" अध्याय में उल्लिखित प्रक्रियाओं का पालन करके, विशेष रूप से "ऐप बाइनरी प्राप्त करना" अनुभाग में।
एन्क्रिप्टेड बाइनरी के साथ भी, कुछ कदम इन फ़ाइलों को निकालने के लिए लागू किए जा सकते हैं। यदि ये कदम विफल हो जाएं, तो Clutch (यदि iOS संस्करण के साथ संगत हो), frida-ios-dump, या समान उपयोगी सुविधाएँ ऐप को डिक्रिप्ट और निकालने के लिए आवश्यक हो सकती हैं।
ऐप बाइनरी से अधिकारों प्लिस्ट निकालना
कंप्यूटर पर एप्लिकेशन बाइनरी तक पहुंचने पर, binwalk का उपयोग सभी XML फ़ाइलों को निकालने के लिए किया जा सकता है। नीचे दिए गए कमांड दिखाता है कि ऐसा कैसे किया जा सकता है:
विकल्प से, radare2 का उपयोग करके एक कमांड को शांत रूप से चलाया जा सकता है और बाहर निकला जा सकता है, ऐप बाइनरी में "PropertyList" शब्द वाली सभी स्ट्रिंग्स की खोज की जा सकती है:
Dono tarike, binwalk aur radare2, plist
files ka extraction possible bana dete hain, pehle wale ka (0x0015d2a4) janch ek safal recovery dikhata hai Telegram se original entitlements file.
Jailbroken devices par access ki gayi app binaries ke liye (SSH ke zariye), grep command ka istemal -a, --text
flag ke sath ASCII text ke roop mein sabhi files ko treat karne ke liye kiya ja sakta hai:
संख्या को बढ़ाने या कम करने के लिए -A num, --after-context=num
फ्लैग को समायोजित करना अधिक या कम पंक्तियों को प्रदर्शित करने की अनुमति देता है। यह विधि एन्क्रिप्टेड ऐप बाइनरी के लिए भी व्यावहारिक है और इसे कई एप्लिकेशन स्टोर ऐप्स के खिलाफ सत्यापित किया गया है। पहले उल्लिखित उपकरणों का उपयोग जेलब्रोकन iOS उपकरणों पर भी समान उद्देश्यों के लिए किया जा सकता है।
ध्यान दें: इस कार्य के लिए strings
कमांड का सीधा उपयोग सिफारिश नहीं किया जाता है क्योंकि यह संबंधित जानकारी खोजने में अपर्याप्त है। इसके बजाय, बाइनरी पर grep का उपयोग करना या radare2 (izz
)/rabin2 (-zz
) का उपयोग करना अधिक प्रभावी परिणामों के लिए अनुशंसित है।
Last updated