Drozer Tutorial
बग बाउंटी टिप: Intigriti के लिए साइन अप करें, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा बनाया गया है! आज ही हमारे साथ शामिल हों https://go.intigriti.com/hacktricks और शुरू करें बाउंटी अप तक $100,000 तक कमाना!
APKs को टेस्ट करने के लिए
Sieve (mrwlabs से)
इस ट्यूटोरियल के कुछ हिस्से Drozer documentation pdf से निकाले गए थे।
स्थापना
अपने होस्ट के अंदर Drozer Client स्थापित करें। इसे नवीनतम रिलीज़ से डाउनलोड करें।
ड्रोज़र APK को नवीनतम रिलीज़ से डाउनलोड और इंस्टॉल करें। इस समय यह यह है।
सर्वर शुरू करना
एजेंट पोर्ट 31415 पर चल रहा है, हमें Drozer Client और एजेंट के बीच संचार स्थापित करने के लिए पोर्ट फॉरवर्ड करने की आवश्यकता है, यहाँ इसके लिए कमांड है:
अंत में, एप्लिकेशन को लॉन्च करें और नीचे "ON" बटन दबाएं
और इससे कनेक्ट करें:
दिलचस्प कमांड्स
कमांड्स | विवरण |
Help MODULE | चयनित मॉड्यूल का मदद दिखाता है |
list | वर्तमान सत्र में निष्पादित किए जा सकने वाले सभी drozer मॉड्यूलों की सूची दिखाता है। यह उन मॉड्यूलों को छुपाता है जिन्हें आपके पास उचित अनुमति नहीं है। |
shell | उपकर्ण पर एक इंटरैक्टिव लिनक्स शैल शुरू करें, एजेंट के संदर्भ में। |
clean | एंड्रॉइड उपकरण पर drozer द्वारा संचित अस्थायी फ़ाइलें हटाएं। |
load | drozer कमांड शामिल करने वाली एक फ़ाइल लोड करें और उन्हें क्रम में निष्पादित करें। |
module | इंटरनेट से अतिरिक्त drozer मॉड्यूल खोजें और स्थापित करें। |
unset | किसी नामित चर को हटाएं जिसे drozer किसी भी लिनक्स शैल को जिसे यह उत्पन्न करता है, पास करता है। |
set | एक मान को एक चर में संग्रहीत करता है जो drozer द्वारा उत्पन्न किए गए किसी भी लिनक्स शैल को एक पर्यावरणीय चर के रूप में पारित किया जाएगा। |
shell | उपकरण पर एक इंटरैक्टिव लिनक्स शैल शुरू करें, एजेंट के संदर्भ में। |
run MODULE | एक drozer मॉड्यूल निष्पादित करें |
exploit | Drozer उपकरण में निष्पादित करने के लिए उत्पादन कर सकता है। |
payload | उत्पादनों को एक पेलोड की आवश्यकता होती है। |
पैकेज
नाम का पैकेज ढूंढें जिसे नाम के हिस्से के आधार पर फ़िल्टर किया गया है:
पैकेज की मूलभूत जानकारी:
मैनिफेस्ट को पढ़ें:
पैकेज का हमला सतह:
क्रियाएँ: शायद आप किसी क्रिया को शुरू कर सकते हैं और किसी प्रकार की अधिकृतता को छलकर उसे लॉन्च करने से रोकना चाहिए।
सामग्री प्रदाता: शायद आप निजी डेटा तक पहुंच सकते हैं या किसी सुरक्षा दोष (SQL Injection या पथ भ्रमण) का शोषण कर सकते हैं।
सेवाएं:
is debuggable: और अधिक जानें
क्रियाएँ
एक निर्यात की गई क्रिया घटक का "android:exported" मान AndroidManifest.xml फ़ाइल में "true" पर सेट किया गया है:
निर्यात की गई गतिविधियों की सूची:
शुरू क्रियावली:
शायद आप एक क्रियावली शुरू कर सकते हैं और किसी प्रकार की अधिकृति को छलकर उसे लॉन्च करने से रोकना चाहिए।
आप adb से एक निर्यातित गतिविधि भी शुरू कर सकते हैं:
पैकेज नाम है com.example.demo
निर्यातित गतिविधि का नाम है com.example.test.MainActivity
सामग्री प्रदाता
यह पोस्ट इतनी बड़ी थी कि आप इसको अपने खुद के पेज पर एक्सेस कर सकते हैं.
सेवाएं
एक निर्यातित सेवा Manifest.xml के अंदर घोषित की गई है:
कोड के अंदर check करें जिसमें **handleMessage
** फ़ंक्शन होगा जो message को receive करेगा:
सेवा की सूची
सेवा के साथ बातचीत
उदाहरण
drozer मदद के लिए app.service.send
देखें:
ध्यान दें कि आप पहले डेटा को "msg.what" के अंदर भेज रहे हैं, फिर "msg.arg1" और "msg.arg2", आपको जांचना चाहिए कि कोड के अंदर कौन सी जानकारी का उपयोग किया जा रहा है और कहाँ।
--extra
विकल्प का उपयोग करके आप "_msg.replyTo" द्वारा व्याख्या किया जा रहा कुछ भेज सकते हैं, और --bundle-as-obj
का उपयोग करके आप प्रदत्त विवरणों के साथ एक ऑब्जेक्ट बना सकते हैं।
निम्नलिखित उदाहरण में:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
ब्रॉडकास्ट रिसीवर्स
एंड्रॉइड मूलभूत जानकारी खंड में आप देख सकते हैं कि ब्रॉडकास्ट रिसीवर क्या है।
इन ब्रॉडकास्ट रिसीवर्स को खोजने के बाद आपको उनके कोड की जांच करनी चाहिए। onReceive
फ़ंक्शन पर विशेष ध्यान दें क्योंकि यह प्राप्त संदेशों को हैंडल करेगा।
सभी ब्रॉडकास्ट रिसीवर्स का पता लगाएं
ऐप के ब्रॉडकास्ट रिसीवर की जांच करें
प्रसारण अंतर्क्रियाएँ
एक संदेश भेजें
इस उदाहरण में FourGoats apk Content Provider का दुरुपयोग करके आप बिना पूछे उपयोगकर्ता की अनुमति के बिना किसी भी गैर-प्रीमियम गंतव्य पर एक विचित्र SMS भेज सकते हैं।
यदि आप कोड पढ़ते हैं, तो "phoneNumber" और "message" पैरामीटर को Content Provider को भेजना आवश्यक है।
क्या डीबग किया जा सकता है
एक प्रोडक्शन APK कभी भी डीबग नहीं होना चाहिए। इसका मतलब है कि आप जावा डीबगर को एटैच कर सकते हैं रनिंग एप्लिकेशन पर, इसे रन टाइम में इंस्पेक्ट कर सकते हैं, ब्रेकपॉइंट सेट कर सकते हैं, कदम से कदम बढ़ सकते हैं, वेरिएबल मान इकट्ठा कर सकते हैं और उन्हें बदल सकते हैं। InfoSec institute ने एक उत्कृष्ट लेख दिया है जिसमें अधिक जानकारी है जब आपकी एप्लिकेशन डीबग किया जा सकता है और रनटाइम कोड इंजेक्शन किया जा सकता है।
जब एक एप्लिकेशन डीबग किया जा सकता है, तो यह मैनिफेस्ट में दिखाई देगा:
आप Drozer के साथ सभी डीबग करने योग्य एप्लिकेशन पा सकते हैं:
ट्यूटोरियल
अधिक जानकारी
बग बाउंटी टिप: साइन अप करें Intigriti के लिए, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा बनाया गया है! हमारे साथ जुड़ें https://go.intigriti.com/hacktricks आज ही, और शुरू करें बाउंटी कमाना तक $100,000 तक!
Last updated