Android Applications Pentesting

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

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

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

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

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

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

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

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

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

pageAndroid Applications Basics

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
  • APKEditor के साथ सभी स्प्लिट और बेस APK को मर्ज करें:

mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 1 | xargs -n1 -i adb pull {} splits
java -jar ../APKEditor.jar m -i splits/ -o merged.apk

# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed

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

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

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

APK के स्ट्रिंग्स को देखकर आप पासवर्ड, URLs (https://github.com/ndelphit/apkurlgrep), एपीआई कुंजी, एन्क्रिप्शन, ब्लूटूथ 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 फ़ाइल से, एपीआई कुंजी, कस्टम स्कीमा, और अन्य डेवलपर नोट्स जैसी संवेदनशील जानकारी प्राप्त की जा सकती है, जिससे इन संसाधनों का सावधानी से समीक्षा करने की आवश्यकता है।

टैपजैकिंग

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

अधिक जानकारी यहां मिलेगी:

pageTapjacking

कार्य हिजैकिंग

launchMode को singleTask बिना किसी taskAffinity के सेट किया गया एक गतिविधि कार्य हिजैकिंग के लिए विकल्पनीय है। इसका मतलब है कि एक एप्लिकेशन स्थापित किया जा सकता है और यदि वास्तविक एप्लिकेशन से पहले लॉन्च किया जाता है तो यह वास्तविक एप्लिकेशन का कार्य हिजैक कर सकता है (ताकि उपयोगकर्ता माने कि वह वास्तविक एप्लिकेशन का उपयोग कर रहा है)।

अधिक जानकारी:

pageAndroid Task Hijacking

असुरक्षित डेटा स्टोरेज

आंतरिक स्टोरेज

Android में, आंतरिक स्टोरेज में संग्रहित फ़ाइलें उस एप्लिकेशन द्वारा विशेष रूप से पहुंचने के लिए डिज़ाइन की गई हैं जिसने उन्हें बनाया है। यह सुरक्षा उपाय Android ऑपरेटिंग सिस्टम द्वारा प्रवर्तित किया जाता है और आम तौर पर इसका पर्याप्त होता है। हालांकि, डेवलपर कभी-कभी MODE_WORLD_READABLE और MODE_WORLD_WRITABLE जैसे मोड का उपयोग करते हैं ताकि फ़ाइलें विभिन्न एप्लिकेशनों के बीच साझा की जा सकें। फिर भी, ये मोड इन फ़ाइलों को अनधिकृत या अनधिकृत रूप से पहुंचने की अनुमति नहीं देते।

  1. स्थिर विश्लेषण:

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

टूटी हुई गुप्तांक्रिया

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

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

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

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

अन्य जांचें

  • APK को अवगाहित करना सिफारिश किया जाता है ताकि उलटी सक्षमता करने वाले कार्यकर्ताओं को कठिनाई हो।

  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह अपने जांच करना चाहिए कि क्या मोबाइल रूट किया गया है और उसके अनुसार कार्रवाई करनी चाहिए।

  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह देखना चाहिए कि क्या एक एम्युलेटर का उपयोग हो रहा है।

  • यदि ऐप संवेदनशील है (जैसे बैंक ऐप्स), तो यह अपनी अखंडता की जांच करनी चाहिए इसे यह देखने के लिए कि क्या यह संशोधित किया गया है।

  • APKiD का उपयोग करें ताकि जांच करें कि APK को कौन सा कंपाइलर/पैकर/अवगाहक का उपयोग किया गया था।

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

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

pageReact Native Application

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

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

pageXamarin Apps

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

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

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

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

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

गुप्तांक लीक

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

बायपास जीवाचारिक प्रमाणीकरण

pageBypass Biometric Authentication (Android)

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

अन्य ट्रिक्स

pagecontent:// protocol

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

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

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

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

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


गतिशील विश्लेषण

सबसे पहले, आपको एक वातावरण की आवश्यकता है जहां आप ऐप्लिकेशन और सभी वातावरण (जैसे Burp CA सर्ट, Drozer और Frida मुख्य रूप से) इंस्टॉल कर सकते हैं। इसलिए, रूट किया गया डिवाइस (एम्युलेटेड या नहीं) बहुत अधिक सिफारिश किया जाता है।

ऑनलाइन गतिशील विश्लेषण

आप निम्नलिखित में एक मुफ्त खाता बना सकते हैं: https://appetize.io/। इस प्लेटफ़ॉर्म की अनुमति देती है कि आप APKs को अपलोड और निष्पादित कर सकें, इसलिए यह उपयोगी है एक apk का व्यवहार देखने के लिए।

आप वेब में अपने ऐप्लिकेशन के लॉग भी देख सकते हैं और adb के माध्यम से कनेक्ट कर सकते हैं।

ADB कनेक्शन के धन्यवाद आप एम्युलेटर्स के भीतर Drozer और Frida का उपयोग कर सकते हैं।

स्थानीय गतिशील विश्लेषण

एम्युलेटर का उपयोग करना

  • [**एंड्र

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

लॉगिंग

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

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

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

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) तंत्र का उपयोग करना और अंतर्निहित ऑपरेटिंग सिस्टम के साथ बातचीत करना। Drozer एक उपयोगी उपकरण है जो निर्यात की गई एक्टिविटीज, निर्यात की गई सेवाएं और कंटेंट प्रोवाइडर्स का एक्सप्लॉइट करने के लिए है जैसा कि आप निम्न खंडों में सीखेंगे।

निर्यात की गई एक्टिविटीज का शोषण

यह पढ़ें अगर आप चाहते हैं कि एंड्रॉइड एक्टिविटी क्या है तो। याद रखें कि एक्टिविटी का कोड 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).

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

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

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

