Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
apk-mitm — 🤖 एक CLI एप्लिकेशन जो स्वचालित रूप से Android APK फ़ाइलों को HTTPS निरीक्षण के लिए तैयार करता है | Kitploit
उपकरण/GitHubGitHub/niklashigi/apk-mitm
एंड्रॉइड सुरक्षारिवर्स इंजीनियरिंगवेब सुरक्षापेनिट्रेशन टेस्टिंगमोबाइल सुरक्षा
GitHubniklashigi/apk-mitm

apk-mitm

🤖 एक CLI एप्लिकेशन जो स्वचालित रूप से Android APK फ़ाइलों को HTTPS निरीक्षण के लिए तैयार करता है

रिपॉजिटरी देखें
5.1k4312 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

apk-mitm

एक CLI एप्लिकेशन जो HTTPS निरीक्षण के लिए स्वचालित रूप से Android APK फ़ाइलें तैयार करता है

प्रॉक्सी का उपयोग करके मोबाइल ऐप के HTTPS ट्रैफ़िक का निरीक्षण करना शायद यह समझने का सबसे आसान तरीका है कि यह कैसे काम करता है। हालाँकि, Android 7 में शुरू किए गए नेटवर्क सुरक्षा कॉन्फ़िगरेशन और सर्टिफिकेट पिनिंग का उपयोग करके MITM हमलों को रोकने की कोशिश करने वाले ऐप डेवलपर्स के साथ, किसी ऐप को HTTPS प्रॉक्सी के साथ काम करना काफी कठिन हो गया है।

apk-mitm पूरी प्रक्रिया को स्वचालित करता है। आपको बस इसे एक APK फ़ाइल देनी होगी और apk-mitm यह करेगा:

  • Apktool का उपयोग करके APK फ़ाइल को डीकोड करें
  • उपयोगकर्ता द्वारा जोड़े गए प्रमाणपत्रों की अनुमति देने के लिए ऐप के नेटवर्क सुरक्षा कॉन्फ़िगरेशन को बदलें
  • विभिन्न सर्टिफिकेट पिनिंग कार्यान्वयन को अक्षम करने के लिए स्रोत कोड को संशोधित करें
  • Apktool का उपयोग करके पैच की गई APK फ़ाइल को एन्कोड करें
  • uber-apk-signer का उपयोग करके पैच की गई APK फ़ाइल पर हस्ताक्षर करें

आप apk-mitm का उपयोग Android App Bundle का उपयोग करके ऐप्स को पैच करने के लिए भी कर सकते हैं और आपके फ़ोन को रूट करना आवश्यक नहीं है।

⚠️ सीमाएँ और विकल्प

सर्टिफिकेट पिनिंग जैसी सुरक्षा सुविधाओं को दरकिनार करने के लिए किसी ऐप के सामान्य व्यवहार को संशोधित करने के लिए या तो ऐप के स्रोत कोड को चलाने से पहले संशोधित करना होगा या फ़ंक्शन कॉल को इंटरसेप्ट करने के लिए ऐप को चलने के दौरान "हुक" करना होगा।

apk-mitm वर्तमान में ऐप के कोड को संशोधित करने का पूर्व दृष्टिकोण अपना रहा है, पहले Apktool का उपयोग करके ऐप को "डिसअसेंबल" करना, कई फ़ाइलों में बदलाव करना, और फिर इसे वापस एक साथ असेंबल करना (फिर से Apktool का उपयोग करके)।

इस दृष्टिकोण का लाभ यह है कि इसमें रूट किए गए डिवाइस की आवश्यकता नहीं है, लेकिन इसके कई नुकसान भी हैं। सबसे बड़ी समस्या यह है कि ऐप्स वास्तव में डिसअसेंबल किए जाने के लिए नहीं बनाए गए हैं। Apktool वैसे भी इसे प्राप्त करने का प्रयास करता है, लेकिन विशेष रूप से बड़े और जटिल ऐप्स के साथ, इसे अक्सर समस्याओं का सामना करना पड़ता है।

इस दृष्टिकोण के साथ एक और मुद्दा यह है कि कुछ सर्टिफिकेट पिनिंग विधियाँ, जैसे कि नेटिव बाइनरी के भीतर किए गए चेक (जैसा कि Flutter जैसे फ्रेमवर्क के मामले में है), को दरकिनार करना बहुत कठिन या असंभव है। इस कारण से, अधिक पेचीदा ऐप्स के लिए अन्य दृष्टिकोणों को आज़माना फायदेमंद हो सकता है।

विशेष रूप से, मैं mitmproxy के android-unpinner प्रोजेक्ट और HTTP Toolkit द्वारा अंतर्निहित frida-interception-and-unpinning स्क्रिप्ट्स को उजागर करना चाहूंगा। उनका दृष्टिकोण Frida का उपयोग करके रनटाइम पर पैच लागू करता है, जो बहुत अधिक शक्तिशाली है, लेकिन इसका अर्थ यह भी है कि इसका उपयोग रूट किए गए डिवाइस के बिना या तो नहीं किया जा सकता या अधिक कठिन है।

स्थापना

यदि आपके पास Node.js (14+) और Java (8+) का अद्यतित संस्करण है, तो आप निम्न चलाकर apk-mitm स्थापित कर सकते हैं:

root@kitploit:~
npm install -g apk-mitm

उपयोग

एक बार स्थापित होने के बाद, आप किसी ऐप को पैच करने के लिए यह कमांड चला सकते हैं:

root@kitploit:~
apk-mitm <path-to-apk>

example.apk नामक APK फ़ाइल को पैच करना कुछ इस तरह दिख सकता है:

root@kitploit:~
$ apk-mitm example.apk

  ✔ Decoding APK file
  ✔ Modifying app manifest
  ✔ Replacing network security config
  ✔ Disabling certificate pinning
  ✔ Encoding patched APK file
  ✔ Signing patched APK file

   Done!  Patched APK: ./example-patched.apk

अब आप example-patched.apk फ़ाइल को अपने Android डिवाइस पर इंस्टॉल कर सकते हैं और ऐप के ट्रैफ़िक को देखने के लिए Charles या mitmproxy जैसे प्रॉक्सी का उपयोग कर सकते हैं।

ऐप बंडलों को पैच करना

आप apk-mitm के साथ Android App Bundle का उपयोग करके ऐप्स को पैच भी कर सकते हैं, इसे एक *.xapk फ़ाइल (उदाहरण के लिए APKPure से) या *.apks फ़ाइल (जिसे आप SAI का उपयोग करके स्वयं निर्यात कर सकते हैं) प्रदान करके। यदि आप Linux पर ऐसा कर रहे हैं, तो सुनिश्चित करें कि zip और unzip दोनों स्थापित हैं।

मैन्युअल परिवर्तन करना

कभी-कभी किसी ऐप को काम करने के लिए आपको उसमें मैन्युअल बदलाव करने की आवश्यकता होगी। ऐसे मामलों में --wait विकल्प वही है जिसकी आपको आवश्यकता है। इसे सक्षम करने से apk-mitm ऐप को पुनः एन्कोड करने से पहले प्रतीक्षा करेगा, जिससे आप अस्थायी निर्देशिका में फ़ाइलों में बदलाव कर सकेंगे।

यदि आप APK में विभिन्न परिवर्तनों के साथ प्रयोग करना चाहते हैं, तो --wait का उपयोग करना शायद सबसे सुविधाजनक विकल्प नहीं है क्योंकि यह आपको हर बार इसका उपयोग करने पर शुरू से शुरू करने के लिए मजबूर करता है। इस मामले में आप APKLab पर एक नज़र डालना चाह सकते हैं। यह VS Code के ऊपर बनाया गया एक Android रिवर्स इंजीनियरिंग वर्कबेंच है जो apk-mitm समर्थन के साथ आता है और आपको बहुत तेज़ी से पुनरावृत्ति करने की अनुमति देनी चाहिए।

विशिष्ट प्रमाणपत्रों की अनुमति देना

कुछ उपकरणों (जैसे Android TV) पर आप सिस्टम के रूट प्रमाणपत्रों में एक नया प्रमाणपत्र जोड़ने में सक्षम नहीं हो सकते हैं। उन मामलों में आप अभी भी अपने प्रॉक्सी के प्रमाणपत्र को सीधे ऐप के नेटवर्क सुरक्षा कॉन्फ़िगरेशन में जोड़ सकते हैं क्योंकि यह किसी भी डिवाइस पर काम करेगा। आप इसे apk-mitm को अपने प्रॉक्सी द्वारा उपयोग किए जाने वाले प्रमाणपत्र (.pem या .der फ़ाइल) के पथ पर सेट --certificate फ़्लैग के साथ चलाकर पूरा कर सकते हैं।

सावधानियाँ

  • यदि ऐप Google Maps का उपयोग करता है और पैच करने के बाद मैप टूट गया है, तो ऐप की API कुंजी संभवतः डेवलपर के प्रमाणपत्र तक सीमित है। आपको बिना प्रतिबंधों के अपनी स्वयं की API कुंजी बनानी होगी और ऐप की AndroidManifest.xml फ़ाइल में com.google.android.geo.API_KEY मान को बदलने में सक्षम होने के लिए apk-mitm को --wait विकल्प के साथ चलाना होगा।

  • यदि डीकोडिंग या एन्कोडिंग के दौरान apk-mitm क्रैश हो जाता है, तो समस्या संभवतः Apktool से संबंधित है। संभावित समाधान खोजने के लिए GitHub पर उनके मुद्दों की जाँच करें। यदि आपको कोई ऐसा Apktool संस्करण मिलता है जो समस्या से प्रभावित नहीं है, तो आप --apktool विकल्प के माध्यम से इसकी JAR फ़ाइल का पथ निर्दिष्ट करके apk-mitm को इसका उपयोग करने का निर्देश दे सकते हैं।

धन्यवाद

  • Connor Tumbleson को एक शानदार APK डीकंपाइलर बनाने के लिए
  • Patrick Favre-Bulle को APK पर हस्ताक्षर करने के लिए एक बहुत ही सरल उपकरण बनाने के लिए
  • Ryan Welton को अधिकांश सर्टिफिकेट पिनिंग हटाने वाले कोड को प्रेरित करने के लिए

लाइसेंस

MIT © Niklas Higi

टूल डाउनलोड करें