hacktricks/mobile-pentesting/ios-pentesting-checklist.md

135 lines
17 KiB
Markdown

# iOS Pentesting Checklist
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
आज ही एक्सेस प्राप्त करें:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}
### तैयारी
* [ ] [**iOS मूल बातें**](ios-pentesting/ios-basics.md) पढ़ें
* [ ] [**iOS परीक्षण वातावरण**](ios-pentesting/ios-testing-environment.md) पढ़कर अपना वातावरण तैयार करें
* [ ] [**iOS प्रारंभिक विश्लेषण**](ios-pentesting/#initial-analysis) के सभी अनुभाग पढ़ें ताकि iOS एप्लिकेशन का परीक्षण करने के लिए सामान्य क्रियाएँ सीख सकें
### डेटा संग्रहण
* [ ] [**Plist फ़ाइलें**](ios-pentesting/#plist) संवेदनशील जानकारी संग्रहीत करने के लिए उपयोग की जा सकती हैं।
* [ ] [**Core Data**](ios-pentesting/#core-data) (SQLite डेटाबेस) संवेदनशील जानकारी संग्रहीत कर सकता है।
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (SQLite डेटाबेस) संवेदनशील जानकारी संग्रहीत कर सकता है।
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) की गलत कॉन्फ़िगरेशन।
* [ ] [**Realm डेटाबेस**](ios-pentesting/#realm-databases) संवेदनशील जानकारी संग्रहीत कर सकता है।
* [ ] [**Couchbase Lite डेटाबेस**](ios-pentesting/#couchbase-lite-databases) संवेदनशील जानकारी संग्रहीत कर सकता है।
* [ ] [**बाइनरी कुकीज़**](ios-pentesting/#cookies) संवेदनशील जानकारी संग्रहीत कर सकती हैं
* [ ] [**कैश डेटा**](ios-pentesting/#cache) संवेदनशील जानकारी संग्रहीत कर सकता है
* [ ] [**स्वचालित स्नैपशॉट**](ios-pentesting/#snapshots) दृश्य संवेदनशील जानकारी को सहेज सकता है
* [ ] [**कीचेन**](ios-pentesting/#keychain) आमतौर पर संवेदनशील जानकारी संग्रहीत करने के लिए उपयोग किया जाता है जो फोन को फिर से बेचते समय छोड़ी जा सकती है।
* [ ] संक्षेप में, केवल **फाइल सिस्टम में एप्लिकेशन द्वारा सहेजी गई संवेदनशील जानकारी की जांच करें**
### कीबोर्ड
* [ ] क्या एप्लिकेशन [**कस्टम कीबोर्ड का उपयोग करने की अनुमति देता है**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] जांचें कि क्या संवेदनशील जानकारी [**कीबोर्ड कैश फ़ाइलों**](ios-pentesting/#custom-keyboards-keyboard-cache) में सहेजी गई है
### **लॉग्स**
* [ ] जांचें कि क्या [**संवेदनशील जानकारी लॉग की जा रही है**](ios-pentesting/#logs)
### बैकअप
* [ ] [**बैकअप**](ios-pentesting/#backups) का उपयोग **फाइल सिस्टम में सहेजी गई संवेदनशील जानकारी** तक पहुँचने के लिए किया जा सकता है (इस चेकलिस्ट के प्रारंभिक बिंदु की जांच करें)
* [ ] इसके अलावा, [**बैकअप**](ios-pentesting/#backups) का उपयोग **एप्लिकेशन की कुछ कॉन्फ़िगरेशन को संशोधित करने** के लिए किया जा सकता है, फिर **फोन पर बैकअप को पुनर्स्थापित करें**, और जैसे ही **संशोधित कॉन्फ़िगरेशन** **लोड** होती है, कुछ (सुरक्षा) **कार्यात्मकता** को **बायपास** किया जा सकता है
### **एप्लिकेशन मेमोरी**
* [ ] [**एप्लिकेशन की मेमोरी**](ios-pentesting/#testing-memory-for-sensitive-data) के अंदर संवेदनशील जानकारी की जांच करें
### **टूटे हुए क्रिप्टोग्राफी**
* [ ] जांचें कि क्या आप [**क्रिप्टोग्राफी के लिए उपयोग किए गए पासवर्ड**](ios-pentesting/#broken-cryptography) पा सकते हैं
* [ ] संवेदनशील डेटा भेजने/सहेजने के लिए [**पुराने/कमजोर एल्गोरिदम**](ios-pentesting/#broken-cryptography) के उपयोग की जांच करें
* [ ] [**क्रिप्टोग्राफी फ़ंक्शंस को हुक और मॉनिटर करें**](ios-pentesting/#broken-cryptography)
### **स्थानीय प्रमाणीकरण**
* [ ] यदि एप्लिकेशन में [**स्थानीय प्रमाणीकरण**](ios-pentesting/#local-authentication) का उपयोग किया गया है, तो आपको जांचना चाहिए कि प्रमाणीकरण कैसे काम कर रहा है।
* [ ] यदि यह [**स्थानीय प्रमाणीकरण ढांचे**](ios-pentesting/#local-authentication-framework) का उपयोग कर रहा है तो इसे आसानी से बायपास किया जा सकता है
* [ ] यदि यह [**ऐसी फ़ंक्शन का उपयोग कर रहा है जिसे गतिशील रूप से बायपास किया जा सकता है**](ios-pentesting/#local-authentication-using-keychain) तो आप एक कस्टम फ्रिडा स्क्रिप्ट बना सकते हैं
### IPC के माध्यम से संवेदनशील कार्यक्षमता का प्रदर्शन
* [**कस्टम URI हैंडलर / डीपलिंक्स / कस्टम स्कीम**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] जांचें कि क्या एप्लिकेशन **किसी प्रोटोकॉल/स्कीम को पंजीकृत कर रहा है**
* [ ] जांचें कि क्या एप्लिकेशन **किसी प्रोटोकॉल/स्कीम का उपयोग करने के लिए पंजीकृत है**
* [ ] जांचें कि क्या एप्लिकेशन **किसी प्रकार की संवेदनशील जानकारी प्राप्त करने की अपेक्षा करता है** जो कस्टम स्कीम से **इंटरसेप्ट** की जा सकती है जो उसी स्कीम को पंजीकृत करने वाले दूसरे एप्लिकेशन द्वारा
* [ ] जांचें कि क्या एप्लिकेशन **कस्टम स्कीम के माध्यम से उपयोगकर्ता इनपुट की जांच और स्वच्छता नहीं कर रहा है** और कुछ **कमजोरी का लाभ उठाया जा सकता है**
* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर करता है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है
* [**यूनिवर्सल लिंक**](ios-pentesting/#universal-links)
* [ ] जांचें कि क्या एप्लिकेशन **किसी यूनिवर्सल प्रोटोकॉल/स्कीम को पंजीकृत कर रहा है**
* [ ] `apple-app-site-association` फ़ाइल की जांच करें
* [ ] जांचें कि क्या एप्लिकेशन **कस्टम स्कीम के माध्यम से उपयोगकर्ता इनपुट की जांच और स्वच्छता नहीं कर रहा है** और कुछ **कमजोरी का लाभ उठाया जा सकता है**
* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर करता है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है
* [**UIActivity साझा करना**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] जांचें कि क्या एप्लिकेशन UIActivities प्राप्त कर सकता है और क्या इसे विशेष रूप से तैयार की गई गतिविधि के साथ किसी कमजोरी का लाभ उठाने के लिए संभव है
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] जांचें कि क्या एप्लिकेशन **सामान्य पेस्टबोर्ड में कुछ कॉपी कर रहा है**
* [ ] जांचें कि क्या एप्लिकेशन **सामान्य पेस्टबोर्ड से किसी चीज़ के लिए डेटा का उपयोग कर रहा है**
* [ ] देखें कि क्या कोई **संवेदनशील डेटा कॉपी किया गया है**
* [**ऐप एक्सटेंशन**](ios-pentesting/ios-app-extensions.md)
* [ ] क्या एप्लिकेशन **कोई एक्सटेंशन का उपयोग कर रहा है**?
* [**वेबव्यूज़**](ios-pentesting/ios-webviews.md)
* [ ] जांचें कि किस प्रकार के वेबव्यूज़ का उपयोग किया जा रहा है
* [ ] **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** की स्थिति की जांच करें
* [ ] जांचें कि क्या वेबव्यू **फाइल प्रोटोकॉल** के साथ **स्थानीय फ़ाइलों** तक पहुँच सकता है **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] जांचें कि क्या जावास्क्रिप्ट **स्थानीय** **विधियों** (`JSContext`, `postMessage`) तक पहुँच सकता है
### नेटवर्क संचार
* [ ] [**संचार के लिए MitM करें**](ios-pentesting/#network-communication) और वेब कमजोरियों की खोज करें।
* [ ] जांचें कि क्या [**प्रमाणपत्र का होस्टनाम**](ios-pentesting/#hostname-check) की जांच की गई है
* [ ] [**प्रमाणपत्र पिनिंग**](ios-pentesting/#certificate-pinning) की जांच/बायपास करें
### **विविध**
* [ ] [**स्वचालित पैचिंग/अपडेटिंग**](ios-pentesting/#hot-patching-enforced-updateing) तंत्र की जांच करें
* [ ] [**दुष्ट तृतीय पक्ष पुस्तकालयों**](ios-pentesting/#third-parties) की जांच करें
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
आज ही एक्सेस प्राप्त करें:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}