टैपजैकिंग

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

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

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

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

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

यदि आप एक सेवा क्या है ताजगी चाहते हैं तो इसे पढ़ें ध्यान रखें कि सेवा के कार्य का प्रारंभ onStartCommand विधि में होता है।

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

प्रसारण प्राप्तकर्ताओं का शोषण

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

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

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

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

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

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

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

कोड निष्पादित

ऐप में निष्पादित होने वाला कोड खोजने के लिए, डीप लिंक द्वारा बुलाए गए गतिविधि पर जाएं और 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 और ऊपर को लक्षित करने वाले एप्लिकेशन को नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने की आवश्यकता होती है ताकि प्रॉक्सी का CA प्रमाणपत्र स्वीकार कर सके। यह कदम एन्क्रिप्टेड ट्रैफिक की जांच के लिए महत्वपूर्ण है। नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने के बारे में निर्देशों के लिए, इस ट्यूटोरियल का संदर्भ दें

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

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

  • स्वचालित रूप से apk को bypass करने के लिए apk-mitm का उपयोग करें। इस विकल्प का सबसे बड़ा लाभ यह है कि आपको SSL पिनिंग को छलने के लिए रूट की आवश्यकता नहीं है, लेकिन आपको एप्लिकेशन को हटाना और नया इंस्टॉल करने की आवश्यकता होगी, और यह हमेशा काम नहीं करेगा।

  • आप इस सुरक्षा को छलने के लिए Frida (नीचे चर्चा की गई) का उपयोग कर सकते हैं। यहाँ आपको Burp+Frida+Genymotion का उपयोग करने के लिए एक मार्गदर्शिका मिलेगी: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/

  • आप यह भी प्रयास कर सकते हैं कि ऑटोमेटिक रूप से SSL पिनिंग को छलने के लिए objection: objection --gadget com.package.app explore --startup-command "android sslpinning disable"

  • आप यह भी प्रयास कर सकते हैं कि ऑटोमेटिक रूप से SSL पिनिंग को छलने के लिए MobSF डायनामिक विश्लेषण का उपयोग करें (नीचे समझाया गया है)

  • अगर आपको लगता है कि आप कुछ ट्रैफिक को क

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

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

यह ./डंप फ़ोल्डर में मेमोरी डंप करेगा, और वहां आप इस तरह से 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]+$"

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

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

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

कीस्टोर के अंदर डेटा तक पहुंचने के लिए आप इस 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 एप्लिकेशन कुछ संवेदनशील क्षेत्रों को सुरक्षित करने के लिए किया जा रहे फिंगरप्रिंट प्रमाणीकरण को अनदेखा किया जा सके:

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

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

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

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

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

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

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

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

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

इंटेंट इंजेक्शन

Developers अक्सर proxy components जैसे activities, services, और broadcast receivers बनाते हैं जो इन Intents को संभालते हैं और उन्हें startActivity(...) या sendBroadcast(...) जैसी methods को पारित करते हैं, जो खतरनाक हो सकता है।

खतरा इसमें है कि हमलावारों को गैर-निर्यातित ऐप के components को ट्रिगर करने या इन Intents को गलत दिशा में भेजकर संवेदनशील सामग्री प्रदाताओं तक पहुंचने की अनुमति देने में है। एक प्रमुख उदाहरण है WebView component जो URLs को Intent objects में रूपांतरित करता है Intent.parseUri(...) के माध्यम से और फिर इन्हें क्रियान्वित करता है, जिससे दुर्भाग्यपूर्ण Intent injections की ओर जा सकता है।

