hacktricks/mobile-pentesting/android-app-pentesting
2024-02-23 17:48:00 +00:00
..
drozer-tutorial Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
frida-tutorial Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 15:39:20 +00:00
adb-commands.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
android-applications-basics.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
android-task-hijacking.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
apk-decompilers.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
avd-android-virtual-device.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
bypass-biometric-authentication-android.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
content-protocol.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
exploiting-a-debuggeable-applciation.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
google-ctf-2018-shall-we-play-a-game.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
inspeckage-tutorial.md Translated ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +00:00
install-burp-certificate.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 17:48:00 +00:00
intent-injection.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
make-apk-accept-ca-certificate.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
manual-deobfuscation.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
react-native-application.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
README.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 17:48:00 +00:00
reversing-native-libraries.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
smali-changes.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
spoofing-your-location-in-play-store.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
tapjacking.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00
webview-attacks.md Translated ['forensics/basic-forensic-methodology/README.md', 'forensics 2024-02-09 02:46:55 +00:00

एंड्रॉयड एप्लिकेशन्स पेंटेस्टिंग

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!

हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें

रियल-टाइम हैक न्यूज़
तेजी से बदलती हैकिंग दुनिया के साथ अप-टू-डेट रहें रियल-टाइम न्यूज़ और इंसाइट्स के माध्यम से

नवीनतम घोषणाएं
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफॉर्म अपडेट के साथ सूचित रहें

हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!

एंड्रॉयड एप्लिकेशन्स मूलभूत

यह सर्वाधिक महत्वपूर्ण भागों के बारे में जानने के लिए इस पृष्ठ को पढ़ना अत्यंत अनुशंसित है जो एंड्रॉयड सुरक्षा से संबंधित है और एंड्रॉयड एप्लिकेशन में सबसे खतरनाक घटकों के बारे में जानने के लिए:

{% content-ref url="android-applications-basics.md" %} android-applications-basics.md {% endcontent-ref %}

ADB (एंड्रॉयड डीबग ब्रिज)

यह मुख्य उपकरण है जिसकी आपको एंड्रॉयड डिवाइस (एम्युलेटेड या फिजिकल) से कनेक्ट करने की आवश्यकता है।
ADB कंप्यूटर से उपकरणों को या USB या नेटवर्क के माध्यम से नियंत्रित करने की अनुमति देता है। यह उपयोगिता फ़ाइलों की प्रति दिशा में कॉपी, ऐप्स की स्थापना और अनइंस्टॉलेशन, शैल कमांड्स का निष्पादन, डेटा का बैकअप, लॉग पढ़ना, आदि की संभावनाएं सक्षम करती है।

ADB कैसे उपयोग करना है इसे सीखने के लिए निम्नलिखित ADB Commands की सूची पर नजर डालें।

Smali

कभी-कभी एप्लिकेशन कोड को संशोधित करना दिलचस्प हो सकता है ताकि छिपी जानकारी तक पहुंचा जा सके (शायद अच्छी तरह से ओबफ़स्केटेड पासवर्ड या फ़्लैग्स)। फिर, APK को डिकॉम्पाइल करना, कोड को संशोधित करना और उसे पुनः कंपाइल करना दिलचस्प हो सकता है।
इस ट्यूटोरियल में आप सीख सकते हैं कि APK को डिकॉम्पाइल कैसे करें, Smali कोड को संशोधित करें और APK को पुनः कंपाइल करें नई फ़ंक्शनैलिटी के साथ। यह बहुत उपयोगी हो सकता है एक विकल्प के रूप में कई टेस्टों के दौरान जो डायनामिक विश्लेषण के दौरान प्रस्तुत किए जाएंगे। तो, हमेशा इस संभावना को ध्यान में रखें

अन्य दिलचस्प ट्रिक्स

adb shell pm list packages
com.android.insecurebankv2

adb shell pm path com.android.insecurebankv2
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk

adb pull /data/app/com.android.insecurebankv2- Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk

स्थैतिक विश्लेषण

सबसे पहले, APK का विश्लेषण करने के लिए आपको डिकंपाइलर का उपयोग करके जावा कोड की जांच करनी चाहिए। कृपया, यहां क्लिक करें ताकि विभिन्न उपलब्ध डिकंपाइलर के बारे में जानकारी प्राप्त करें

दिलचस्प जानकारी खोजना

APK की स्ट्रिंग्स को देखकर आप पासवर्ड, URLs (https://github.com/ndelphit/apkurlgrep), API कुंजी, एन्क्रिप्शन, ब्लूटूथ UUIDs, टोकन्स और कुछ भी दिलचस्प खोज सकते हैं... यहां तक कि कोड निष्क्रियीकरण बैकडोर्स या प्रमाणीकरण बैकडोर्स (ऐप में हार्डकोड व्यवस्थापक क्रेडेंशियल्स) के लिए भी देखें।

Firebase

Firebase URLs पर विशेष ध्यान दें और यह देखें कि क्या यह गलती से कॉन्फ़िगर किया गया है। इसके बारे में अधिक जानकारी यहां प्राप्त करें कि FIrebase क्या है और इसे कैसे शोषित किया जा सकता है।

एप्लिकेशन की मूलभूत समझ - Manifest.xml, strings.xml

एक एप्लिकेशन के Manifest.xml और strings.xml फ़ाइलों की जांच संभावित सुरक्षा दोषों को प्रकट कर सकती है। इन फ़ाइलों तक पहुंचा जा सकता है डिकंपाइलर का उपयोग करके या APK फ़ाइल का एक्सटेंशन .zip में रिनेम करके और फिर इसे अनज़िप करके।

Manifest.xml से पहचाने गए दोष शामिल हैं:

  • Debuggable एप्लिकेशन: Manifest.xml फ़ाइल में debuggable (debuggable="true") के रूप में सेट की गई एप्लिकेशन एक जोखिम उत्पन्न करती है क्योंकि ये कनेक्शन की अनुमति देती है जो शोषण तक ले जा सकती है। Debuggable एप्लिकेशनों को शोषित कैसे किया जाए, इसके बारे में और अधिक समझने के लिए, उपकरण पर debuggable एप्लिकेशन को खोजने और शोषित करने के लिए एक ट्यूटोरियल पर संदर्भित करें।
  • बैकअप सेटिंग्स: android:allowBackup="false" विशेषता को अनधिकृत डेटा बैकअप को रोकने के लिए स्पष्ट रूप से सेट किया जाना चाहिए, विशेषकर जब USB डीबगिंग सक्षम हो।
  • नेटवर्क सुरक्षा: res/xml/ में कस्टम नेटवर्क सुरक्षा कॉन्फ़िगरेशन (android:networkSecurityConfig="@xml/network_security_config") सर्टिफिकेट पिन और HTTP ट्रैफ़िक सेटिंग्स जैसी सुरक्षा विवरणों को निर्दिष्ट कर सकती हैं। एक उदाहरण है किसी विशेष डोमेन के लिए HTTP ट्रैफ़िक की अनुमति देना।
  • निर्यातित गतिविधाएं और सेवाएं: मैनिफेस्ट में निर्यातित गतिविधाएं और सेवाएं पहचानना उन घटकों को प्रकट कर सकता है जो गलत तरीके से उपयोग किए जा सकते हैं। डायनामिक परीक्षण के दौरान अधिक विश्लेषण करने से यह प्रकट हो सकता है कि इन घटकों का शोषण कैसे किया जा सकता है।
  • कंटेंट प्रोवाइडर्स और फ़ाइल प्रदाताएं: उजागर कंटेंट प्रोवाइडर्स अनधिकृत पहुंच या डेटा की संशोधन की अनुमति देने सकते हैं। फ़ाइल प्रदाताओं की विन्यास की भी जांच की जानी चाहिए।
  • ब्रॉडकास्ट रिसीवर्स और URL स्कीम्स: ये घटक शोषण के लिए उपयोग किए जा सकते हैं, खासकर URL स्कीम्स को कैसे प्रबंधित किया जाता है उस पर ध्यान देना चाहिए जिससे इनपुट दोषों को प्रकट किया जा सकता है।
  • SDK संस्करण: minSdkVersion, targetSDKVersion, और maxSdkVersion विशेषताएँ समर्थित Android संस्करणों को दर्शाती हैं, जो सुरक्षा कारणों से पुराने, जोखिमपूर्ण Android संस्करणों का समर्थन न करने की महत्वपूर्णता को प्रकट करती है।

strings.xml फ़ाइल से, API कुंजी, कस्टम स्कीमा, और अन्य डेवलपर नोट्स जैसी संवेदनशील जानकारी प्राप्त की जा सकती है, जिससे इन संसाधनों का सावधानी से समीक्षा करने की आवश्यकता है।

टैपजैकिंग

टैपजैकिंग एक हमला है जहां एक दुर्भाग्यपूर्ण एप्लिकेशन शिकार एप्लिकेशन के ऊपर लॉन्च किया जाता है और जब यह शिकार एप्लिकेशन को दिखाई देता है, तो इसके उपयोगकर्ता इंटरफ़ेस को ऐसे डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ बातचीत करने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के लिए धोखा देने के

SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

टूल्स और तकनीक

इसे टेस्ट करने का एक अच्छा तरीका है कि डिवाइस के अंदर Burp CA को अधिकृत किए बिना कुछ प्रॉक्सी जैसे Burp का उपयोग करके ट्रैफिक को कैप्चर करने की कोशिश करें। इसके अलावा, आप Burp के साथ एक विभिन्न होस्टनाम के लिए प्रमाणपत्र उत्पन्न कर सकते हैं और उसका उपयोग कर सकते हैं।

टूटी हुई गुप्तांकन

कमजोर की प्रबंधन प्रक्रियाएं

कुछ डेवलपर संवेदनशील डेटा को स्थानीय संग्रहण में सहेजते हैं और इसे कोड में हार्डकोड/पूर्वानुमाननीय कुंजी के साथ एन्क्रिप्ट करते हैं। यह किया नहीं जाना चाहिए क्योंकि कुछ रिवर्सिंग आक्रमणकारियों को गोपनीय जानकारी निकालने की अनुमति देती है।

असुरक्षित और/या पुराने एल्गोरिदम का उपयोग

डेवलपरों को पुराने एल्गोरिदम का उपयोग नहीं करना चाहिए जो प्रमाणीकरण जांचें, संग्रहण या भेजें डेटा करने के लिए। कुछ इन एल्गोरिदमों में शामिल हैं: RC4, MD4, MD5, SHA1... उदाहरण के लिए पासवर्ड संग्रहण के लिए यदि हैश का उपयोग किया जाता है, तो नमक के साथ हैश ब्रूट-फोर्स प्रतिरोधी का उपयोग किया जाना चाहिए।

अन्य जांचें

  • APK को अवबफस्केट करना सुझावित है ताकि हैकर्स को पलटने वाले श्रम को कठिन बनाया जा सके।
  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह यह जांचना चाहिए कि क्या मोबाइल रूट किया गया है और उसके अनुसार कार्रवाई करनी चाहिए।
  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह जांचना चाहिए कि क्या एक एम्युलेटर का उपयोग हो रहा है।
  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह जांचना चाहिए कि यह अपनी अखंडता की जांच करें पहले इसे क्रियान्वित करने से पहले देखने के लिए कि क्या यह संशोधित किया गया था।
  • APK बनाने के लिए कौन सा कंपाइलर/पैकर/अवबफस्केटर उपयोग किया गया था यह जांचने के लिए APKiD का उपयोग करें।

एक भौतिक उपकरण का उपयोग करें

आपको डीबगिंग विकल्पों को सक्रिय करने की आवश्यकता है और यह अच्छा होगा अगर आप इसे रूट कर सकते हैं:

  1. सेटिंग्स
  2. (FromAndroid 8.0) सिस्टम का चयन करें।
  3. फोन के बारे में का चयन करें।
  4. बिल्ड नंबर 7 बार दबाएं।
  5. वापस जाएं और आपको डेवलपर विकल्प मिलेगा।

जब आप एप्लिकेशन को इंस्टॉल कर लेते हैं, तो पहली चीज जो आपको करनी चाहिए वह यह है कि इसे आजमाएं और जांचें कि यह क्या करता है, यह कैसे काम करता है और इसके साथ आराम करें।
मैं इस प्रारंभिक गतिशील विश्लेषण को MobSF गतिशील विश्लेषण + pidcat का उपयोग करके करने की सिफारिश करूंगा, ताकि हम एप्लिकेशन कैसे काम करता है सीख सकें जबकि MobSF बहुत सारे दिलचस्प डेटा को जोड़ता है जिसे आप बाद में समीक्षा कर सकते हैं।

अनजान डेटा लीकेज

लॉगिंग

डेवलपरों को सावधान रहना चाहिए कि डीबगिंग जानकारी को सार्वजनिक रूप से उजागर करने से संवेदनशील डेटा लीक हो सकता है। उपकरण pidcat और adb logcat को सुझाव दिया जाता है एप्लिकेशन लॉग को मॉनिटर करने के लिए संवेदनशील जानकारी की पहचान और सुरक्षित रखने के लिए। Pidcat को उपयोग करने के लिए इसकी उपयोगिता और पठनीयता के लिए पसंद किया जाता है।

{% hint style="warning" %} ध्यान दें कि बाद में Android 4.0 से, एप्लिकेशन केवल अपने खुद के लॉग तक पहुंच सकते हैं। इसलिए, एप्लिकेशन अन्य एप्लिकेशन के लॉग तक पहुंच नहीं सकते हैं।
फिर भी, संवेदनशील जानकारी लॉग न करने की सिफारिश की जाती है। {% endhint %}

कॉपी/पेस्ट बफर कैशिंग

Android का क्लिपबोर्ड-आधारित फ्रेमवर्क ऐप्स में कॉपी-पेस्ट कार्यक्षमता को सक्षम करता है, लेकिन अन्य एप्लिकेशन क्लिपबोर्ड तक पहुंच सकते हैं, संभावित रूप से संवेदनशील डेटा को उजागर करते हैं। संवेदनशील खंडों के लिए कॉपी/पेस्ट कार्यक्षमताओं को निष्क्रिय करना महत्वपूर्ण है, जैसे क्रेडिट कार्ड विवरण, डेटा लीक से बचने के लिए।

क्रैश लॉग्स

यदि एक एप्लिकेशन क्रैश होता है और लॉग सहेजता है, तो ये लॉग हमलावरों की मदद कर सकते हैं, विशेष रूप से जब एप्लिकेशन को पुनर्निर्माण नहीं किया जा सकता है। इस जोखिम को कम करने के लिए, क्रैश पर लॉगिंग से बचें, और यदि लॉग नेटवर्क के माध्यम से भेजे जाने आवश्यक हों, सुनिश्चित करें कि वे सुरक्षितता के लिए एक SSL चैनल के माध्यम से भेजे जाते हैं।

पेंटेस्टर के रूप में, इन लॉगों की जांच करने का प्रयास करें

तीसरे पक्षों को भेजी गई एनालिटिक्स डेटा

एप्लिकेशन अक्सर Google Adsense जैसी सेवाएं एकीकृत करते हैं, जो डेवलपरों द्वारा गलत रूप से अमल में लाने के कारण अनजान रूप से संवेदनशील डेटा लीक कर सकती है। संभावित डेटा लीक की पहचान के लिए, एप्लिकेशन के ट्रैफिक को बाधित करना और किसी भी संवेदनशील जानकारी को तीसरे पक्ष सेवाओं को भेजी जा रही है या नहीं जांचना उत्तम है।

SQLite डेटाबेस

अधिकांश एप्लिकेशन आंतरिक SQLite डेटाबेस का उपयोग सूचना सहेजने के लिए करेंगी। पेंटेस्ट के दौरान बनाए गए डेटाबेस, तालिकाओं और कॉलम्स के नामों की जांच करें और सभी डेटा को सहेजें क्योंकि आप संवेदनशील जानकारी (जो एक कमजोरी हो सकती है) पा सकते हैं।
डेटाबेस को /data/data/the.package.name/databases में स्थित किया जाना चाहिए जैसे /data/data/com.mwr.example.sieve/databases

यदि डेटाबेस गोपनीय जानकारी सहेज रहा है और एन्क्रिप्टेड है लेकिन आप एप्लिकेशन के अंदर पासवर्ड पा सकते हैं तो भी यह एक कमजोरी है।

.tables का उपयोग करके तालिकाओं की गणना करें और .schema <table_name> करके तालिकाओं के कॉलम्स की गणना करें।

Drozer (एक्सप्लॉइट गतिविधियाँ, सामग्री प्रदाताओं और सेवाएं)

Drozer Docs से: Drozer आपको एक Android ऐप की भूमिका अभिग्रहण करने और अन्य ऐप्स के साथ बातचीत करने की अनुमति देता है। यह किसी भी स्थापित एप्लिकेशन के तरह कुछ भी कर सकता है, जैसे Android के इंटर-प्रोसेस कम्यूनिकेशन (IPC) तंत्र का उपयोग करना और अंडरलाइंग ऑपरेटिंग सिस्टम के साथ बातचीत करना।
ड्रोज़र एक उपयोगी उपकरण है जो निम्नलिखित खंडों में सीखने के लिए निर्यातित गतिविधियों, निर्यातित सेवाओं और सामग्री प्रदाताओं का एक्सप्लॉइट करने के लिए है।

निर्यातित गतिविधियों का शोषण

यह पढ़ें अगर आप एक Android गतिविधि क्या है को ताजगी देना चाहते हैं।
याद रखें कि गतिविधि का कोड onCreate विधि में शुरू होता है।

अधिकृति छल

जब एक गतिविधि निर्यात की जाती है तो आप उसकी स्क्रीन को बाहरी एप्लिकेशन से आमंत्रित कर सकते हैं। इसलिए, यदि एक गतिविधि में संवेदनशील जानकारी है और यह निर्यात किया गया है तो आप इसे पहुंचने के लिए प्रमाणीकरण तंत्रों को छलकर सकते हैं।

Drozer के साथ निर्यातित गतिविधियों का शोषण कैसे करें इसे सीखें।

आप एडीबी से एक निर्यातित गतिविधि भी शुरू कर सकते हैं:

  • पैकेज नाम है com.example.demo
  • निर्यातित गतिविधि का नाम है com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity

ध्यान दें: MobSF singleTask/singleInstance का उपयोग android:launchMode के रूप में दुर्भाग्यपूर्ण मानेगा, लेकिन यह के कारण, यह पुराने संस्करणों पर ही खतरनाक है (API संस्करण < 21).

{% hint style="info" %} ध्यान दें कि एक अधिकृति बाईपास हमेशा एक सुरक्षा दोष नहीं होती है, यह बाईपास कैसे काम करता है और कौन सी जानकारी उजागर होती है, इस पर निर्भर करेगा। {% endhint %}

संवेदनशील जानकारी लीकेज

गतिविधियाँ परिणाम भी लौटा सकती हैं। यदि आप एक निर्यात और सुरक्षित गतिविधि खोजने में सफल होते हैं जो setResult विधि को कॉल करती है और संवेदनशील जानकारी लौटाती है, तो यह एक संवेदनशील जानकारी लीकेज है।

टैपजैकिंग

यदि टैपजैकिंग को रोका नहीं गया है, तो आप उपयोगकर्ता को अप्रत्याशित क्रियाएँ करने के लिए निर्यात गतिविधि का दुरुपयोग कर सकते हैं। अधिक जानकारी के लिए टैपजैकिंग क्या है इस लिंक का पालन करें

सामग्री प्रदाताओं का शोषण - संवेदनशील जानकारी तक पहुंचना और उसे परिवर्तित करना

यह पढ़ें यदि आप याद करना चाहते हैं कि सामग्री प्रदाता क्या है।
सामग्री प्रदाताएं मूल रूप से डेटा साझा करने के लिए उपयोग की जाती हैं। यदि किसी ऐप में उपलब्ध सामग्री प्रदाताएं हैं तो आप उनसे संवेदनशील डेटा निकाल सकते हैं। यह भी महत्वपूर्ण है कि संभावित SQL इन्जेक्शन और पथ ट्रावर्सल का परीक्षण करें क्योंकि ये भेद्य हो सकते हैं।

Drozer के साथ सामग्री प्रदाताओं का शोषण कैसे करें इसे सीखें।

सेवाओं का शोषण

यह पढ़ें यदि आप याद करना चाहते हैं कि सेवा क्या है।
ध्यान रखें कि सेवा की क्रियाएँ onStartCommand विधि में शुरू होती हैं।

सेवा मूल रूप से कुछ है जो डेटा प्राप्त कर सकता है, इसे प्रोसेस कर सकता है और उत्तर (या नहीं) दे सकता है। फिर, यदि कोई एप्लिकेशन कुछ सेवाएं निर्यात कर रही है तो आपको कोड की जांच करनी चाहिए कि यह क्या कर रहा है और संवेदनशील जानकारी निकालने, प्रमाणीकरण उपायों को छलना... के लिए इसे डायनामिक रूप से परीक्षण करना चाहिए।
Drozer के साथ सेवाओं का शोषण कैसे करें इसे सीखें।

ब्रॉडकास्ट रिसीवर्स का शोषण

यह पढ़ें यदि आप याद करना चाहते हैं कि ब्रॉडकास्ट रिसीवर क्या है।
ध्यान रखें कि ब्रॉडकास्ट रिसीवर की क्रियाएँ onReceive विधि में शुरू होती हैं।

एक ब्रॉडकास्ट रिसीवर एक प्रकार के संदेश का इंतजार कर रहा होगा। संदेश को रिसीवर कैसे हैंडल करता है इस पर निर्भर करता है कि यह क्या भेद्य हो सकता है।
Drozer के साथ ब्रॉडकास्ट रिसीवर्स का शोषण कैसे करें इसे सीखें।

योजनाएं / गहरे लिंक्स का शोषण

आप गहरे लिंक्स को मैन्युअल रूप से खोज सकते हैं, MobSF जैसे उपकरणों का उपयोग करके या इस तरह के स्क्रिप्ट का उपयोग करके।
आप adb या ब्राउज़र का उपयोग करके एक घोषित योजना खोल सकते हैं:

{% code overflow="wrap" %}

adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]

{% endcode %}

ध्यान दें कि आप पैकेज नाम को छोड़ सकते हैं और मोबाइल आपके द्वारा दिए गए लिंक को खोलने के लिए स्वचालित रूप से एप्लिकेशन को कॉल करेगा।

{% code overflow="wrap" %}

<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>

{% endcode %}

व्यावहारिक कोड

ऐप में वह कोड खोजें जो ऐप में निष्पादित होगा, डीप लिंक द्वारा बुलाए गए गतिविधि पर जाएं और onNewIntent नामक फ़ंक्शन की खोज करें।

संवेदनशील जानकारी

हर बार जब आप एक गहरे लिंक पाते हैं, यह जांचें कि यह URL पैरामीटर के माध्यम से संवेदनशील डेटा (जैसे पासवर्ड) प्राप्त नहीं कर रहा है, क्योंकि कोई भी अन्य ऐप्लिकेशन डीप लिंक का अनुकरण कर सकती है और उस डेटा को चुरा सकती है!

पथ में पैरामीटर

आपको यह भी जांचना चाहिए कि क्या कोई भी गहरा लिंक URL के पथ में पैरामीटर का उपयोग कर रहा है जैसे: https://api.example.com/v1/users/{username} , उस मामले में आप कुछ इस प्रकार का उपयोग करके पथ ट्रावर्सल कर सकते हैं: example://app/users?username=../../unwanted-endpoint%3fparam=value
ध्यान दें कि यदि आप ऐप्लिकेशन के अंदर सही एंडपॉइंट्स पाते हैं तो आप ओपन रीडायरेक्ट (यदि पथ का कोई हिस्सा डोमेन नाम के रूप में उपयोग किया जाता है), खाता हावी (यदि आप CSRF टोकन के बिना उपयोगकर्ता विवरण संशोधित कर सकते हैं और vuln एंडपॉइंट सही विधि का उपयोग करता है) और किसी अन्य vuln का कारण बन सकते हैं। इसके बारे में अधिक जानकारी यहाँ मिलेगी।

अधिक उदाहरण

एक रोचक बग बाउंटी रिपोर्ट लिंक के बारे में (/.well-known/assetlinks.json).

परिवहन परत निरीक्षण और सत्यापन विफलताएं

  • Android ऐप्लिकेशन द्वारा प्रमाणपत्रों की सही जांच करना सामान्य नहीं है। इन ऐप्लिकेशन्स के लिए चेतावनियों को नजरअंदाज करना सामान्य है और स्व-साइन किए गए प्रमाणपत्रों को स्वीकार करना या कई स्थितियों में, HTTP कनेक्शन का उपयोग करना, वापस लेना सामान्य है।
  • SSL/TLS हैंडशेक के दौरान बातचीत कभी-कभी कमजोर होती है, असुरक्षित साइफर स्वीट का उपयोग करती है। यह कमजोरी कनेक्शन को मैन-इन-द-मिडिल (MITM) हमलों के लिए संवेदनशील बनाती है, जिससे हमलावर डेटा को डिक्रिप्ट कर सकते हैं।
  • निजी जानकारी का लीक एक जोखिम है जब ऐप्लिकेशन सुरक्षित चैनल का उपयोग करके प्रमाणित होता है लेकिन फिर अन्य लेन-देन के लिए असुरक्षित चैनलों के माध्यम से संवाद करता है। यह दृष्टिकोण संवेदनशील डेटा, जैसे सत्र कुकीज़ या उपयोगकर्ता विवरण, को दुर्गम तत्वों द्वारा अंतर्दृष्टि से बचाने में विफल हो जाता है।

प्रमाणपत्र सत्यापन

हम प्रमाणपत्र सत्यापन पर ध्यान केंद्रित करेंगे। सर्वर के प्रमाणपत्र की अखंडता को सुरक्षित बनाने के लिए सत्यापित किया जाना चाहिए। यह महत्वपूर्ण है क्योंकि असुरक्षित TLS कॉन्फ़िगरेशन और संवेदनशील डेटा के अप्राकटित चैनलों के माध्यम से संचार करने से महत्वपूर्ण जोखिम हो सकता है। सर्वर प्रमाणपत्रों की सत्यापन और विकल्पों के संबंध में विस्तृत निर्देशों के लिए, यह स्रोत व्यापक मार्गदर्शन प्रदान करता है।

SSL पिनिंग

SSL पिनिंग एक सुरक्षा उपाय है जिसमें ऐप्लिकेशन सर्वर के प्रमाणपत्र की सत्यापन करता है जिसे ऐप्लिकेशन में संग्रहीत एक ज्ञात प्रतिलिपि के खिलाफ सत्यापित करता है। यह विधि MITM हमलों को रोकने के लिए आवश्यक है। SSL पिनिंग को लागू करना ऐप्लिकेशन्स के संवेदनशील जानकारी को संभालने के लिए मजबूती से सिफारिश की जाती है।

ट्रैफिक निरीक्षण

HTTP ट्रैफिक की जांच करने के लिए, प्रॉक्सी टूल का प्रमाणपत्र स्थापित करना आवश्यक है (जैसे, बर्प)। इस प्रमाणपत्र को स्थापित किए बिना, एन्क्रिप्टेड ट्रैफिक प्रॉक्सी के माध्यम से दिखाई नहीं दे सकता है। कस्टम CA प्रमाणपत्र स्थापित करने के लिए गाइड के लिए, यहाँ क्लिक करें

API स्तर 24 और ऊपर के ऐप्लिकेशन्स को एनेक्रिप्टेड ट्रैफिक की जांच के लिए नेटवर्क सुरक्षा कॉन्फ़िग में परिवर्तन की आवश्यकता होती है। यह कदम एन्क्रिप्टेड ट्रैफिक की जांच के लिए महत्वपूर्ण है। एनेक्रिप्टेड ट्रैफिक की जांच करने के लिए नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने के लिए निर्देशों के लिए, इस ट्यूटोरियल का संदर्भ दें

SSL पिनिंग को छलना

जब SSL पिनिंग लागू किया जाता है, तो इसे छलना जरूरी होता है ताकि HTTPS ट्रैफिक की जांच की जा सके। इस उद्देश्य के लिए विभिन्न विधियाँ उपलब्ध हैं:

  • स्वचालित रूप से apk को SSL Pinning को छलने के लिए संशोधित करें apk-mitm के साथ। इस विकल्प का सबसे अच्छा लाभ यह है कि आपको SSL Pinning को छलने के लिए रूट की आवश्यकता नहीं है, लेकिन आपको ऐप्लिकेशन को हटाना और नया इंस्टॉल करने की आवश्यकता होगी, और यह हमेशा काम नहीं करेगा।
  • आप Frida (नीचे चर्चा की गई) का उपयोग करके इस सुरक्षा को छलने के लिए कर सकते हैं। यहाँ आपको बर्प+Frida+Genymotion का उपयोग करने के लिए गाइड मिलेगा: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/
  • आप objection (frida-tutorial/objection-tutorial.md) का उपयोग करके स्वचालित रूप से SSL Pinning को छलने का प्रयास कर सकते हैं: objection --gadget com.package.app explore --startup-command "android sslpinning disable"
  • आप MobSF डायनामिक विश्लेषण का उपयोग करके स्वचालित रूप से SSL Pinning को छलने का प्रयास कर सकते हैं (नीचे समझाया गया है)
  • अगर आपको लगता है कि आप कुछ ट्रैफिक को नहीं कैप्चर कर रहे हैं तो आप **iptables का उपयोग करके ट्रैफिक को बर्प म
# With PID
python3 fridump3.py -u <PID>

# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"

यह ./dump फ़ोल्डर में मेमोरी डंप करेगा, और वहां आप इस तरह से grep कर सकते हैं:

strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+$"

{% endcode %}

कीस्टोर में संवेदनशील डेटा

एंड्रॉयड में कीस्टोर संवेदनशील डेटा स्टोर करने के लिए सबसे अच्छा स्थान है, हालांकि, पर्याप्त विशेषाधिकारों के साथ इसे अभी भी पहुंचना संभव है। क्योंकि एप्लिकेशन यहाँ साफ पाठ में संवेदनशील डेटा स्टोर करने की प्रवृत्ति होती है, पेंटेस्ट को इसके लिए जांच करनी चाहिए क्योंकि रूट उपयोगकर्ता या उपकरण के भौतिक पहुंच वाले किसी व्यक्ति को इस डेटा को चुरा लेने की क्षमता हो सकती है।

यदि कोई ऐप कीस्टोर में डेटा स्टोर करता है, तो डेटा को एन्क्रिप्ट किया जाना चाहिए।

कीस्टोर के अंदर डेटा तक पहुंचने के लिए आप इस Frida स्क्रिप्ट का उपयोग कर सकते हैं: https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js

frida -U -f com.example.app -l frida-scripts/tracer-cipher.js

फिंगरप्रिंट/बायोमेट्रिक्स बायपास

निम्नलिखित फ्रिडा स्क्रिप्ट का उपयोग करके यह संभव हो सकता है कि Android एप्लिकेशन फिंगरप्रिंट प्रमाणीकरण को अनदेखा करें जो किसी विशेष संवेदनशील क्षेत्रों को सुरक्षित रखने के लिए किया जा सकता है:

{% code overflow="wrap" %}

frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>

{% endcode %}

पृष्ठभूमि छवियाँ

जब आप किसी एप्लिकेशन को पृष्ठभूमि में डालते हैं, तो Android एक एप्लिकेशन की स्नैपशॉट स्टोर करता है ताकि जब यह पुनः पूर्ववत लाया जाता है, तो यह छवि लोड होने लगती है इससे ऐसा लगता है कि एप्लिकेशन जल्दी लोड हो गया।

हालांकि, अगर इस स्नैपशॉट में संवेदनशील जानकारी है, तो स्नैपशॉट तक पहुंच वाले किसी व्यक्ति की संवेदनशील जानकारी को चुरा सकता है (ध्यान दें कि आपको इसको एक्सेस करने के लिए रूट की आवश्यकता है)।

स्नैपशॉट्स आम तौर पर इस स्थान पर स्टोर किए जाते हैं: /data/system_ce/0/snapshots

Android एक तरीका प्रदान करता है स्क्रीनशॉट कैप्चर को रोकने के द्वारा FLAG_SECURE लेआउट पैरामीटर सेट करके। इस फ्लैग का उपयोग करके, विंडो सामग्री को सुरक्षित माना जाता है, जिससे स्क्रीनशॉट में प्रकट न हो और गैर-सुरक्षित प्रदर्शनों पर देखा न जा सके।

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);

एंड्रॉयड एप्लिकेशन विश्लेषक

यह टूल आपको डायनामिक विश्लेषण के दौरान विभिन्न उपकरणों का प्रबंधन करने में मदद कर सकता है: https://github.com/NotSoSecure/android_application_analyzer

Intent Injection

डेवलपर्स अक्सर Intent को हैंडल करने वाले प्रॉक्सी कंपोनेंट्स जैसे activities, services, और broadcast receivers बनाते हैं और इन्हें startActivity(...) या sendBroadcast(...) जैसी विधियों को पारित करते हैं, जो जोखिमपूर्ण हो सकता है।

खतरा इसमें है कि हमलावरों को गैर-निर्यातित ऐप कॉम्पोनेंट्स को ट्रिगर करने या इन Intents को गलत दिशा में ले जाने की अनुमति देने में है। एक प्रमुख उदाहरण है WebView कॉम्पोनेंट जो URLs को Intent ऑब्ज

docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

ध्यान दें कि MobSF Android(apk), IOS(ipa) और Windows(apx) एप्लिकेशनों का विश्लेषण कर सकता है (Windows एप्लिकेशनों का विश्लेषण Windows होस्ट में स्थापित MobSF से करना होगा).
इसके अलावा, अगर आप Android या IOS ऐप के स्रोत कोड के साथ एक ZIP फ़ाइल बनाते हैं (एप्लिकेशन के रूट फ़ोल्डर में जाएं, सब कुछ चुनें और एक ZIP फ़ाइल बनाएं), तो यह उसे विश्लेषित कर सकेगा।

