Drozer Tutorial
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty tip: साइन अप करें Intigriti के लिए, एक प्रीमियम bug bounty प्लेटफार्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है! आज ही हमारे साथ जुड़ें https://go.intigriti.com/hacktricks पर, और $100,000 तक के बाउंटी कमाना शुरू करें!
Sieve (from mrwlabs)
इस ट्यूटोरियल के कुछ भाग Drozer documentation pdf** से निकाले गए हैं।**
Drozer Client को अपने होस्ट के अंदर इंस्टॉल करें। इसे latest releases से डाउनलोड करें।
Download और install करें drozer APK को latest releases से। इस समय यह यह है।
एजेंट पोर्ट 31415 पर चल रहा है, हमें पोर्ट फॉरवर्ड करना होगा ताकि Drozer क्लाइंट और एजेंट के बीच संचार स्थापित किया जा सके, इसे करने के लिए कमांड यहाँ है:
अंत में, लॉन्च करें एप्लिकेशन और नीचे "ON" दबाएं
और इससे कनेक्ट करें:
Commands
Description
Help MODULE
चयनित मॉड्यूल की मदद दिखाता है
list
वर्तमान सत्र में निष्पादित किए जा सकने वाले सभी drozer मॉड्यूल की सूची दिखाता है। यह उन मॉड्यूल को छुपाता है जिनके लिए आपके पास उचित अनुमतियाँ नहीं हैं।
shell
एजेंट के संदर्भ में डिवाइस पर एक इंटरैक्टिव लिनक्स शेल शुरू करें।
clean
एंड्रॉइड डिवाइस पर drozer द्वारा संग्रहीत अस्थायी फ़ाइलें हटा दें।
load
drozer कमांड वाले फ़ाइल को लोड करें और उन्हें अनुक्रम में निष्पादित करें।
module
इंटरनेट से अतिरिक्त drozer मॉड्यूल खोजें और स्थापित करें।
unset
एक नामित चर को हटा दें जिसे drozer किसी भी लिनक्स शेल में पास करता है जिसे यह उत्पन्न करता है।
set
एक मान को एक चर में संग्रहीत करें जिसे drozer द्वारा उत्पन्न किसी भी लिनक्स शेल में पर्यावरणीय चर के रूप में पास किया जाएगा।
shell
एजेंट के संदर्भ में डिवाइस पर एक इंटरैक्टिव लिनक्स शेल शुरू करें।
run MODULE
एक drozer मॉड्यूल निष्पादित करें
exploit
Drozer निर्णय में निष्पादित करने के लिए शोषण बना सकता है। drozer exploit list
payload
शोषण को एक पेलोड की आवश्यकता होती है। drozer payload list
नाम का पता लगाएँ जो नाम के भाग द्वारा फ़िल्टर किया गया है:
पैकेज की मूल जानकारी:
पढ़ें Manifest:
पैकेज की Attack surface:
गतिविधियाँ: शायद आप एक गतिविधि शुरू कर सकते हैं और किसी प्रकार की प्राधिकरण को बायपास कर सकते हैं जो आपको इसे लॉन्च करने से रोकनी चाहिए।
सामग्री प्रदाता: शायद आप निजी डेटा तक पहुँच सकते हैं या कुछ कमजोरियों (SQL Injection या Path Traversal) का लाभ उठा सकते हैं।
सेवाएँ:
is debuggable: अधिक जानें
एक निर्यातित गतिविधि घटक का “android:exported” मान AndroidManifest.xml फ़ाइल में “true” पर सेट किया गया है:
निर्यातित गतिविधियों की सूची:
गतिविधि प्रारंभ करें:
शायद आप एक गतिविधि प्रारंभ कर सकते हैं और कुछ प्रकार की प्राधिकरण को बायपास कर सकते हैं जो आपको इसे लॉन्च करने से रोकनी चाहिए।
आप adb से एक निर्यातित गतिविधि भी शुरू कर सकते हैं:
PackageName com.example.demo है
Exported ActivityName com.example.test.MainActivity है
यह पोस्ट यहाँ इतनी बड़ी थी कि आप इसे यहाँ अपने पृष्ठ में एक्सेस कर सकते हैं.
एक निर्यातित सेवा Manifest.xml के अंदर घोषित की जाती है:
कोड के अंदर check करें **handleMessage
** फ़ंक्शन के लिए जो message को receive करेगा:
Take a look to the drozer help for app.service.send
:
Note that you will be sending first the data inside "msg.what", then "msg.arg1" and "msg.arg2", you should check inside the code कौन सी जानकारी का उपयोग किया जा रहा है और कहाँ।
Using the --extra
option you can send something interpreted by "msg.replyTo", and using --bundle-as-obj
you create and object with the provided details.
In the following example:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
एंड्रॉइड बेसिक जानकारी अनुभाग में आप देख सकते हैं कि ब्रॉडकास्ट रिसीवर क्या है।
इन ब्रॉडकास्ट रिसीवर्स का पता लगाने के बाद आपको उनका कोड चेक करना चाहिए। विशेष ध्यान दें onReceive
फ़ंक्शन पर क्योंकि यह प्राप्त संदेशों को संभाल रहा होगा।
इस उदाहरण में FourGoats apk कंटेंट प्रोवाइडर का दुरुपयोग करते हुए आप किसी भी गैर-प्रीमियम गंतव्य को मनचाहा SMS बिना अनुमति मांगे भेज सकते हैं।
यदि आप कोड पढ़ते हैं, तो "phoneNumber" और "message" पैरामीटर कंटेंट प्रोवाइडर को भेजे जाने चाहिए।
एक प्रोडक्शन APK कभी भी डिबग करने योग्य नहीं होना चाहिए। इसका मतलब है कि आप जावा डिबगर को चल रहे एप्लिकेशन से जोड़ सकते हैं, इसे रन टाइम में निरीक्षण कर सकते हैं, ब्रेकपॉइंट सेट कर सकते हैं, कदम से कदम आगे बढ़ सकते हैं, वेरिएबल के मान इकट्ठा कर सकते हैं और यहां तक कि उन्हें बदल भी सकते हैं। InfoSec institute has an excellent article जब आपका एप्लिकेशन डिबग करने योग्य हो और रनटाइम कोड इंजेक्ट करने पर गहराई से खुदाई करने के लिए।
जब एक एप्लिकेशन डिबग करने योग्य होता है, तो यह मैनिफेस्ट में दिखाई देगा:
आप सभी डिबग करने योग्य अनुप्रयोगों को Drozer के साथ ढूंढ सकते हैं:
Bug bounty tip: साइन अप करें Intigriti के लिए, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है! आज ही https://go.intigriti.com/hacktricks पर हमारे साथ जुड़ें, और $100,000 तक के बाउंटी कमाना शुरू करें!
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)