Extracting Entitlements from Compiled Application
Reading time: 4 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Summary of the page https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extracting Entitlements and Mobile Provision Files
जब किसी ऐप के IPA या जेलब्रोकन डिवाइस पर इंस्टॉल किए गए ऐप के साथ काम कर रहे हों, तो सीधे .entitlements
फ़ाइलें या embedded.mobileprovision
फ़ाइल खोजना संभव नहीं हो सकता। हालाँकि, ऐप बाइनरी से एंटाइटलमेंट प्रॉपर्टी लिस्ट को अभी भी निकाला जा सकता है, "iOS Basic Security Testing" अध्याय में वर्णित प्रक्रियाओं का पालन करते हुए, विशेष रूप से "Acquiring the App Binary" अनुभाग।
एन्क्रिप्टेड बाइनरी के साथ भी, इन फ़ाइलों को निकालने के लिए कुछ कदम उठाए जा सकते हैं। यदि ये कदम विफल होते हैं, तो Clutch (यदि iOS संस्करण के साथ संगत हो), frida-ios-dump, या समान उपयोगिताओं की आवश्यकता हो सकती है ऐप को डिक्रिप्ट और निकालने के लिए।
Extracting the Entitlements Plist from the App Binary
जब ऐप बाइनरी कंप्यूटर पर उपलब्ध हो, तो binwalk का उपयोग सभी XML फ़ाइलों को निकालने के लिए किया जा सकता है। नीचे दिए गए कमांड से ऐसा करने का तरीका दर्शाया गया है:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
वैकल्पिक रूप से, radare2 का उपयोग एक कमांड को चुपचाप चलाने और बाहर निकलने के लिए किया जा सकता है, ऐप बाइनरी में "PropertyList" वाले सभी स्ट्रिंग्स की खोज करते हुए:
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
दोनों विधियाँ, binwalk और radare2, plist
फ़ाइलों को निकालने की अनुमति देती हैं, जिसमें पहले वाले (0x0015d2a4) की जांच करने पर Telegram से मूल अधिकार फ़ाइल की सफल पुनर्प्राप्ति का पता चलता है।
जेलब्रोकन उपकरणों पर पहुँचे गए ऐप बाइनरी के लिए (जैसे, SSH के माध्यम से), grep कमांड के साथ -a, --text
ध्वज का उपयोग सभी फ़ाइलों को ASCII पाठ के रूप में मानने के लिए किया जा सकता है:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
-A num, --after-context=num
ध्वज को समायोजित करने से अधिक या कम पंक्तियों को प्रदर्शित करने की अनुमति मिलती है। यह विधि एन्क्रिप्टेड ऐप बाइनरी के लिए भी व्यवहार्य है और इसे कई ऐप स्टोर ऐप्स के खिलाफ सत्यापित किया गया है। पहले उल्लेखित उपकरणों का उपयोग जेलब्रोकन iOS उपकरणों पर समान उद्देश्यों के लिए भी किया जा सकता है।
नोट: इस कार्य के लिए strings
कमांड का प्रत्यक्ष उपयोग इसकी सीमाओं के कारण अनुशंसित नहीं है। इसके बजाय, बाइनरी पर -a
ध्वज के साथ grep का उपयोग करना या अधिक प्रभावी परिणामों के लिए radare2 (izz
)/rabin2 (-zz
) का उपयोग करना उचित है।
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।