iOS Pentesting बिना Jailbreak के
Reading time: 5 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
मुख्य विचार
ऐप्लिकेशन जो entitlement get_task_allow
के साथ साइन किए गए हैं, तीसरे पक्ष के ऐप्लिकेशनों को task_for_pid()
नामक एक फ़ंक्शन को प्रारंभिक ऐप्लिकेशन के प्रक्रिया आईडी के साथ तर्क के रूप में चलाने की अनुमति देते हैं ताकि उस पर कार्य पोर्ट प्राप्त किया जा सके (इसे नियंत्रित करने और इसकी मेमोरी तक पहुंचने में सक्षम होना)।
हालांकि, यह केवल IPA को खींचने, इसे entitlement के साथ फिर से साइन करने और इसे अपने डिवाइस पर फ्लैश करने जितना आसान नहीं है। इसका कारण FairPlay सुरक्षा है। जब ऐप का सिग्नेचर बदलता है, तो DRM (Digital Rights Management) कुंजी अमान्य हो जाती है और ऐप काम नहीं करेगा।
एक पुराने जेलब्रोकन डिवाइस के साथ, IPA को स्थापित करना संभव है, इसे अपने पसंदीदा टूल का उपयोग करके डिक्रिप्ट करना (जैसे Iridium या frida-ios-dump), और इसे डिवाइस से वापस खींचना। हालांकि, यदि संभव हो, तो डिक्रिप्टेड IPA के लिए क्लाइंट से ही पूछना बेहतर है।
डिक्रिप्टेड IPA प्राप्त करें
इसे Apple से प्राप्त करें
- iPhone में pentest करने के लिए ऐप इंस्टॉल करें
- अपने macos में Apple Configurator इंस्टॉल और लॉन्च करें
- अपने Mac पर
Terminal
खोलें, और/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
में cd करें। IPA बाद में इस फ़ोल्डर में दिखाई देगा। - आपको अपना iOS डिवाइस दिखाई देना चाहिए। उस पर डबल-क्लिक करें, और फिर शीर्ष मेनू बार से Add + → Apps पर क्लिक करें।
- Add पर क्लिक करने के बाद, Configurator Apple से IPA डाउनलोड करेगा, और इसे आपके डिवाइस पर पुश करने का प्रयास करेगा। यदि आपने पहले मेरी सिफारिश का पालन किया और IPA पहले से ही इंस्टॉल किया है, तो ऐप को फिर से इंस्टॉल करने के लिए एक प्रॉम्प्ट दिखाई देगा।
- IPA को
/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
के अंदर डाउनलोड किया जाना चाहिए, जहाँ से आप इसे प्राप्त कर सकते हैं।
इस प्रक्रिया के बारे में अधिक विस्तृत जानकारी के लिए https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed देखें।
ऐप को डिक्रिप्ट करना
IPA को डिक्रिप्ट करने के लिए हम इसे इंस्टॉल करने जा रहे हैं। हालाँकि, यदि आपके पास एक पुराना जेलब्रोकन iPhone है, तो संभावित रूप से इसका संस्करण ऐप द्वारा समर्थित नहीं होगा क्योंकि आमतौर पर ऐप्स केवल नवीनतम संस्करणों का समर्थन करते हैं।
तो, इसे इंस्टॉल करने के लिए, बस IPA को अनज़िप करें:
unzip redacted.ipa -d unzipped
Info.plist
में न्यूनतम समर्थित संस्करण के लिए जांचें और यदि आपका डिवाइस उससे पुराना है, तो मान को बदलें ताकि यह समर्थित हो सके।
IPA को फिर से ज़िप करें:
cd unzipped
zip -r ../no-min-version.ipa *
फिर, उदाहरण के लिए IPA स्थापित करें:
ideviceinstaller -i no-min-version.ipa -w
ध्यान दें कि आपको किसी भी invalid signature
त्रुटियों को रोकने के लिए Cydia से AppSync Unified tweak की आवश्यकता हो सकती है।
एक बार स्थापित होने के बाद, आप Cydia से Iridium tweak का उपयोग करके डिक्रिप्टेड IPA प्राप्त कर सकते हैं।
पैच अधिकार और फिर से साइन करें
get-task-allow
अधिकार के साथ एप्लिकेशन को फिर से साइन करने के लिए कई उपकरण उपलब्ध हैं जैसे app-signer
, codesign
, और iResign
। app-signer
का एक बहुत उपयोगकर्ता-अनुकूल इंटरफ़ेस है जो एक IPA फ़ाइल को फिर से साइन करने की अनुमति देता है, जिसमें फिर से साइन करने के लिए IPA, get-taks-allow
डालने और उपयोग करने के लिए प्रमाणपत्र और प्रोविजनिंग प्रोफ़ाइल को इंगित करना शामिल है।
प्रमाणपत्र और साइनिंग प्रोफाइल के संबंध में, Apple सभी खातों के लिए Xcode के माध्यम से मुफ्त डेवलपर साइनिंग प्रोफाइल प्रदान करता है। बस एक ऐप बनाएं और एक कॉन्फ़िगर करें। फिर, Settings
→ Privacy & Security
पर जाकर iPhone को डेवलपर ऐप्स पर भरोसा करने के लिए कॉन्फ़िगर करें और Developer Mode
पर क्लिक करें।
फिर से साइन की गई IPA के साथ, इसे डिवाइस में स्थापित करने का समय है ताकि इसे पेंटेस्ट किया जा सके:
ideviceinstaller -i resigned.ipa -w
Hook
आप आसानी से अपने ऐप को सामान्य उपकरणों जैसे frida और objection का उपयोग करके हुक कर सकते हैं:
objection -g [your app bundle ID] explore
संदर्भ
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।