hacktricks/mobile-pentesting/android-app-pentesting
2024-02-07 07:34:51 +00:00
..
drozer-tutorial Translated to Hindi 2023-11-06 08:38:02 +00:00
frida-tutorial Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-07 07:34:51 +00:00
adb-commands.md Translated ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +00:00
android-applications-basics.md Translated ['exploiting/linux-exploiting-basic-esp/README.md', 'exploiti 2024-02-05 04:17:29 +00:00
android-task-hijacking.md Translated to Hindi 2023-11-06 08:38:02 +00:00
apk-decompilers.md Translated to Hindi 2023-11-06 08:38:02 +00:00
avd-android-virtual-device.md Translated to Hindi 2023-11-06 08:38:02 +00:00
bypass-biometric-authentication-android.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-07 07:34:51 +00:00
content-protocol.md Translated ['exploiting/linux-exploiting-basic-esp/README.md', 'exploiti 2024-02-05 04:17:29 +00:00
exploiting-a-debuggeable-applciation.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-02-03 19:01:48 +00:00
google-ctf-2018-shall-we-play-a-game.md Translated to Hindi 2023-11-06 08:38:02 +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 ['forensics/basic-forensic-methodology/specific-software-file 2023-12-26 03:49:11 +00:00
intent-injection.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-02-05 03:17:17 +00:00
make-apk-accept-ca-certificate.md Translated ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +00:00
manual-deobfuscation.md Translated ['forensics/basic-forensic-methodology/windows-forensics/READ 2024-02-03 17:17:07 +00:00
react-native-application.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-02-03 19:01:48 +00:00
README.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-02-05 03:17:17 +00:00
reversing-native-libraries.md Translated ['mobile-pentesting/android-app-pentesting/reversing-native-l 2023-12-24 18:27:56 +00:00
smali-changes.md Translated to Hindi 2023-11-06 08:38:02 +00:00
spoofing-your-location-in-play-store.md Translated ['mobile-pentesting/android-app-pentesting/spoofing-your-loca 2024-01-12 10:20:03 +00:00
tapjacking.md Translated to Hindi 2023-11-06 08:38:02 +00:00
webview-attacks.md Translated ['linux-hardening/privilege-escalation/docker-security/docker 2023-12-19 22:02:31 +00:00

Android Applications Pentesting

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

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

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

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

रियल-टाइम हैक समाचार
तेजी से बदलती हैकिंग दुनिया के साथ कदम मिलाकर रहें

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

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

Android Applications Basics

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

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

ADB (Android Debug Bridge)

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

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

Smali

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

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

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 पढ़ सकते हैं। आप apk फ़ाइल का एक्सटेंशन .zip में नामकरण करके और अनज़िप करके भी पढ़ सकते हैं।
मैनिफेस्ट पढ़कर आप सुरक्षा विकल्प खोज सकते हैं:

  • सबसे पहले, यह देखें कि एप्लिकेशन डीबगेबल है या नहीं। एक उत्पादन APK ऐसा नहीं होना चाहिए (या अन्य लोग इससे कनेक्ट कर सकते हैं)। आप मैनिफेस्ट में debuggable="true" विशेषता के लिए एप्लिकेशन डीबगेबल है या नहीं देख सकते हैं। उदाहरण: <application theme="@2131296387" debuggable="true"
  • यहां सीखें कि फोन में डीबगेबल एप्लिकेशन कैसे खोजें और उन्हें शोषित करें
  • बैकअप: android:allowBackup विशेषता परिभाषित करती है कि एप्लिकेशन डेटा को उस उपयोगकर्ता द्वारा संचित और पुनर्स्थापित किया जा सकता है जिसने usb डीबगिंग को सक्षम किया है। यदि बैकअप ध्वज को सेट किया गया है, तो यह एक हमलावार को एप्लिकेशन डेटा का बैकअप लेने की अनुमति देता है, यहां तक कि यदि उपकरण रूट नहीं है तो भी। इसलिए कार्ड विवरण, पासवर्ड आदि जैसी संवेदनशील जानकारी का संचय करने वाली एप्लिकेशनों को इस सेटिंग को व्यक्तिगत रूप से false पर सेट करना चाहिए क्योंकि डिफ़ॉल्ट रूप से यह true पर सेट किया गया है ताकि ऐसे जोखिमों से बचा जा सके।
  • <application android:allowBackup="false"
  • नेटवर्क सुरक्षा: एप्लिकेशन नेटवर्क सुरक्षा को android:networkSecurityConfig="@xml/network_security_config" के डिफ़ॉल्ट मानों के साथ अधिलेखित किया जा सकता है। इस नाम की एक फ़ाइल res/xml. में रखी जा सकती है। यह फ़ाइल महत्वपूर्ण सुरक्षा सेटिंग्स को कॉन्फ़िगर करेगी जैसे प्रमाणपत्र पिन या यदि यह HTTP ट्रैफ़िक की अनुमति देती है। आप यहां सभी चीजों के बारे में अधिक जानकारी पढ़ सकते हैं, लेकिन कुछ डोमेन के लिए HTTP ट्रैफ़िक कैसे कॉन्फ़िगर करने के बारे में यह उदाहरण देखें:
  • <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">formation-software.co.uk </domain></domain-config>
  • निर्यातित गतिविधाएं: मैनिफेस्ट में निर्यातित गतिविधाओं के लिए जांच करें क्योंकि यह खतरनाक हो सकता है। बाद में डायनामिक विश्लेषण में यह समझाया जाएगा कि आप इस व्यवहार का शोषण कैसे कर सकते हैं
  • कंटेंट प्रोवाइडर्स: यदि एक निर्यातित प्रदाता उजागर है, तो आपको दिलचस्प जानकारी तक पहुंचने/संशोधित करने की क्षमता हो सकती है। डायनामिक विश्लेषण में आप सीखेंगे कि आप उन्हें कैसे शोषण कर सकते हैं
  • android:name="android.support.FILE_PROVIDER_PATHS" विशेषता के अंदर फ़ाइल प्रदाताओं की कॉन्फ़िगरेशन जांचें। यहां पढ़ें फ़ाइल प्रदाताओं के बारे में अधिक जानकारी के लिए
  • उजागर सेवाएं: सेवा क्या कर रही है इस पर निर्भर करता है, इसके अंदर दोष हो सकते हैं। डायनामिक विश्लेषण में आप सीखेंगे कि आप उन्हें कैसे शोषण कर सकते हैं
  • ब्रॉडकास्ट रिसीवर्स: आप सीखेंगे कि आप उन्हें कैसे शोषण कर सकते हैं डायनामिक विश्लेषण के दौरान।
  • URL योजना: यूजर के इनपुट को प्रबंधित करने वाली गतिविधा के कोड को पढ़ें और दिलचस्प जानकारी खोजने के लिए योजना को प्रबंधित करने वाली गतिविधा के कोड को पढ़ें। यहां जानें कि URL योजना क्या है
  • minSdkVersion, targetSDKVersion, maxSdkVersion: यह दर्शाते हैं कि एप्लिकेशन किस Android संस्करण पर चलेगा। इन्हें ध्यान में रखना महत्वपूर्ण है क्योंकि सुरक्षा के दृष्टिकोण से, पुराने संस्करण का समर्थन करना ज्ञात वंशवादी संस्करणों को इसे चलाने की अनुमति देगा।

resources.arsc/strings.xml पढ़कर आप कुछ दिलचस्प जानकारी पा सकते हैं:

  • API कुंजी
  • कस्टम स्कीमा
  • अन्य दिलचस्प जानकारी जो डेवलपर इस फ़ाइल में सहेजते हैं

टैपजैकिंग

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

अधिक जानकारी के लिए यहां देखें:

{% content-ref url="tapjacking.md"

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

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

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

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

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

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

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

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

अन्य जांचें

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

रिएक्ट नेटिव एप्लिकेशन

रिएक्ट एप्लिकेशन के जावास्क्रिप्ट को आसानी से एक्सेस करने के लिए निम्नलिखित पेज पढ़ें:

{% content-ref url="react-native-application.md" %} react-native-application.md {% endcontent-ref %}

ज़मारिन एप्लिकेशन

ज़मारिन एप्लिकेशन के सी# कोड को आसानी से एक्सेस करने के लिए निम्नलिखित पेज पढ़ें:

{% content-ref url="../xamarin-apps.md" %} xamarin-apps.md {% endcontent-ref %}

सुपरपैक्ट एप्लिकेशन

इस ब्लॉग पोस्ट के अनुसार, सुपरपैक्ट एक मेटा एल्गोरिदम है जो एक एप्लिकेशन की सामग्री को एक ही फ़ाइल में संकुचित करता है। ब्लॉग इसके बारे में बात करता है कि इन प्रकार की एप्लिकेशन को डीकंप्रेस करने वाला एप्लिकेशन बनाने की संभावना है... और एक तेज़ तरीके के बारे में जिसमें एप्लिकेशन को निष्पादित करें और फाइल सिस्टम से डीकंप्रेस फ़ाइल्स इकट्ठा करें

स्वचालित स्थिर कोड विश्लेषण

टूल mariana-trench क्षमता रखता है विकल्प को खोजने के लिए जानकारी के द्वारा कोड की जांच करने के लिए। यह टूल कई ज्ञात स्रोतों (जो टूल को सूचित करते हैं कि जगह कहां उपयोगकर्ता द्वारा नियंत्रित है), सिंक्स (जो टूल को सूचित करते हैं खतरनाक जगह जहां दुर्भाग्यपूर्ण उपयोगकर्ता इनपुट क्षति पहुंचा सकता है) और नियम शामिल है। ये नियम उस संयोजन को सूचित करते हैं जो स्रोत-सिंक का संयोजन सूचित करता है जो एक भेद्यता को सूचित करता है।

इस ज्ञान के साथ, mariana-trench कोड की समीक्षा करेगा और इस पर संभावित भेद्यताएं खोजेगा

गुप्तांकन लीक

एक एप्लिकेशन में गुप्तांकन (API कुंजी, पासवर्ड, छिपी हुई urls, सबडोमेन...) हो सकता है जिसे आप खोज सकते हैं। आप एक टूल जैसे https://github.com/dwisiswant0/apkleaks का उपयोग कर सकते हैं

बायपास जीवाची अथेंटिकेशन

{% content-ref url="bypass-biometric-authentication-android.md" %} bypass-biometric-authentication-android.md {% endcontent-ref %}

अन्य दिलचस्प फ़ंक्शन

अन्य ट्रिक्स

{% content-ref url="content-protocol.md" %} content-protocol.md {% endcontent-ref %}


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

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

रियल-टाइम हैक समाचार
रियल-टाइम समाचार और अंतर्दृष्टि के माध्यम से तेज़ गति से बदलते हैकिंग विश्व में अपड

adb shell am start -n com.example.demo/com.example.test.MainActivity

ध्यान दें: MobSF singleTask/singleInstance का उपयोग android:launchMode के रूप में एक activity में दुर्भाग्यपूर्ण मानेगा, लेकिन इस के कारण, यह पुराने संस्करणों पर ही खतरनाक है (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 %}

_ध्यान दें कि आप पैकेज नाम को छोड़ सकते हैं और मोबाइल आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा खोलने वाला ऐप आपके द्वारा ख

<!-- 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).

पर्याप्त परिवहन परत संरक्षण

  • प्रमाण पत्र जांच की कमी: एंड्रॉइड एप्लिकेशन प्रस्तुत किए गए प्रमाण पत्र की पहचान सत्यापित करने में विफल हो जाता है। अधिकांश एप्लिकेशन चेतावनियों को नजरअंदाज करते हैं और किसी भी स्व-साइन्ड प्रमाण पत्र को स्वीकार कर लेते हैं। कुछ एप्लिकेशन इसके बजाय ट्रैफिक को एक HTTP कनेक्शन के माध्यम से पारित करते हैं।
  • कमजोर हैंडशेक बातचीत: एप्लिकेशन और सर्वर एक SSL/TLS हैंडशेक करते हैं लेकिन एक असुरक्षित साइफर स्वीट का उपयोग करते हैं जो MITM हमलों के लिए वंशजनी है। इसलिए कोई भी हमलावर आसानी से उस कनेक्शन को डिक्रिप्ट कर सकता है।
  • गोपनीयता सूचना लीकेज: अक्सर होता है कि एप्लिकेशन सुरक्षित चैनल के माध्यम से प्रमाणीकरण करते हैं लेकिन शेष सभी कनेक्शन को गैर-सुरक्षित चैनल के माध्यम से करते हैं। यह एप्लिकेशन की सुरक्षा में योगदान नहीं देता क्योंकि शेष संवेदनशील डेटा जैसे सत्र कुकी या उपयोगकर्ता डेटा किसी दुर्जन उपयोगकर्ता द्वारा बाधित किया जा सकता है।

प्रस्तुत किए गए 3 स्थितियों से हम प्रमाण पत्र की पहचान कैसे सत्यापित करेंगे इस पर चर्चा करेंगे। दूसरे 2 स्थितियाँ सर्वर की TLS कॉन्फ़िगरेशन पर निर्भर करती हैं और यदि एप्लिकेशन अनएन्क्रिप्टेड डेटा भेजता है। पेंटेस्टर को अपने आप सर्वर की TLS कॉन्फ़िगरेशन की जांच करनी चाहिए (यहाँ से) और यह जांचना चाहिए कि क्या कोई गोपनीय जानकारी एक अनएन्क्रिप्टेड/वल्नरेबल चैनल के माध्यम से भेजी जा रही है।
इस प्रकार की वंल्नरेबिलिटीज़ को खोजने और सुधारने के बारे में अधिक जानकारी यहाँ मिलेगी।

SSL पिनिंग

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

HTTP ट्रैफिक की जांच

सबसे पहले, आपको (अवश्य) उस प्रॉक्सी टूल का प्रमाण पत्र इंस्टॉल करना चाहिए जिसका उपयोग आप करने जा रहे हैं, शायद Burp। यदि आप प्रॉक्सी में एन्क्रिप्टेड ट्रैफिक नहीं देख पा रहे हैं, तो आप शायद प्रॉक्सी में CA प्रमाण पत्र का इंस्टॉल नहीं करेंगे।
कृपया, एक कस्टम CA प्रमाण पत्र को कैसे इंस्टॉल करने के लिए इस गाइड को पढ़ें

API स्तर 24+ को लक्षित करने वाले एप्लिकेशन के लिए Burp CA प्रमाण पत्र को उपकरण में इंस्टॉल करना पर्याप्त नहीं है। इस नई सुरक्षा को दरकिनार करने के लिए आपको नेटवर्क सुरक्षा कॉन्फ़िग फ़ाइल में परिवर्तन करना होगा। इसलिए, आप इस फ़ाइल को संशोधित कर सकते हैं ताकि आपके CA प्रमाण पत्र को अधिकृत किया जा सके या आप इस पृष्ठ को पढ़ें जिसमें एप्लिकेशन को फिर से सभी इंस्टॉल किए गए प्रमाण पत्र स्वीकार करने के लिए कैसे मजबूर किया जाए

SSL पिनिंग

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

  • स्वचालित रूप से apk को bypass करने के लिए apk-mitm का उपयोग करें। इस विकल्प का सबसे बड़ा लाभ यह है कि आपको SSL पिनिंग को बाईपास करने के लिए रूट की आवश्यकता नहीं होगी, लेक
# With PID
python3 fridump3.py -u <PID>

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

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

{% code overflow="wrap" %}

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 %}

Keystore में संवेदनशील डेटा

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

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

केस्टोर के अंदर डेटा तक पहुंचने के लिए आप इस 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 Parcelable है, इस क्लास के ऑब्जेक्ट को एक अन्य Intent ऑब्जेक्ट में अतिरिक्त डेटा के रूप में पारित किया जा सकता है।
कई डेवलपर्स इस विशेषता का उपयोग करते हैं और प्रॉक्सी कॉम्पोनेंट्स (एक्टिविटीज, ब्रॉडकास्ट रिसीवर्स और सर्विसेज) बनाते हैं जो एक संबंधित इंटेंट को लेते हैं और खतरनाक विधियों को पारित करते हैं जैसे startActivity(...) , sendBroadcast(...) आदि।
यह खतरनाक है क्योंकि एक हमलावार ऐप्लिकेशन को एक ऐसा अन्य ऐप्लिकेशन से सीधे लॉन्च नहीं किया जा सकने वाला कॉम्पोनेंट लॉन्च करने के लिए मजबूर कर सकता है, या हमलावार को इसके सामग्री प्रदाताओं तक पहुंचने की अनुमति दे सकता है। WebView कभी-कभी एक URL को एक स्ट्रिंग से 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

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

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

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

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

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

शैल

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

help
shell ls
activities
exported_activities
services
receivers

HTTP उपकरण

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

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

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

adb shell settings put global http_proxy :0

{% endhint %}

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

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

{% content-ref url="inspeckage-tutorial.md" %} inspeckage-tutorial.md {% endcontent-ref %}

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 का विश्लेषण
  • सामान्य सुरक्षा और व्यवहार के लिए स्थैतिक स्रोत कोड विश्लेषण
  • डिवाइस जानकारी
  • इंटेंट्स
  • कमांड निष्पादन
  • SQLite संदर्भ
  • लॉगिंग संदर्भ
  • सामग्री प्रदाताओं
  • प्रसारण स्वीकर्ताओं
  • सेवा संदर्भ
  • फ़ाइल संदर्भ
  • क्रिप्टो संदर्भ
  • हार्डकोड सीक्रेट्स
  • URL's
  • नेटवर्क कनेक्शन
  • SSL संदर्भ
  • WebView संदर्भ
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

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

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

स्रोत: https://en.wikipedia.org/wiki/ProGuard_(software)

DexGuard

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

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

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

DeGuard

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

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

Simplify

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

APKiD

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

Manual

कस्टम अवशोषण को उलटने के लिए कुछ ट्रिक्स सीखने के लिए इस ट्यूटोरियल को पढ़ें

Labs

Androl4b

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

OWASP

{% embed url="https://github.com/OWASP/owasp-mstg%0Ahttps://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06g-testing-network-communication" %}

Git Repos

https://github.com/riddhi-shree/nullCommunity/tree/master/Android
https://www.youtube.com/watch?v=PMKnPaGWxtg&feature=youtu.be&ab_channel=B3nacSec

References

अधिक जानकारी के लिए देखें:

To Test

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

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

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

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

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

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

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

  • यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप