hacktricks/mobile-pentesting/android-app-pentesting
2024-01-13 22:31:10 +00:00
..
drozer-tutorial Translated to Hindi 2023-11-06 08:38:02 +00:00
frida-tutorial Translated ['mobile-pentesting/android-app-pentesting/frida-tutorial/REA 2024-01-13 22:31:10 +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 ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-05 12:32:12 +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 ['linux-hardening/privilege-escalation/docker-security/docker 2023-12-19 22:02:31 +00:00
content-protocol.md Translated ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +00:00
exploiting-a-debuggeable-applciation.md Translated to Hindi 2023-11-06 08:38:02 +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 ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +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 ['linux-unix/privilege-escalation/docker-breakout.md', 'linux 2024-01-07 00:17:49 +00:00
react-native-application.md Translated to Hindi 2023-11-06 08:38:02 +00:00
README.md Translated to Hindi 2023-11-06 08:38:02 +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 एप्लिकेशन पेंटेस्टिंग

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

HackenProof में सभी क्रिप्टो बग बाउंटी होती है।

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

वेब3 पेंटेस्टिंग में अनुभव प्राप्त करें
ब्लॉकचेन प्रोटोकॉल और स्मार्ट कॉन्ट्रैक्ट्स नई इंटरनेट हैं! उनके उभरते दिनों में वेब3 सुरक्षा को मास्टर करें।

वेब3 हैकर लीजेंड बनें
प्रत्येक सत्यापित बग के साथ प्रतिष्ठा अंक प्राप्त करें और साप्ताहिक लीडरबोर्ड के शीर्ष पर विजयी बनें।

HackenProof पर साइन अप करें और अपने हैक्स से कमाई करें!

{% embed url="https://hackenproof.com/register" %}

Android एप्लिकेशन की मूल बातें

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

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

ADB (Android Debug Bridge)

यह मुख्य उपकरण है जिसकी आपको एक Android डिवाइस (एम्युलेटेड या फिजिकल) से कनेक्ट करने की आवश्यकता होती है।
इसकी मदद से आप अपनी डिवाइस को 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 के स्ट्रिंग्स को देखकर आप पासवर्ड, URL (https://github.com/ndelphit/apkurlgrep), API कुंजी, एन्क्रिप्शन, ब्लूटूथ UUIDs, टोकन और कुछ भी दिलचस्प खोज सकते हैं... कोड निष्पादन बैकडोर या प्रमाणीकरण बैकडोर (ऐप में हार्डकोड किए गए व्यवस्थापक क्रेडेंशियल्स) के लिए भी देखें।

Firebase

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

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

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

  • सबसे पहले, यह जांचें कि एप्लिकेशन डिबग करने योग्य है या नहीं। एक उत्पादन APK ऐसा नहीं होना चाहिए (या अन्य लोग इससे कनेक्ट कर सकते हैं)। आप मैनिफेस्ट में एट्रिब्यूट debuggable="true" की खोज करके जांच सकते हैं। उदाहरण: <application theme="@2131296387" debuggable="true"
  • यहां सीखें कि फ़ोन में डिबग करने योग्य एप्लिकेशन कैसे खोजें और उन्हें शोषण करें
  • बैकअप: android:allowBackup एट्रिब्यूट यह परिभाषित करता है कि क्या एक उपयोगकर्ता जिसने usb डिबगिंग सक्षम कर दी है, एप्लिकेशन डेटा का बैकअप और रीस्टोर कर सकता है। यदि बैकअप फ़्लैग को सत्य माना जाता है, तो यह एक हमलावर्धक को adb के माध्यम से एप्लिकेशन डेटा का बैकअप लेने की अनुमति देता है, यदि उपकरण रूट नहीं है। इसलिए, कार्ड विवरण, पासवर्ड आदि जैसी संवेदनशील जानकारी का संग्रह और संचित करने वाले ऐप्लिकेशनों को इस सेटिंग को विशेष रूप से निर्धारित करना चाहिए क्योंकि इसे ऐसे जोखिमों से बचाने के लिए डिफ़ॉल्ट रूप से सत्य माना जाता है।
  • <application android:allowBackup="false"
  • नेटवर्क सुरक्षा: एप्लिकेशन नेटवर्क सुरक्षा को डिफ़ॉल्ट मान्यताओं के साथ अधिलेखित कर सकता है android:networkSecurityConfig="@xml/network_security_config". इस नाम की एक फ़ाइल res/xml. में रखी जा सकती है। यह फ़ाइल महत्वपूर्ण सुरक्षा सेटिंग्स को कॉन्फ़िगर करेगी जैसे प्रमाणपत्र पिन या यदि यह HTTP ट्रैफ़िक की अनुमति देता है। आप यहां सभी चीजों के बारे में अधिक जानकारी पढ़ सकते हैं, लेकिन कुछ डोमेनों के लिए HTTP ट्रैफ़िक कैसे कॉन्फ़िगर करने के बारे में यह उदाहरण देखें:
  • ` <domain includeSubdomains="true

टूटी हुई TLS

सभी प्रमाणपत्र स्वीकार करें

कभी-कभी कारणों से डेवलपर्स सभी प्रमाणपत्रों को स्वीकार करते हैं, यदि उदाहरण के लिए होस्टनाम कोड के लाइनों के साथ मेल नहीं खाता है, जैसे निम्नलिखित लाइन:

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

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

टूटी हुई गुप्तचर विज्ञान

खराब कुंजी प्रबंधन प्रक्रियाएं

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

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

डेवलपर्स को अधिकारीकरण की जांच, डेटा संग्रह या भेजने के लिए विचलित एल्गोरिदम का उपयोग नहीं करना चाहिए। इनमें से कुछ एल्गोरिदम हैं: 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 कोड के द्वारा खुदरा को स्कैन करके दुर्बलताएं खोजने में सक्षम है। यह टूल एक श्रृंखला में ज्ञात स्रोतों (जो टूल को

एक शारीरिक उपकरण का उपयोग करें

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

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

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

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

लॉगिंग

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

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

यदि डेटाबेस गोपनीय जानकारी सहेज

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

ध्यान दें: MobSF एक्टिविटी में android:launchMode के रूप में singleTask/singleInstance का उपयोग को खतरानक मानेगा, लेकिन इस के कारण, यह दिखता है कि यह केवल पुराने संस्करणों (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 हमलों के प्रति संवेदनशील होती है। इसलिए कोई भी हमलावर आसानी से उस कनेक्शन को डिक्रिप्ट कर सकता है।
  • गोपनीयता सूचना लीकेज: अधिकांश समयों में ऐसा होता है कि एप्लिकेशन सुरक्षित चैनल के माध्यम से प्रमाणीकरण करता है लेकिन शेष सभी कनेक्शन गैर-सुरक्षित चैनल के माध्यम से होते हैं। यह एप्लिकेशन की सुरक्षा में जोड़ नहीं देता क्योंकि शेष संवेदनशील डेटा जैसे सत्र कुकी या उपयोगकर्ता डेटा को एक दुर्भाग्यपूर्ण उपयोगकर्ता द्वारा आपत्तिजनक रूप से अवरोधित किया जा सकता है।

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

मेमोरी डंप - फ्रिडंप

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

Fridump3 का उपयोग करके आप ऐप की मेमोरी को डंप कर सकते हैं:

# With PID
python3 fridump3.py -u <PID>

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

यह ./dump फ़ोल्डर में मेमोरी डंप करेगा, और वहां आप कुछ इस तरह से 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 %}

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

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

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

कीस्टोर के अंदर के डेटा तक पहुंचने के लिए आप इस 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

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

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

{% 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 ऑब्जेक्ट में बदलता है, Intent.parseUri(...) मेथड का उपयोग करके, और इसे startActivity(...) को पास करता है।

एंड्रॉइड क्लाइंट साइड इंजेक्शन और अन्य

शायद आप वेब से इस प्रकार की सुरक्षा के बारे में जानते हों। एंड्रॉइड एप्लिकेशन में इस प्रकार की सुरक्षा के साथ विशेष सतर्क रहना चाहिए:

  • SQL इंजेक्शन: डायनेमिक क्वेरीज़ या कंटेंट-प्रोवाइडर्स के साथ काम करते समय सुनिश्चित करें कि आप पैरामीटरीकृत क्वेरीज़ का उपयोग कर रहे हैं।
  • जावास्क्रिप्ट इंजेक्शन (XSS): किसी भी वेबव्यू के लिए जावास्क्रिप्ट और प्लगइन समर्थन अक्षम होने की जांच करें (डिफ़ॉल्ट रूप से अक्षम है)। अधिक जानकारी यहां
  • स्थानीय फ़ाइल समावेश: किसी भी वेबव्यू के लिए फ़ाइल सिस्टम एक्सेस अक्षम होने की जांच करें (डिफ़ॉल्ट रूप से सक्षम है) (webview.getSettings().setAllowFileAccess(false);)अधिक जानकारी यहां
  • अविनाशी कुकीज़: कई मामलों में जब एंड्रॉइड एप्लिकेशन सत्र समाप्त होता है, कुकी रद्द नहीं की जाती है या यह डिस्क में सहेजा जा सकता है
  • कुकीज़ में सुरक्षित ध्वज

HackenProof क्रिप्टो बग बाउंटी के लिए घर है।

देरी के बिना पुरस्कार प्राप्त करें
HackenProof बाउंटी केवल तब शुरू होती हैं जब उनके ग्राहक पुरस्कार बजट जमा करते हैं। आपको पुरस्कार उस बग को सत्यापित करने के बाद मिलेगा।

वेब3 पेंटेस्टिंग में अनुभव प्राप्त करें
ब्लॉकचेन प्रोटोकॉल और स्मार्ट कॉन्ट्रैक्ट्स नई इंटरनेट हैं! इसके उभरते दिनों में वेब3 सुरक्षा को मास्टर करें।

वेब3 हैकर लीजेंड बनें
प्रत्येक सत्यापित बग के साथ प्रतिष्ठा अंक प्राप्त करें और साप्ताहिक लीडरबोर्ड के शीर्ष पर विजयी बनें।

HackenProof पर साइन अप करें और अपने हैक्स से कमाई करना शुरू करें!

{% embed url="https://hackenproof.com/register" %}

स्वचालित विश्लेषण

MobSF

स्थिर विश्लेषण

एक अच्छा वेब-आधारित फ्रंटएंड का उपयोग करके एप्लिकेशन के सुरक्षा मूल्यांकन। आप डायनेमिक विश्लेषण भी कर सकते हैं (लेकिन आपको पर्याप्त तैयारी करनी होगी)।

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 एप्लिकेशन का विश्लेषण करने के लिए MobSF को Windows होस्ट में स्थापित करना होगा).
इसके अलावा, यदि आप 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 एंड्रॉइड में गतिशील विश्लेषण के लिए भी बहुत सहायक हो सकता है, लेकिन इस मामले में आपको MobSF और genymotion को अपने होस्ट में स्थापित करने की आवश्यकता होगी (एक VM या डॉकर काम नहीं करेगा)। नोट: आपको पहले genymotion में एक VM शुरू करनी होगी और फिर MobSF को शुरू करनी होगी।
MobSF गतिशील विश्लेषक कर सकता है:

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

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

Frida

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

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

इसके अलावा, आपके पास कुछ सहायक Frida कार्यक्षमताएं भी हैं:

  • लोड किए गए कक्षाओं की गणना: यह सभी लोड किए गए कक्षाएँ प्रिंट करेगा
  • स्ट्रिंग कैप्चर करें: ऐप्लिकेशन का उपयोग करते समय सभी कैप्चर स्ट्रिंग्स प्रिंट करेगा (बहुत शोरगुल)
  • स्ट्रिंग तुलनाएं कैप्चर करें: बहुत उपयोगी हो सकता है। यह 2 स्ट्रिंग्स को तुलना करेगा और यदि परिणाम सही या गलत था तो दिखाएगा।
  • कक्षा विधियों की गणना: कक्षा का नाम डालें (जैसे "java.io.File") और यह कक्षा के सभी विधियों को प्रिंट करेगा।
  • कक्षा पैटर्न खोजें: पैटर्न द्वारा कक्षाएँ खोजें
  • कक्षा विधियों का ट्रेस करें: कक्षा क
help
shell ls
activities
exported_activities
services
receivers

HTTP उपकरण

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

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

{% 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 हों। यह टूल भी कुछ मिलीभगत खोजने के लिए "Proof-of-Concept" डिप्लॉयबल APK और ADB commands बनाने की क्षमता रखता है, ताकि कुछ मिलीभगत की गई कमियों (एक्सपोज़्ड गतिविधियाँ, इंटेंट्स, टैपजैकिंग...) का उपयोग करें। ड्रोज़र की तरह, परीक्षण उपकरण को रूट करने की आवश्यकता नहीं है।

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

SUPER Android Analyzer

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

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

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

super-analyzer {apk_file}

StaCoAn

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

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

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

./stacoan

AndroBugs

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

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

Androwarn

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

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

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

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

MARA Framework

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

यह क्षमता है:

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

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 के रूप में लोड करें;
  • इसके परिणामस्वरूप को डिक्रिप्ट करने के लिए FilterInputStream से विरासत में लिए गए एक क्लास को खिलाएं;
  • कुछ बेकार छिपाने के लिए अवांछनीयता करें;
  • डिक्रिप्ट किए गए परिणाम को एक ZipInputStream में खिलाएं ताकि एक DEX फ़ाइल प्राप्त करें;
  • अंत में loadDex विधि का उपयोग करके परिणामस्वरूप DEX को एक रिसोर्स के रूप में लोड करें।

DeGuard

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

आप उनके प्लेटफ़ॉर्म पर एक छिपाए गए APK अपलोड कर सकते हैं।

Simplify

यह एक **जेनेरिक एंड्रॉइड डी