MobSF आपको विश्लेषण की तुलना/पोर्ट और VirusTotal को एकीकृत करने की अनुमति देता है (आपको MobSF/settings.py में अपनी API कुंजी सेट करनी होगी और इसे सक्षम करना होगा: VT_ENABLED = TRUE VT_API_KEY = <आपकी API कुंजी> VT_UPLOAD = TRUE). आप VT_UPLOAD को False पर भी सेट कर सकते हैं, तो हैश को फ़ाइल के बजाय अपलोड किया जाएगा।

MobSF के साथ सहायिता से गतिशील विश्लेषण

MobSF Android में गतिशील विश्लेषण के लिए भी बहुत सहायक हो सकता है, लेकिन उस मामले में आपको अपने होस्ट में MobSF और genymotion को स्थापित करने की आवश्यकता होगी (एक वीएम या डॉकर काम नहीं करेगा)। नोट: आपको पहले genymotion में एक वीएम शुरू करनी होगी और फिर MobSF को
MobSF गतिशील विश्लेषक निम्नलिखित कार्य कर सकता है:

  • एप्लिकेशन डेटा डंप करें (URL, लॉग, क्लिपबोर्ड, आपके द्वारा बनाए गए स्क्रीनशॉट, "निर्यात की गई गतिविधि परीक्षक" द्वारा बनाए गए स्क्रीनशॉट, ईमेल, SQLite डेटाबेस, XML फ़ाइलें, और अन्य बनाई गई फ़ाइलें)। यह सभी तथा स्क्रीनशॉट्स को छोड़कर स्वचालित रूप से किया जाता है, आपको स्क्रीनशॉट लेने के लिए दबाना होगा या आपको "निर्यात की गई गतिविधि परीक्षक" को दबाना होगा ताकि सभी निर्यात की गई गतिविधियों के स्क्रीनशॉट मिलें।
  • HTTPS ट्रैफ़िक को कैप्चर करें
  • Frida का उपयोग करें रनटाइम जानकारी प्राप्त करने के लिए