महत्वपूर्ण बातें

  • Intent Injection वेब के ओपन रीडायरेक्ट मुद्दे के समान है।

  • एक्सप्लॉइट्स में Intent ऑब्जेक्ट्स को एक्स्ट्रा के रूप में पास करना शामिल है, जो असुरक्षित ऑपरेशन को निष्पादित करने के लिए पुनर्निर्देशित किया जा सकता है।

  • यह अटैकर्स को गैर-निर्यातित कॉम्पोनेंट्स और कंटेंट प्रोवाइडर को उजागर कर सकता है।

  • WebView का URL से Intent में परिवर्तन अनजान क्रियाएं सुनिश्चित कर सकता है।

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

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

  • SQL इंजेक्शन: डायनामिक क्वेरीज या कंटेंट-प्रोवाइडर्स के साथ काम करते समय सुनिश्चित करें कि आप पैरामीटराइज्ड क्वेरीज का उपयोग कर रहे हैं।

  • जावास्क्रिप्ट इंजेक्शन (XSS): किसी भी WebViews के लिए जावास्क्रिप्ट और प्लगइन समर्थन अक्षम है या नहीं यह सत्यापित करें (डिफ़ॉल्ट रूप से अक्षम)। अधिक जानकारी यहाँ

  • स्थानीय फ़ाइल समावेशन: WebViews को फ़ाइल सिस्टम तक पहुँच अक्षम होना चाहिए (डिफ़ॉल्ट रूप से सक्षम) - (webview.getSettings().setAllowFileAccess(false);)। अधिक जानकारी यहाँ

  • शाश्वत कुकीज़: कई मामलों में जब एंड्रॉइड एप्लिकेशन सत्र समाप्त होता है तो कुकी निरस्त नहीं की जाती या यह डिस्क में सहेजा जा सकता है।


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

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

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

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

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

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

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

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

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 आपको उन्हें निर्यात की गई गतिविधियों को आमंत्रित करने, उनके स्क्रीनशॉट्स लेने और उन्हें रिपोर्ट के लिए सहेजने की भी अनुमति देता है।

गतिशील परीक्षण शुरू करने के लिए हरे बटन "इंस्ट्रूमेंटेशन शुरू करें" दबाएं। फ्रिडा स्क्रिप्ट्स द्वारा उत्पन्न लॉग देखने के लिए "फ्रिडा लाइव लॉग्स" दबाएं और "लाइव API मॉनिटर" दबाएं ताकि हुक्ड मेथड्स के सभी आमंत्रण, पारित तत्व और वापसी मान देख सकें (यह "इंस्ट्रूमेंटेशन शुरू करें" दबाने के बाद दिखाई देगा)। 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 कर सकते हैं और सुरक्षा दोषों की खोज कर सकते हैं।

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

adb shell settings put global http_proxy :0

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

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

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

यह उपकरण कई सुरक्षा संबंधित 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

  • सभी निकाले गए फ़ाइलों को आसान संदर्भ के लिए प्रदर्शित करता है

  • APK फ़ाइलों को स्वचालित रूप से जावा और स्माली प्रारूप में डिकॉम्पाइल करता है

  • सामान्य सुरक्षा और व्यवहार के लिए AndroidManifest.xml का विश्लेषण

  • सामान्य सुरक्षा और व्यवहार के लिए स्थैतिक स्रोत कोड विश्लेषण

  • डिवाइस जानकारी

  • और अधिक

reverse-apk relative/path/to/APP.apk

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

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

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

super-analyzer {apk_file}

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

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

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

./stacoan

एंड्रोबग्स फ्रेमवर्क एक एंड्रॉइड सुरक्षा विश्लेषण प्रणाली है जो डेवलपर्स या हैकर्स को एंड्रॉइड एप्लिकेशन में संभावित सुरक्षा वंर्णाशों को खोजने में मदद करती है। 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 एक Mोबाइल Aप्लिकेशन Rीवर्स इंजीनियरिंग और Aनालिसिस फ्रेमवर्क है। यह एक टूल है जो सामान्य रूप से उपयोग किए जाने वाले मोबाइल एप्लिकेशन रीवर्स इंजीनियरिंग और विश्लेषण उपकरणों को एक साथ लाता है, OWASP मोबाइल सुरक्षा खतरों के खिलाफ मोबाइल एप्लिकेशनों का परीक्षण करने में सहायक होने के लिए। इसका उद्देश्य यह कार्य सुविधाजनक और मोबाइल एप्लिकेशन डेवलपर्स और सुरक्षा विशेषज्ञों के लिए आसान बनाना है।

यह क्षमता है:

  • विभिन्न उपकरणों का उपयोग करके जावा और स्माली कोड निकालना

  • smalisca, ClassyShark, androbugs, androwarn, APKiD का उपयोग करके APK का विश्लेषण करना

  • APK से regexps का उपयोग करके निजी जानकारी निकालना।

  • मैनिफेस्ट का विश्लेषण करना।

  • pyssltest, testssl और whatweb का उपयोग करके पाए गए डोमेन का विश्लेषण करना

  • apk-deguard.com के माध्यम से APK को डीओबफस्केट करना

Koodous

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

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

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

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

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

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

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

  • एक रिसोर्स को एक InputStream के रूप में लोड करें;

  • इसे डिक्रिप्ट करने के लिए एक फिल्टरInputStream से परिणाम को फीड करें;

  • कुछ अनावश्यक अवशोषण करें ताकि एक रिवर्सर के कुछ मिनट बर्बाद हों;

  • डिक्रिप्ट किए गए परिणाम को एक ZipInputStream में फीड करें ताकि एक DEX फ़ाइल मिले;

  • अंततः परिणामी DEX को एक रिसोर्स के रूप में loadDex विधि का उपयोग करें।

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

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

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

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

Manual

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

Labs

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

References

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

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

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

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

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

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

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

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

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

  • [आधिकारिक PEASS & HackTricks स्वैग](https://

Last updated