.. | ||
drozer-tutorial | ||
frida-tutorial | ||
adb-commands.md | ||
android-applications-basics.md | ||
android-task-hijacking.md | ||
apk-decompilers.md | ||
avd-android-virtual-device.md | ||
bypass-biometric-authentication-android.md | ||
content-protocol.md | ||
exploiting-a-debuggeable-applciation.md | ||
google-ctf-2018-shall-we-play-a-game.md | ||
inspeckage-tutorial.md | ||
install-burp-certificate.md | ||
intent-injection.md | ||
make-apk-accept-ca-certificate.md | ||
manual-deobfuscation.md | ||
react-native-application.md | ||
README.md | ||
reversing-native-libraries.md | ||
smali-changes.md | ||
spoofing-your-location-in-play-store.md | ||
tapjacking.md | ||
webview-attacks.md |
एंड्रॉयड एप्लिकेशन्स पेंटेस्टिंग
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- अगर आप चाहते हैं कि आपकी कंपनी HackTricks में विज्ञापित हो या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- हमारे साथ जुड़ें 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह में शामिल हों या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो** करें।
- अपने हैकिंग ट्रिक्स साझा करें, HackTricks के HackTricks और HackTricks Cloud github repos में PRs सबमिट करके।
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करने के लिए जुड़ें!
हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक न्यूज़
तेज गति से हैकिंग विश्व के साथ अप-टू-डेट रहें और अंतर्दृष्टि प्राप्त करें
नवीनतम घोषणाएं
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफॉर्म अपडेट के साथ अवगत रहें
हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
एंड्रॉयड एप्लिकेशन्स की बुनियादी जानकारी
यह अत्यधिक सिफारिश की जाती है कि आप इस पृष्ठ को पढ़ना शुरू करें ताकि आपको पता चले कि एंड्रॉयड सुरक्षा से संबंधित सबसे महत्वपूर्ण भाग और एंड्रॉयड एप्लिकेशन में सबसे खतरनाक घटक क्या हैं:
{% content-ref url="android-applications-basics.md" %} android-applications-basics.md {% endcontent-ref %}
ADB (एंड्रॉयड डीबग ब्रिज)
यह मुख्य उपकरण है जिसकी आपको एंड्रॉयड डिवाइस (एम्युलेटेड या फिजिकल) से कनेक्ट करने की आवश्यकता है।
ADB कंप्यूटर से उपकरणों को या USB या नेटवर्क के माध्यम से नियंत्रित करने की अनुमति देता है। यह उपयोगिता फ़ाइलों की प्रतिलिपि, ऐप्स की स्थापना और हटाना, शैल कमांड्स का निष्पादन, डेटा का बैकअप, लॉग पढ़ना, इत्यादि की संभावना को सक्षम करता है।
ADB का उपयोग कैसे करें इसे सीखने के लिए ADB Commands की निम्नलिखित सूची पर नजर डालें।
Smali
कभी-कभी एप्लिकेशन कोड में परिवर्तन करना दिलचस्प हो सकता है ताकि छिपी जानकारी तक पहुंचा जा सके (शायद अच्छी तरह से ओबफस्केटेड पासवर्ड या फ़्लैग्स)। फिर, APK को डिकॉम्पाइल करना, कोड में परिवर्तन करना और उसे पुनः कॉम्पाइल करना दिलचस्प हो सकता है।
इस ट्यूटोरियल में आप **सीख सकते हैं कि APK को डिकॉम्पाइल कैसे करें, Smali कोड को संशोधित करें और APK को नई फ़ंक्शनैलिटी के साथ पुनः कॉम्पाइल करें। यह एक वैकल्पिक रूप से कई परीक्षणों के लिए एक विकल्प के रूप में बहुत उपयोगी हो सकता है जो डायनामिक विश्लेषण के दौरान प्रस्तुत किए जाएंगे। तो, हमेशा इस संभावना को ध्यान में रखें।
अन्य दिलचस्प ट्रिक्स
- प्ले स्टोर में अपनी स्थान स्पूफ़ करना
- APK डाउनलोड करें: https://apps.evozi.com/apk-downloader/, https://apkpure.com/es/, https://www.apkmirror.com/, https://apkcombo.com/es-es/apk-downloader/, https://github.com/kiber-io/apkd
- डिवाइस से 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 पर विशेष ध्यान दें और देखें कि क्या यह गलत रूप से कॉन्फ़िगर किया गया है। इसके बारे में अधिक जानकारी के लिए यहाँ क्लिक करें।
एप्लिकेशन की मूलभूत समझ - 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 फ़ाइल से, एपीआई कुंजी, कस्टम स्कीमा, और अन्य डेवलपर नोट्स जैसी संवेदनशील जानकारी प्राप्त की जा सकती है, जिससे इन संसाधनों का सावधानी से समीक्षा करने की आवश्यकता है।
टैपजैकिंग
टैपजैकिंग एक हमला है जहां एक दुर्भाग्यपूर्ण एप्लिकेशन लॉन्च किया जाता है और वह एक पीड़ित एप्लिकेशन के ऊपर स्थिति बनाता है। जब यह पीड़ित एप्लिकेशन को दिखाई देता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस प्रकार से डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ बातचीत करने के लिए धोखा देने के लिए उकसाया जा सकता है, जबकि यह पीड़ित एप्लिकेशन पर कार्रवाई कर रहा है।
असर में, यह उपयोगकर्ता को अंधेरे में रख देता है कि वे वास्तव में पीड़ित एप्लिकेशन पर कार्रवाई कर रहे हैं।
अधिक जानकारी के लिए:
{% content-ref url="tapjacking.md" %} tapjacking.md {% endcontent-ref %}
कार्य हिजैकिंग
launchMode
को singleTask
के रूप में सेट करने वाली एक्टिविटी जिसमें कोई taskAffinity
परिभाषित नहीं है, कार्य हिजैकिंग के लिए वंशी है। इसका मतलब है कि एक एप्लिकेशन को स्थापित किया जा सकता है और यदि वास्तविक एप्लिकेशन से पहले लॉन्च किया जाता है तो यह वास्तविक एप्लिकेशन का कार्य हिजैक कर सकता है (ताकि उपयोगकर्ता माने कि वह वास्तविक एप्लिकेशन का उपयोग कर रहा है)।
अधिक जानकारी:
{% content-ref url="android-task-hijacking.md" %} android-task-hijacking.md {% endcontent-ref %}
असुरक्षित डेटा स्टोरेज
आंतरिक स्टोरेज
Android में, आंतरिक स्टोरेज में संग्रहित फ़ाइलें उस ऐप द्वारा विशेष रूप से पहुंचने के लिए डिज़ाइन की गई हैं जिसने उन्हें बनाया है। यह सुरक्षा उपाय Android ऑपरेटिंग सिस्टम द्वारा प्रवर्तित किया जाता है और आम तौर पर इसका पर्याप्त है ज्यादातर एप्लिकेशनों की सुरक्षा आवश्यकताओं के लिए। हालांकि, डेवलपर कभी-कभी MODE_WORLD_READABLE
और MODE_WORLD_WRITABLE
जैसे मोड का उपयोग करते हैं ताकि फ़ाइलें विभिन्न एप्लिकेशनों के बीच साझा की जा सकें। फिर भी, ये मोड इन फ़ाइलों को अनधिकृत या अनधिकृत एप्लिकेशनों द्वारा पहुंचने की प्रतिबंधित नहीं करते।
- स्थैतिक विश्लेषण:
- सुनिश्चित करें कि
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 संग्रहण के द्वारा विकल्प को खोजने में सक्षम है। यह उपकरण एक श्रृंखला के ज्ञात स्रोत (जो उपकरण को सूचित करते हैं कि उपयोगकर्ता द्वारा नियंत्रित स्थान कहां है), सिंक्स (जो उपकरण को सूचित करते हैं कि खतरनाक स्थान कहां हैं जहां दुर्भाग्यपूर्ण उपयोगकर्ता इनपुट क्षति का कारण बना सकता है) और नियम शामिल हैं। ये नियम उस संयोजन की सूचना देते हैं जो एक भेद्यता को सूचित करते हैं।
इस ज्ञान के साथ, mariana-trench कोड की समीक्षा करेगा और इसमें संभावित भेद्यताएं खोजेगा।
गुप्तांकन लीक
एक एप्लिकेशन में गुप्तांकन (API कुंजी, पासवर्ड, छिपी हुई URL, सबडोमेन...) हो सकता है जिसे आप खोज सकते हैं। आप एक उपकरण जैसे https://github.com/dwisiswant0/apkleaks का उपयोग कर सकते हैं।
बायपास जीवाचारिक प्रमाणीकरण
{% content-ref url="bypass-biometric-authentication-android.md" %} bypass-biometric-authentication-android.md {% endcontent-ref %}
अन्य दिलचस्प फ़ंक्शन
- कोड निष्पादन:
Runtime.exec(), ProcessBuilder(), native code:system()
- SMS भेजें:
sendTextMessage, sendMultipartTestMessage
- नेटिव फ़ंक्शन जो
नेटिव
के रूप में घोषित किए गए हैं:public native, System.loadLibrary, System.load
- नेटिव फ़ंक्शनों को उलटने के लिए यह पढ़ें
अन्य ट्रिक्स
{% content-ref url="content-protocol.md" %} content-protocol.md {% endcontent-ref %}
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!
हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक समाचार
तेजी से बदलते हैकिंग विश्व के साथ रियल-टाइम समाचार और अंतर्दृष्टि में रहें
नवीनतम घोषणाएं
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट्स के साथ अवगत रहें
हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
गतिशील विश्लेषण
सबसे पहले, आपको एक वातावरण की आवश्यकता है जहां आप एप्लिकेशन और सभी वातावरण (जैसे Burp CA सर्ट, Drozer और Frida मुख्य रूप से) इंस्टॉल कर सकते हैं। इसलिए, एक रूट किया गया डिवाइस (एम्युलेटेड या नहीं) बहुत सिफारिश किया जाता है।
ऑनलाइन गतिशील विश्लेषण
आप निम्नलिखित में एक मुफ्त खाता बना सकते हैं: https://appetize.io/। इस प्लेटफ़ॉर्म की अनुमति है कि आप APKs को अपलोड और निष्पादित कर सकें, इसलिए यह देखने में उपयोगी है कि एक apk कैसे व्यवहार कर रहा है।
आप वेब में अपने एप्लिकेशन के लॉग भी देख सकते हैं और adb के माध्यम से कनेक्ट कर सकते हैं।
ADB कनेक्शन के धन्यवाद आप एम्युलेटर्स के भीतर Drozer और Frida का उपयोग कर सकते हैं।
स्थानीय गतिशील विश्लेषण
एम्युलेटर का उपयोग करना
- एंड्रॉइड स्टूडियो (आप x86 और
अनजान डेटा लीकेज
लॉगिंग
डेवलपरों को सावधान रहना चाहिए कि डीबगिंग जानकारी को सार्वजनिक रूप से उजागर न करें, क्योंकि यह संवेदनशील डेटा लीक की ओर ले जा सकता है। उपकरण pidcat और adb logcat
को अनुशंसित किया जाता है एप्लिकेशन लॉग को मॉनिटर करने के लिए संवेदनशील जानकारी की पहचान और सुरक्षित जानकारी की सुरक्षा के लिए। Pidcat अपनी उपयोगिता और पठनीयता के लिए पसंद किया जाता है।
{% hint style="warning" %}
ध्यान दें कि Android 4.0 से बाद के नए संस्करण से, एप्लिकेशन केवल अपने खुद के लॉग तक पहुंच सकते हैं। इसलिए, एप्लिकेशन अन्य एप्लिकेशनों के लॉग तक पहुंच नहीं सकते।
फिर भी, सुरक्षित जानकारी को लॉग न करने की सिफारिश की जाती है।
{% endhint %}
कॉपी/पेस्ट बफर कैशिंग
Android का क्लिपबोर्ड-आधारित फ्रेमवर्क ऐप्स में कॉपी-पेस्ट कार्यक्षमता को सक्षम करता है, लेकिन अन्य एप्लिकेशन क्लिपबोर्ड तक पहुंच सकते हैं, संभावित रूप से संवेदनशील डेटा को उजागर करते हैं। संवेदनशील खंडों के लिए कॉपी/पेस्ट कार्यों को निषेधित करना महत्वपूर्ण है, जैसे क्रेडिट कार्ड विवरण, डेटा लीक से बचने के लिए।
क्रैश लॉग्स
यदि कोई एप्लिकेशन क्रैश होती है और लॉग सहेजती है, तो ये लॉग हमलावरों की मदद कर सकते हैं, विशेष रूप से जब एप्लिकेशन को पुनर्मुहानी किया नहीं जा सकता। इस जोखिम को कम करने के लिए, क्रैश पर लॉगिंग से बचें, और यदि लॉग नेटवर्क के माध्यम से भेजे जाने आवश्यक हैं, तो सुनिश्चित करें कि वे सुरक्षा के लिए एक SSL चैनल के माध्यम से भेजे जाते हैं।
पेंटेस्टर के रूप में, इन लॉगों की जांच करने का प्रयास करें।
तीसरे पक्षों को भेजी गई एनालिटिक्स डेटा
एप्लिकेशन अक्सर Google Adsense जैसी सेवाओं को एकीकृत करते हैं, जो डेवलपरों द्वारा गलत अमल के कारण अनजान रूप से संवेदनशील डेटा लीक कर सकती है। पोटेंशियल डेटा लीक्स की पहचान करने के लिए, एप्लिकेशन के ट्रैफिक को बाधित करना और तीसरे पक्ष सेवाओं को भेजी जाने वाली किसी भी संवेदनशील जानकारी की जांच करना सलाहकार है।
SQLite डेटाबेस
अधिकांश एप्लिकेशन आंतरिक SQLite डेटाबेस का उपयोग जानकारी सहेजने के लिए करेंगी। पेंटेस्ट के दौरान डेटाबेस बनाए गए, टेबल्स और कॉलम्स के नाम और सभी डेटा की जांच करें क्योंकि आप संवेदनशील जानकारी (जो एक कमजोरी हो सकती है) पा सकते हैं।
डेटाबेस को /data/data/the.package.name/databases
में स्थित किया जाना चाहिए जैसे /data/data/com.mwr.example.sieve/databases
यदि डेटाबेस गोपनीय जानकारी सहेज रहा है और एन्क्रिप्टेड है लेकिन आप एप्लिकेशन के अंदर पासवर्ड पा सकते हैं तो फिर भी एक कमजोरी है।
.tables
का उपयोग करके तालिकाओं की गणना करें और .schema <table_name>
करके तालिकाओं के कॉलम्स की गणना करें।
Drozer (एक्सप्लॉइट गतिविधियाँ, सामग्री प्रदाताओं और सेवाएं)
Drozer Docs से: Drozer आपको एक Android ऐप की भूमिका अभिग्रहण करने और अन्य ऐप्स के साथ बातचीत करने की अनुमति देता है। यह किसी भी स्थापित एप्लिकेशन के तरह कुछ भी कर सकता है, जैसे Android के इंटर-प्रोसेस कम्यूनिकेशन (IPC) तंत्र का उपयोग करना और अंडरलाइंग ऑपरेटिंग सिस्टम के साथ बातचीत करना।
Drozer एक उपयोगी उपकरण है जो निम्नलिखित खंडों में सीखने के लिए निर्यातित गतिविधियों, निर्यातित सेवाओं और सामग्री प्रदाताओं का एक्सप्लॉइट करने के लिए है।
निर्यातित गतिविधियों का शोषण
यह पढ़ें अगर आप एक Android गतिविधि क्या है ताजगी चाहते हैं।
याद रखें कि एक गतिविधि का कोड onCreate
विधि में शुरू होता है।
अधिकृति अनदर्शन
जब एक गतिविधि निर्यात की जाती है तो आप इसकी स्क्रीन को बाहरी एप्लिकेशन से आमंत्रित कर सकते हैं। इसलिए, यदि एक गतिविधि में संवेदनशील जानकारी है और यह निर्यात किया गया है तो आप प्रमाणीकरण तंत्रों को दौर करने के लिए इसे उपयोग कर सकते हैं।
Drozer के साथ निर्यातित गतिविधियों का शोषण कैसे करें इसे सीखें।
आप एडीबी से एक निर्यातित गतिविधि भी शुरू कर सकते हैं:
- पैकेजनाम है com.example.demo
- निर्यातित गतिविधि नाम है com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity
ध्यान दें: MobSF singleTask/singleInstance का उपयोग android:launchMode
के रूप में दुर्भाग्यपूर्ण मानेगा, लेकिन इस के कारण, यह पुराने संस्करणों पर ही खतरनाक है (API संस्करण < 21).
{% hint style="info" %} ध्यान दें कि एक अधिकृति बाईपास हमेशा एक सुरक्षा दोष नहीं होती है, यह बाईपास कैसे काम करता है और कौन सी जानकारी उजागर होती है, इस पर निर्भर करेगा। {% endhint %}
संवेदनशील जानकारी लीकेज
गतिविधियाँ परिणाम भी लौटा सकती हैं। यदि आप एक निर्यात और संरक्षित गतिविधि खोजने में सफल होते हैं जो setResult
विधि को कॉल करती है और संवेदनशील जानकारी लौटाती है, तो यह एक संवेदनशील जानकारी लीकेज है।
टैपजैकिंग
यदि टैपजैकिंग को रोका नहीं गया है, तो आप उपयोगकर्ता को अप्रत्याशित क्रियाएँ करने के लिए निर्यात गतिविधि का दुरुपयोग कर सकते हैं। अधिक जानकारी के लिए टैपजैकिंग क्या है इस लिंक का पालन करें।
सामग्री प्रदाताओं का शोषण - संवेदनशील जानकारी तक पहुंचना और परिवर्तन करना
यदि आप एक सामग्री प्रदाता क्या है ताजगी चाहते हैं तो इसे पढ़ें।
सामग्री प्रदाताओं का मुख्य उपयोग डेटा साझा करने के लिए है। यदि किसी ऐप में उपलब्ध सामग्री प्रदाता है, तो आप उनसे संवेदनशील डेटा निकाल सकते हैं। यह भी देखने लायक है कि क्या संभावित SQL इन्जेक्शन और पथ ट्रावर्सल का परीक्षण करना है क्योंकि वे भी संवेदनशील हो सकते हैं।
ड्रोज़र के साथ सामग्री प्रदाताओं का शोषण कैसे करें इसे सीखें।
सेवाओं का शोषण
यदि आप एक सेवा क्या है ताजगी चाहते हैं तो इसे पढ़ें।
ध्यान रखें कि सेवा की क्रियाएँ onStartCommand
विधि में शुरू होती हैं।
सेवा मूल रूप से कुछ ऐसा है जो डेटा प्राप्त कर सकता है, इसे प्रोसेस कर सकता है और उत्तर (या नहीं) दे सकता है। फिर, यदि कोई एप्लिकेशन कुछ सेवाएं निर्यात कर रही है, तो आपको कोड की जांच करनी चाहिए कि यह क्या कर रहा है और संवेदनशील जानकारी निकालने, प्रमाणीकरण उपायों को छलना... के लिए इसे डायनेमिक रूप से परीक्षण करना चाहिए।
ड्रोज़र के साथ सेवाओं का शोषण कैसे करें इसे सीखें।
उपयोग करने वालों का शोषण ब्रॉडकास्ट रिसीवर्स
यदि आप एक ब्रॉडकास्ट रिसीवर क्या है ताजगी चाहते हैं तो इसे पढ़ें।
ध्यान रखें कि ब्रॉडकास्ट रिसीवर की क्रियाएँ onReceive
विधि में शुरू होती हैं।
एक ब्रॉडकास्ट रिसीवर एक प्रकार के संदेश का इंतजार करेगा। संदेश को रिसीवर कैसे हैंडल करता है इस पर निर्भर करता है कि यह क्या विकल्प है।
ड्रोज़र के साथ ब्रॉडकास्ट रिसीवर्स का शोषण कैसे करें इसे सीखें।
योजनाओं / गहरे लिंक्स का शोषण
आप गहरे लिंक्स को मैन्युअल रूप से खोज सकते हैं, MobSF जैसे उपकरणों का उपयोग करके या इस तरह के स्क्रिप्ट का उपयोग करके।
आप adb या ब्राउज़र का उपयोग करके एक घोषित योजना खोल सकते हैं:
{% code overflow="wrap" %}
adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]
{% endcode %}
ध्यान दें कि आप पैकेज नाम को छोड़ सकते हैं और मोबाइल आपके द्वारा खोलने वाला ऐप्लिकेशन आपके द्वारा दिए गए लिंक को स्वचालित रूप से कॉल करेगा।
{% code overflow="wrap" %}
<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>
{% endcode %}
कोड निष्पादित
ऐप में निष्पादित होने वाला कोड खोजने के लिए, डीप लिंक द्वारा बुलाए गए गतिविधि में जाएं और onNewIntent
नामक फ़ंक्शन की खोज करें।
संवेदनशील जानकारी
हर बार जब आप एक गहरे लिंक की जाँच करते हैं, यह सुनिश्चित करें कि यह URL पैरामीटर के माध्यम से संवेदनशील डेटा (जैसे पासवर्ड) प्राप्त नहीं कर रहा है, क्योंकि कोई भी अन्य एप्लिकेशन डीप लिंक का अनुकरण कर सकता है और उस डेटा को चुरा सकता है!
पथ में पैरामीटर
आपको यह भी जांचना चाहिए कि क्या कोई भी गहरा लिंक URL के पथ में पैरामीटर का उपयोग कर रहा है, जैसे: https://api.example.com/v1/users/{username}
, उस मामले में आप कुछ इस प्रकार का पथ ट्रावर्सल बल पा सकते हैं: example://app/users?username=../../unwanted-endpoint%3fparam=value
।
ध्यान दें कि यदि आप एप्लिकेशन के अंदर सही एंडपॉइंट्स पाते हैं तो आप एक ओपन रीडायरेक्ट (यदि पाथ का कोई हिस्सा डोमेन नाम के रूप में प्रयोग किया जाता है), खाता हासिल करना (यदि आप CSRF टोकन के बिना उपयोगकर्ताओं के विवरण संशोधित कर सकते हैं और vuln एंडपॉइंट सही विधि का उपयोग करता है) और किसी अन्य vuln का कारण बन सकते हैं। इसके बारे में अधिक जानकारी यहाँ मिलेगी।
अधिक उदाहरण
एक रोचक बग बाउंटी रिपोर्ट लिंक्स के बारे में (/.well-known/assetlinks.json).
परिवहन परत निरीक्षण और सत्यापन विफलताएं
- Android एप्लिकेशन द्वारा प्रमाणपत्रों की सही ढंग से निरीक्षण नहीं किया जाता है। इन एप्लिकेशन्स के लिए चेतावनियों को नजरअंदाज करना सामान्य है और स्व-साइन किए गए प्रमाणपत्रों को स्वीकार करना या कई स्थितियों में, HTTP कनेक्शन का उपयोग करने के लिए पुनः लौटना सामान्य है।
- SSL/TLS हैंडशेक के दौरान बातचीत कभी-कभी कमजोर होती है, असुरक्षित साइफर स्वीट का उपयोग करती है। यह कमजोरी कनेक्शन को मैन-इन-द-मिडिल (MITM) हमलों के लिए संवेदनशील बनाती है, जिससे हमलावर डेटा को डिक्रिप्ट कर सकते हैं।
- निजी जानकारी का लीक एप्लिकेशन द्वारा सुरक्षित चैनल का उपयोग करके प्रमाणित करने पर एक जोखिम है, फिर भी अन्य लेन-देन के लिए गैर-सुरक्षित चैनलों के माध्यम से संवाद करना। यह दृष्टिकोण संवेदनशील डेटा, जैसे सत्र कुकीज़ या उपयोगकर्ता विवरण, को दुर्गम तत्वों द्वारा आपत्तिजनक इकाइयों द्वारा अंतर्दृष्टि से सुरक्षित नहीं रखने में विफल होता है।
प्रमाणपत्र सत्यापन
हम प्रमाणपत्र सत्यापन पर ध्यान केंद्रित करेंगे। सर्वर के प्रमाणपत्र की अखंडता को सुरक्षित बनाने के लिए सत्यापित किया जाना चाहिए। यह महत्वपूर्ण है क्योंकि असुरक्षित TLS कॉन्फ़िगरेशन और संवेदनशील डेटा के अप्राकटित चैनलों पर संचार करने से महत्वपूर्ण जोखिम उत्पन्न हो सकता है। सर्वर प्रमाणपत्रों की सत्यापन और विकल्पों के संबंध में विस्तृत निर्देशों के लिए, यह स्रोत व्यापक मार्गदर्शन प्रदान करता है।
SSL पिनिंग
SSL पिनिंग एक सुरक्षा उपाय है जिसमें एप्लिकेशन सर्वर के प्रमाणपत्र की सत्यापन करता है जिसे एप्लिकेशन में संग्रहीत एक ज्ञात प्रतिलिपि के खिलाफ सत्यापित करता है। यह विधि MITM हमलों को रोकने के लिए आवश्यक है। SSL पिनिंग को लागू करना ऐसे एप्लिकेशन्स के लिए महत्वपूर्ण है जो संवेदनशील जानकारी का प्रबंधन कर रहे हैं।
ट्रैफिक निरीक्षण
HTTP ट्रैफिक की जांच करने के लिए, प्रॉक्सी टूल का प्रमाणपत्र स्थापित करना आवश्यक है (जैसे, बर्प)। इस प्रमाणपत्र को स्थापित न करने पर, एन्क्रिप्टेड ट्रैफिक प्रॉक्सी के माध्यम से दिखाई नहीं देगा। कस्टम CA प्रमाणपत्र स्थापित करने के लिए एक मार्गदर्शिका के लिए, यहाँ क्लिक करें।
API स्तर 24 और ऊपर को लक्ष्य बनाने वाले एप्लिकेशन को एन्क्रिप्टेड ट्रैफिक की जांच के लिए नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने की आवश्यकता होती है। यह कदम एन्क्रिप्टेड ट्रैफिक की जांच के लिए महत्वपूर्ण है। नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने के बारे में निर्देशों के लिए, इस ट्यूटोरियल का संदर्भ दें।
SSL पिनिंग को छलना
जब SSL पिनिंग लागू किया जाता है, तो इसे छलना आवश्यक होता है ताकि HTTPS ट्रैफिक की जांच की जा सके। इस उद्देश्य के लिए विभिन्न विधियाँ उपलब्ध हैं:
- स्वचालित रूप से apk को bypass करने के लिए apk-mitm का उपयोग करें। इस विकल्प का सबसे बड़ा लाभ यह है कि आपको SSL पिनिंग को छलने के लिए रूट की आवश्यकता नहीं होगी, लेकिन आपको एप्लिकेशन को हटाना और नया स्थापित करना होगा, और यह हमेशा काम नहीं करेगा।
- आप Frida (नीचे चर्चा की गई) का उपयोग करके इस सुरक्षा को छलने के लिए कर सकते हैं। यहाँ आपको Burp+Frida+Genymotion का उपयोग करने के लिए एक मार्गदर्शिका मिलेगी: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/
- आप objection का उपयोग करके स्वचालित रूप से SSL पिनिंग को छलने का प्रयास कर सकते हैं (नीचे समझाया गया है):
objection --gadget com.package.app explore --startup-command "android sslpinning disable"
- आप MobSF डायनामिक विश्लेषण का उपयोग करके स्वचालित रूप से 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 %}
कीस्टोर में संवेदनशील डेटा
एंड्रॉइड में कीस्टोर संवेदनशील डेटा स्टोर करने के लिए सबसे अच्छा स्थान है, हालांकि, पर्याप्त विशेषाधिकारों के साथ इसे अभी भी पहुंचना संभव है। एप्लिकेशन संवेदनशील डेटा को यहाँ स्पष्ट पाठ में स्टोर करने की प्रवृत्ति होती है, इसलिए पेंटेस्ट को इसके लिए जांच करनी चाहिए क्योंकि डिवाइस के लिए रूट उपयोगकर्ता या किसी के पास शारीरिक पहुंच हो सकती है जो इस डेटा को चुरा सकता है।
यदि कोई ऐप कीस्टोर में डेटा स्टोर करता है, तो डेटा को एन्क्रिप्ट किया जाना चाहिए।
कीस्टोर के अंदर डेटा तक पहुंचने के लिए आप इस 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>
{% 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
इंटेंट इंजेक्शन
Developers often create proxy components like activities, services, and broadcast receivers that handle these Intents and pass them to methods such as startActivity(...)
or sendBroadcast(...)
, which can be risky.
The danger lies in allowing attackers to trigger non-exported app components or access sensitive content providers by misdirecting these Intents. A notable example is the WebView
component converting URLs to Intent
objects via Intent.parseUri(...)
and then executing them, potentially leading to malicious Intent injections.
Essential Takeaways
- Intent Injection is similar to web's Open Redirect issue.
- एक्सप्लॉइट्स में
Intent
ऑब्जेक्ट्स को एक्स्ट्रा के रूप में पास किया जाता है, जो असुरक्षित ऑपरेशन को निष्पादित करने के लिए पुनर्निर्देशित किया जा सकता है। - यह अटैकर्स को गैर-निर्यातित कॉम्पोनेंट्स और कंटेंट प्रोवाइडर को उजागर कर सकता है।
WebView
का URL सेIntent
में परिवर्तन अनचाहे कार्रवाई को सुविधाजनक बना सकता है।
एंड्रॉइड क्लाइंट साइड इंजेक्शन और अन्य
शायद आप वेब से इस प्रकार की कमजोरियों के बारे में जानते हों। आपको एक एंड्रॉइड एप्लिकेशन में इस प्रकार की कमजोरियों के साथ विशेष सावधानी बरतनी चाहिए:
- SQL इंजेक्शन: डायनामिक क्वेरीज या कंटेंट-प्रोवाइडर्स के साथ काम करते समय सुनिश्चित करें कि आप पैरामीटराइज्ड क्वेरीज का उपयोग कर रहे हैं।
- जावास्क्रिप्ट इंजेक्शन (XSS): सुनिश्चित करें कि किसी भी WebViews के लिए जावास्क्रिप्ट और प्लगइन समर्थन अक्षम है (डिफ़ॉल्ट रूप से अक्षम)। अधिक जानकारी यहाँ।
- स्थानीय फ़ाइल समावेशन: WebViews को फ़ाइल सिस्टम तक पहुंच अक्षम होना चाहिए (डिफ़ॉल्ट रूप से सक्षम) -
(webview.getSettings().setAllowFileAccess(false);)।
अधिक जानकारी यहाँ। - शाश्वत कुकीज़: कई मामलों में जब एंड्रॉइड एप्लिकेशन सत्र समाप्त होता है तो कुकी निरस्त नहीं की जाती है या यह डिस्क में सहेजा जा सकता है।
- कुकीज़ में सुरक्षित ध्वज
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!
हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक न्यूज़
रियल-टाइम समाचार और अंदरूनी दुनिया के साथ अप-टू-डेट रहें
नवीनतम घोषणाएं
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफॉर्म अपडेट के साथ सूचित रहें
Discord पर हमारे साथ जुड़ें और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
स्वचालित विश्लेषण
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 एप्लिकेशनों का विश्लेषण Windows होस्ट में स्थापित MobSF से करना होगा).
इसके अलावा, यदि आप Android या IOS ऐप के स्रोत कोड के साथ एक ZIP फ़ाइल बनाते हैं (एप्लिकेशन के रूट फ़ोल्डर में जाएं, सब कुछ चुनें और एक ZIP फ़ाइल बनाएं), तो यह उसे विश्लेषित कर सकेगा।
MobSF आपको विश्लेषण की तुलना/तुलना और VirusTotal को एकीकृत करने की भी अनुमति देता है (आपको MobSF/settings.py में अपनी API कुंजी सेट करनी होगी और इसे सक्षम करना होगा: VT_ENABLED = TRUE
VT_API_KEY = <आपकी API कुंजी>
VT_UPLOAD = TRUE
)। आप VT_UPLOAD
को False
भी सेट कर सकते हैं, तो हैश को फ़ाइल के बजाय अपलोड किया जाएगा।
MobSF के साथ सहायित गतिशील विश्लेषण
MobSF Android में गतिशील विश्लेषण के लिए भी बहुत सहायक हो सकता है, लेकिन उस मामले में आपको अपने होस्ट में MobSF और genymotion को स्थापित करने की आवश्यकता होगी (एक वीएम या डॉकर काम नहीं करेगा)। नोट: आपको पहले genymotion में एक वीएम शुरू करनी होगी और फिर MobSF को।
MobSF गतिशील विश्लेषक निम्नलिखित कार्य कर सकता है:
- एप्लिकेशन डेटा डंप करें (URL, लॉग, क्लिपबोर्ड, आपके द्वारा बनाए गए स्क्रीनशॉट, "निर्यात की गई गतिविधि परीक्षक" द्वारा बनाए गए स्क्रीनशॉट, ईमेल, SQLite डेटाबेस, XML फ़ाइलें, और अन्य बनाई गई फ़ाइलें)। इसमें स्क्रीनशॉट को छोड़कर सभी कुछ स्वचालित रूप से किया जाता है, आपको स्क्रीनशॉट लेना है जब आप चाहें या आपको "निर्यात की गई गतिविधि परीक्षक" दबाना होगा ताकि सभी निर्यात की गई गतिविधियों के स्क्रीनशॉट मिलें।
- HTTPS ट्रैफ़िक को कैप्चर करें
- Frida का उपयोग करें रनटाइम जानकारी प्राप्त करने के लिए
Android संस्करण > 5 से, यह ऑटोमेटिक रूप से Frida को शुरू कर देगा और ग्लोबल प्रॉक्सी सेटिंग्स को ट्रैफ़िक कैप्चर करने के लिए सेट करेगा। यह केवल टेस्ट की गई एप्लिकेशन से ट्रैफ़िक को कैप्चर करेगा।
Frida
डिफ़ॉल्ट रूप से, यह SSL पिनिंग को बाईपास करने, रूट डिटेक्शन और डीबगर डिटेक्शन करने और दिलचस्प API को मॉनिटर करने के लिए कुछ Frida स्क्रिप्ट भी उपयोग करेगा।
MobSF आपको उन्हें निर्यात की गई गतिविधियों को आमंत्रित करने, उनके स्क्रीनशॉट लेने और उन्हें रिपोर्ट के लिए सहेजने की भी अनुमति देता है।
गतिशील परीक्षण शुरू करने के लिए हरे बटन "स्टार्ट इंस्ट्रूमेंटेशन" दबाएं। फ्रिडा स्क्रिप्ट्स द्वारा उत्पन्न लॉग देखने के लिए "फ्रिडा लाइव लॉग्स" दबाएं और हुक्ड मेथड्स के सभी आमंत्रणों, पारित वैल्यूज और वापसी मानों को देखने के लिए "लाइव API मॉनिटर" दबाएं (यह "स्टार्ट इंस्ट्रूमेंटेशन" दबाने के बाद दिखाई देगा)।
MobSF आपको अपने खुद के Frida स्क्रिप्ट्स भी लोड करने की अनुमति देता है (अपने Friday स्क्रिप्ट्स के परिणामों को MobSF को भेजने के लिए send()
फ़ंक्शन का उपयोग करें)। यहाँ कुछ पूर्व लिखित स्क्रिप्ट्स भी हैं जिन्हें आप लोड कर सकते हैं (आप MobSF/DynamicAnalyzer/tools/frida_scripts/others/
में अधिक जोड़ सकते हैं), उन्हें चुनें, "लोड" दबाएं और "स्टार्ट इंस्ट्रूमेंटेशन" दबाएं (आप उन स्क्रिप्ट्स के लॉग्स को "फ्रिडा लाइव लॉग्स" में देख सकेंगे)।
इसके अतिरिक्त, आपके पास कुछ सहायक Frida कार्यात्मकताएँ हैं:
- लोड किए गए कक्षाएँ गणना करें: सभी लोड किए गए कक्षाएँ प्रिंट करेगा
- स्ट्रिंग कैप्चर करें: एप्लिकेशन का उपयोग करते समय सभी कैप्चर स्ट्रिंग्स प्रिंट करेगा (बहुत शोरगुल)
- स्ट्रिंग तुलना कैप्चर करें: बहुत उपयोगी हो सकता है। यह 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 से प्राप्त कर सकते हैं।
यह उपकरण कुछ हुक्स का उपयोग करेगा ताकि आपको पता चले एप्लिकेशन में क्या हो रहा है जब आप एक गतिशील विश्लेषण करते हैं।
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
रिवर्सएपीके
- सभी निकाले गए फ़ाइलों को आसान संदर्भ के लिए प्रदर्शित करता है
- APK फ़ाइलों को स्वचालित रूप से जावा और स्माली प्रारूप में डिकॉम्पाइल करता है
- सामान्य सुरक्षा और व्यवहार के लिए AndroidManifest.xml का विश्लेषण
- सामान्य सुरक्षा और व्यवहार के लिए स्थैतिक स्रोत कोड विश्लेषण
- डिवाइस जानकारी
- और अधिक
reverse-apk relative/path/to/APP.apk
सुपर Android विश्लेषक
सुपर एक कमांड लाइन एप्लिकेशन है जो Windows, MacOS X और Linux में उपयोग किया जा सकता है, जो .apk फ़ाइलों का विश्लेषण करता है ताकि विकल्पों की खोज कर सके। यह इसे APKs को डीकंप्रेस करके और उन विकल्पों को पता लगाने के लिए नियमों का एक सिरीज लागू करके करता है।
सभी नियम एक 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 एक Mोबाइल Aप्लिकेशन Rीवर्स इंजीनियरिंग और Aनालिसिस फ्रेमवर्क है। यह एक टूल है जो सामान्य रूप से उपयोग किए जाने वाले मोबाइल एप्लिकेशन रीवर्स इंजीनियरिंग और विश्लेषण उपकरणों को एक साथ लाता है, OWASP मोबाइल सुरक्षा खतरों के खिलाफ मोबाइल एप्लिकेशनों का परीक्षण करने में सहायक होने के लिए। इसका उद्देश्य यह कार्य सुविधाजनक और मोबाइल एप्लिकेशन डेवलपर्स और सुरक्षा विशेषज्ञों के लिए आसान बनाना है।
यह क्षमता है:
- विभिन्न उपकरणों का उपयोग करके जावा और स्माली कोड निकालना
- smalisca, ClassyShark, androbugs, androwarn, APKiD का उपयोग करके APK का विश्लेषण करना
- APK से regexps का उपयोग करके निजी जानकारी निकालना।
- मैनिफेस्ट का विश्लेषण करना।
- pyssltest, testssl और whatweb का उपयोग करके पाए गए डोमेन का विश्लेषण करना
- apk-deguard.com के माध्यम से APK को डीओबफस्केट करना
Koodous
मैलवेयर का पता लगाने के लिए उपयोगी: https://koodous.com/
कोड को अस्पष्ट करना / डीओबफस्केट करना
ध्यान दें कि आप कोड को अस्पष्ट करने के लिए आप किस सेवा और विन्यास का उपयोग करते हैं। रहस्यों को अस्पष्ट किया जा सकता है या नहीं।
ProGuard
Wikipedia से: ProGuard एक ओपन सोर्स कमांड-लाइन टूल है जो जावा कोड को छोटा करता है, अनुकूलित करता है और अस्पष्ट करता है। यह बाइटकोड को अनुकूलित करने के साथ ही अप्रयोगित निर्देशों का पता लगा सकता है और हटा सकता है। ProGuard मुफ्त सॉफ्टवेयर है और GNU जनरल पब्लिक लाइसेंस, संस्करण 2 के तहत वितरित किया जाता है।
ProGuard Android SDK का हिस्सा के रूप में वितरित किया जाता है और एप्लिकेशन को रिलीज मोड में बनाते समय चलता है।
DexGuard
https://blog.lexfo.fr/dexguard.html में apk को डीओबफस्केट करने के लिए एक कदम-से-कदम गाइड देखें।
(उस गाइड से) हमारे अंतिम जांच के समय, Dexguard का ऑपरेशन मोड था:
- एक रिसोर्स को एक InputStream के रूप में लोड करें;
- इसे डिक्रिप्ट करने के लिए एक फिल्टर InputStream से रिजल्ट को फीड करें;
- कुछ बेकार अस्पष्टता करने के लिए कुछ अस्पष्टता करें;
- डिक्रिप्ट किया गया परिणाम ZipInputStream को फीड करें ताकि एक DEX फ़ाइल मिले;
- अंततः परिणामी DEX को एक रिसोर्स के रूप में
loadDex
विधि का उपयोग करें।
DeGuard
DeGuard एंड्रॉइड अस्पष्टता उपकरणों द्वारा किया गया अस्पष्टता प्रक्रिया को उल्टा करता है। इससे कई सुरक्षा विश्लेषण, सहित कोड निरीक्षण और पुस्तकालयों की पूर्वानुमान की जा सकती है।
आप उनके प्लेटफ़ॉर्म पर अस्पष्ट किए गए APK को अपलोड कर सकते हैं।
Simplify
यह एक सामान्य एंड्रॉइड डीओबफस्केटर है। Simplify एक ऐप को वर्चुअली चलाता है ताकि इसका व्यवहार समझ सके और फिर कोड को अस्पष्ट करने का प्रयास करता है ताकि यह इंसान के लिए समझने में आसान हो। प्रत्येक अपशिष्ट प्रकार सरल और सामान्य है, इसलिए यह मायने नहीं रखता कि विशिष्ट प्रकार का अस्पष्टता का उपयोग किया गया है।
APKiD
APKiD आपको बताता है कि एक APK कैसे बनाया गया था। यह कई कंपाइलर, पैकर्स, अस्पष्टकरणकर्ता और अन्य अजीब चीजों की पहचान करता है। यह एंड्रॉइड के लिए PEiD है।
Manual
इस ट्यूटोरियल को पढ़ें ताकि कस्टम अस्पष्टता को उल्टा करने के कुछ ट्रिक्स सीखें
Labs
Androl4b
AndroL4b एक एंड्रॉइड सुरक्षा वर्चुअल मशीन है जो ubuntu-mate पर आधारित है और विभिन्न सुरक्षा जीक्स और शोधकर्ताओं के लेटेस्ट फ्रेमवर्क, ट्यूटोरियल और लैब्स शामिल करता है जो रिवर्स इंजीनियरिंग और मैलवेयर विश्लेषण के लिए है।
References
- https://owasp.org/www-project-mobile-app-security/
- https://appsecwiki.com/#/ यह एक महान संसाधनों की सूची है
- https://maddiestone.github.io/AndroidAppRE/ एंड्रॉइड क्विक कोर्स
- https://manifestsecurity.com/android-application-security/
- https://github.com/Ralireza/Android-Security-Teryaagh
- https://www.youtube.com/watch?v=PMKnPaGWxtg&feature=youtu.be&ab_channel=B3nacSec
अभी तक प्रयास करने के लिए
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!
हैकिंग इंसाइट्स
हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक न्यूज़
रियल-टाइम न्यूज़ और अंदर की दुनिया के साथ अप-टू-डेट रहें
नवीनतम घोषणाएं
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ अवगत रहें
हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
शून्य से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स