Android संस्करण > 5 से, यह स्वचालित रूप से Frida को शुरू करेगा और ग्लोबल प्रॉक्सी सेटिंग्स को ट्रैफ़िक को कैप्चर करने के लिए सेट करेगा। यह केवल टेस्ट की गई एप्लिकेशन से ट्रैफ़िक को कैप्चर करेगा।

Frida

डिफ़ॉल्ट रूप से, यह SSL पिनिंग, रूट डिटेक्शन और डीबगर डिटेक्शन को बायपास करने, और रूटन करने और दिलचस्प API को मॉनिटर करने के लिए कुछ Frida स्क्रिप्ट भी उपयोग करेगा।
MobSF आपको उन्हें निर्यात की गई गतिविधियों को आमंत्रित करने, उनके स्क्रीनशॉट्स लेने और उन्हें रिपोर्ट के लिए सहेजने की भी अनुमति देता है।

गतिशील परीक्षण शुरू करने के लिए हरे बटन "संस्थापन शुरू करें" दबाएं। फ्रिडा स्क्रिप्ट्स द्वारा उत्पन्न लॉगों को देखने के लिए "Frida Live Logs" दबाएं और हुक्ड मेथड्स को देखने के लिए "Live API Monitor" दबाएं, जिसे आपको "संस्थापन शुरू करें" दबाने के बाद दिखाया जाएगा।
MobSF आपको अपने खुद के Frida स्क्रिप्ट्स लोड करने की भी अनुमति देता है (अपने Friday स्क्रिप्ट्स के परिणामों को MobSF को भेजने के लिए send() फ़ंक्शन का उपयोग करें)। यह कई पूर्व-लिखित स्क्रिप्ट्स भी लोड कर सकता है (आप MobSF/DynamicAnalyzer/tools/frida_scripts/others/ में अधिक जोड़ सकते हैं), उन्हें चुनें, "लोड" दबाएं और "संस्थापन शुरू करें" दबाएं (आप उन स्क्रिप्ट्स के लॉग्स को "Frida Live Logs" में देख सकेंगे)।

इसके अतिरिक्त, आपके पास कुछ सहायक Frida कार्यात्मकताएँ हैं:

  • लोड किए गए कक्षाएं गणना: सभी लोड किए गए कक्षाएं प्रिंट करेगा
  • स्ट्रिंग कैप्चर: एप्लिकेशन का उपयोग करते समय सभी कैप्चर स्ट्रिंग्स प्रिंट करेगा (बहुत शोरगुल)
  • स्ट्रिंग तुलना कैप्चर: बहुत उपयोगी हो सकता है। यह 2 स्ट्रिंग्स की तुलना दिखाएगा और यदि परिणाम सही था या गलत।
  • कक्षा विधियों की गणना: कक्षा का नाम डालें (जैसे "java.io.File") और यह कक्षा के सभी विधियों को प्रिंट करेगा।
  • कक्षा पैटर्न खोजें: पैटर्न द्वारा कक्षाएँ खोजें
  • कक्षा विधियों का ट्रेस: पूरी कक्षा का ट्रेस करें (कक्षा के सभी विधियों के इनपुट और आउटपुट देखें)। ध्यान दें कि डिफ़ॉल्ट रूप से MobSF कई दिलचस्प Android Api विधियों का ट्रेस करता है।

जब आप उपयोग करना चाहते हैं तो आपको चयनित सहायक मॉड्यूल पर "संस्थापन शुरू करें" दबाना होगा और आपको सभी आउटपुट्स को "Frida Live Logs" में देखने को मिलेगा।

शैल

Mobsf आपको गतिशील विश्लेषण पृष्ठ के नीचे कुछ adb कमांड, MobSF कमांड, और सामान्य शैल कमांड भी लाता है। कुछ दिलचस्प कमांड:

help
shell ls
activities
exported_activities
services
receivers

HTTP उपकरण

जब http ट्रैफिक को कैप्चर किया जाता है, तो आप "HTTP(S) ट्रैफिक" नीचे एक बेहद अद्भुत दृश्य देख सकते हैं या "Start HTTPTools" हरा बटन में एक बेहतर दृश्य देख सकते हैं। दूसरे विकल्प से, आप कैप्चर किए गए अनुरोधों को Burp या Owasp ZAP जैसे प्रॉक्सी में भेज सकते हैं
इसके लिए, Burp को ऑन करें --> इंटरसेप्ट को बंद करें --> MobSB HTTPTools में अनुरोध का चयन करें --> "फजर में भेजें" दबाएं --> प्रॉक्सी पता चुनें (http://127.0.0.1:8080\)।

MobSF के साथ डायनामिक विश्लेषण पूरा करने के बाद, आप "वेब API फजर शुरू करने" पर दबा सकते हैं ताकि http अनुरोधों को फजर करें और सुरक्षा दोषों की खोज करें।

{% hint style="info" %} MobSF के साथ डायनामिक विश्लेषण करने के बाद प्रॉक्सी सेटिंग्स गलत कॉन्फ़िगर हो सकती हैं और आप GUI से उन्हें ठीक नहीं कर पाएंगे। आप प्रॉक्सी सेटिंग्स को निम्नलिखित तरीके से ठीक कर सकते हैं:

adb shell settings put global http_proxy :0

{% endhint %}

Inspeckage के साथ सहायित गतिशील विश्लेषण

आप इस उपकरण को Inspeckage से प्राप्त कर सकते हैं।
यह उपकरण कुछ हुक्स का उपयोग करेगा ताकि आपको पता चले एप्लिकेशन में क्या हो रहा है जब आप एक गतिशील विश्लेषण करते हैं।

Yaazhini

यह एक महान उपकरण है जो एक GUI के साथ स्थिर विश्लेषण करने के लिए है।

Qark

यह उपकरण कई सुरक्षा संबंधित Android एप्लिकेशन की कमियों के लिए डिज़ाइन किया गया है, चाहे वह स्रोत कोड में हो या पैकेज़ APKs में। यह उपकरण एक "प्रमाण-पत्र" डिप्लॉयेबल APK और ADB कमांड्स बनाने में सक्षम है, कुछ पाए गए कमियों का शोध करने के लिए (एक्सपोज़्ड एक्टिविटीज़, इंटेंट्स, टैपजैकिंग...।) Drozer की तरह, टेस्ट डिवाइस को रूट करने की आवश्यकता नहीं है।

pip3 install --user qark  # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
qark --java path/to/parent/java/folder
qark --java path/to/specific/java/file.java

ReverseAPK

  • सभी निकाले गए फ़ाइलों को आसान संदर्भ के लिए प्रदर्शित करता है
  • APK फ़ाइलों को स्वचालित रूप से जावा और स्माली प्रारूप में डिकॉम्पाइल करता है
  • सामान्य सुरक्षा और व्यवहार के लिए AndroidManifest.xml का विश्लेषण
  • सामान्य सुरक्षा और व्यवहार के लिए स्थैतिक स्रोत कोड विश्लेषण
  • डिवाइस जानकारी
  • और अधिक
reverse-apk relative/path/to/APP.apk

सुपर Android विश्लेषक

सुपर एक कमांड लाइन एप्लिकेशन है जिसे Windows, MacOS X और Linux में उपयोग किया जा सकता है, जो .apk फ़ाइलों का विश्लेषण करता है जो सुरक्षा दोषों की खोज के लिए है। यह इसे APK को डीकंप्रेस करके और उन दोषों को पहचानने के लिए नियमों की एक श्रृंखला लागू करके करता है।

सभी नियम एक rules.json फ़ाइल में केंद्रित हैं, और प्रत्येक कंपनी या परीक्षक अपने आवश्यकताओं का विश्लेषण करने के लिए अपने नियम बना सकते हैं।

नवीनतम बाइनरी को डाउनलोड पेज से डाउनलोड करें।

super-analyzer {apk_file}

StaCoAn

StaCoAn एक क्रॉसप्लेटफॉर्म टूल है जो डेवलपर्स, बग बाउंटी हंटर्स और ईथिकल हैकर्स को मोबाइल एप्लिकेशन पर स्टेटिक कोड विश्लेषण करने में मदद करता है।

यह एक अवधारित विचार है कि आप अपनी मोबाइल एप्लिकेशन फ़ाइल (एक .apk या .ipa फ़ाइल) को StaCoAn एप्लिकेशन पर ड्रैग और ड्रॉप करेंगे और यह आपके लिए एक विजुअल और पोर्टेबल रिपोर्ट उत्पन्न करेगा। आप सेटिंग्स और वर्डलिस्ट को ट्वीक कर सकते हैं ताकि आपको एक अनुकूलित अनुभव मिले।

नवीनतम रिलीज़ डाउनलोड करें:

./stacoan

AndroBugs

AndroBugs Framework एक Android सुरक्षा विश्लेषण प्रणाली है जो डेवलपर्स या हैकर्स को Android एप्लिकेशन में संभावित सुरक्षा विकल्पों को खोजने में मदद करती है।
Windows releases

python androbugs.py -f [APK file]
androbugs.exe -f [APK file]

एंड्रोवार्न

एंड्रोवार्न एक टूल है जिसका मुख्य उद्देश्य यह है कि यह एंड्रॉइड एप्लिकेशन द्वारा विकसित संभावित हानिकारक व्यवहारों की पहचान करें और उपयोगकर्ता को चेतावनी दें।

पहचान एप्लिकेशन के डलविक बाइटकोड की स्थैतिक विश्लेषण के साथ की जाती है, जो स्माली के रूप में प्रस्तुत होती है, androguard पुस्तकालय के साथ।

यह टूल "बुरे" एप्लिकेशनों के सामान्य व्यवहार की तलाश करता है जैसे: दूरसंचार पहचानकर्ता बाहर निकालना, ऑडियो/वीडियो फ्लो अंतरण, पीआईएम डेटा संशोधन, अनिवार्य कोड क्रियान्वयन...

python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3

MARA Framework

MARA एक Mobile Application Reverse engineering और Analysis Framework है। यह एक उपकरण है जो सामान्य रूप से उपयोग की जाने वाली मोबाइल एप्लिकेशन रिवर्स इंजीनियरिंग और विश्लेषण उपकरणों को एक साथ लाता है, ताकि OWASP मोबाइल सुरक्षा खतरों के खिलाफ मोबाइल एप्लिकेशनों का परीक्षण करने में सहायता कर सके। इसका उद्देश्य यह कार्य मोबाइल एप्लिकेशन डेवलपर्स और सुरक्षा विशेषज्ञों के लिए आसान और मित्रवत बनाना है।

यह क्षमता रखता है:

  • विभिन्न उपकरणों का उपयोग करके जावा और स्माली कोड निकालना
  • smalisca, ClassyShark, androbugs, androwarn, APKiD का उपयोग करके APK का विश्लेषण करना
  • APK से regexps का उपयोग करके निजी जानकारी निकालना।
  • मैनिफेस्ट का विश्लेषण करना।
  • pyssltest, testssl और whatweb का उपयोग करके पाए गए डोमेन का विश्लेषण करना
  • apk-deguard.com के माध्यम से APK को Deobfuscate करना

Koodous

मैलवेयर का पता लगाने के लिए उपयोगी: https://koodous.com/

कोड को अवशोषित/डीओबफस्केट करना

ध्यान दें कि आप कोड को अवशोषित करने के लिए आप किस सेवा और विन्यास का उपयोग करते हैं। रहस्यों को अवशोषित किया गया हो सकता है या नहीं।

ProGuard

Wikipedia से: ProGuard एक ओपन सोर्स कमांड-लाइन उपकरण है जो जावा कोड को छोटा करता है, अनुकूलित करता है और अवशोषित करता है। यह बाइटकोड को अनुकूलित करने में सक्षम है और अप्रयोगित निर्देशों को पहचानने और हटाने में सक्षम है। ProGuard मुफ्त सॉफ्टवेयर है और GNU जनरल पब्लिक लाइसेंस, संस्करण 2 के तहत वितरित किया जाता है।

ProGuard Android SDK का हिस्सा के रूप में वितरित किया जाता है और एप्लिकेशन को रिलीज मोड में बनाते समय चलता है।

DexGuard

https://blog.lexfo.fr/dexguard.html में apk को डीओबफस्केट करने के लिए एक स्टेप-बाय-स्टेप गाइड पाएं

(उस गाइड से) हमारे अंतिम जांच के समय, Dexguard का ऑपरेशन मोड था:

  • एक रिसोर्स को एक InputStream के रूप में लोड करें;
  • इसे डिक्रिप्ट करने के लिए FilterInputStream से विरासत में आने वाले कक्ष को फीड करें;
  • कुछ अनावश्यक अवशोषण करें ताकि एक रिवर्सर के कुछ मिनट व्यर्थ हों;
  • डिक्रिप्ट किया गया परिणाम ZipInputStream को फीड करें ताकि एक DEX फ़ाइल मिले;
  • अंततः परिणामी DEX को एक रिसोर्स के रूप में loadDex विधि का उपयोग करके लोड करें।

DeGuard

DeGuard Android अवशोषण उपकरण द्वारा किया गया अवशोषण प्रक्रिया को उलटता है। इससे कई सुरक्षा विश्लेषण, सहित कोड निरीक्षण और पुस्तकालयों की पूर्वानुमान की जा सकती है।

आप उनके प्लेटफ़ॉर्म पर अवशोषित APK अपलोड कर सकते हैं।

Simplify

यह एक सामान्य एंड्रॉइड डीओबफस्केटर है। Simplify एक ऐप को वर्चुअली एक्सीक्यूट करता है ताकि इसका व्यवहार समझ सके और फिर कोड को ऑप्टिमाइज़ करने का प्रयास करता है ताकि यह इंसान के लिए समझने में आसान हो। प्रत्येक अपशिष्ट प्रकार सरल और सामान्य है, इसलिए यह मायने नहीं रखता कि विशेष अवशोषण का कौन सा प्रकार उपयोग किया गया है।

APKiD

APKiD आपको बताता है कि एक APK कैसे बनाया गया था। यह कई कंपाइलर, पैकर्स, अवशोषक और अन्य अजीब चीजों की पहचान करता है। यह Android के लिए PEiD है।

Manual

इस ट्यूटोरियल को पढ़ें ताकि कस्टम अवशोषण को उलटा सकें

Labs

Androl4b

AndroL4b एक एंड्रॉइड सुरक्षा वर्चुअल मशीन है जो ubuntu-mate पर आधारित है और विभिन्न सुरक्षा जीक्स और शोधकर्ताओं के लेटेस्ट फ्रेमवर्क, ट्यूटोरियल और लैब्स शामिल करता है जो रिवर्स इंजीनियरिंग और मैलवेयर विश्लेषण के लिए है।

References

अभी तक प्रयास करने के लिए

HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!

हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें

रियल-टाइम हैक न्यूज़
रियल-टाइम न्यूज़ और अंदर की दुनिया के साथ अपडेट रहें

नवीनतम घोषणाएं
नवीनतम बग बाउंटी और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट्स के साथ सूचित रहें

Discord पर हमारे साथ जुड़ें और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!

शून्य से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके: