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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
frida-interception-and-unpinning — Frida स्क्रिप्ट्स जो मोबाइल एप्लिकेशन को रनटाइम पर पुनर्लेखित करती हैं ताकि सभी HTTPS ट्रैफ़िक को सीधे MitM किया जा सके। | Kitploit
उपकरण/GitHubGitHub/httptoolkit/frida-interception-and-unpinning
एंड्रॉइड सुरक्षाआईओएस सुरक्षावेब प्रॉक्सी और अवरोधनमोबाइल ऐप पेंटेस्टिंगरिवर्स इंजीनियरिंगपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षा
GitHubhttptoolkit/frida-interception-and-unpinning

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

frida-interception-and-unpinning

Frida स्क्रिप्ट्स जो मोबाइल एप्लिकेशन को रनटाइम पर पुनर्लेखित करती हैं ताकि सभी HTTPS ट्रैफ़िक को सीधे MitM किया जा सके।

रिपॉजिटरी देखेंवेबसाइट
2.3k2922 दिन पहलेKitploit द्वारा समीक्षित

Frida मोबाइल इंटरसेप्शन स्क्रिप्ट्स Funded by NLnet - NGI Zero Entrust

HTTP Toolkit का हिस्सा: HTTP(S) बनाने, परीक्षण करने और डीबग करने के लिए शक्तिशाली उपकरण

इस रिपॉजिटरी में Frida स्क्रिप्ट्स हैं जिन्हें मोबाइल डिवाइसों पर पूरी तरह से स्वचालित HTTPS MitM इंटरसेप्शन के लिए आवश्यक सब कुछ करने के लिए डिज़ाइन किया गया है।

स्क्रिप्ट्स का यह सेट एक साथ उपयोग किया जा सकता है, Android और iOS पर HTTP(S) ट्रैफ़िक की MitM इंटरसेप्शन के लिए इंटरसेप्शन संभालने, सर्टिफिकेट ट्रस्ट प्रबंधित करने और सर्टिफिकेट पिनिंग व ट्रांसपेरेंसी जाँच को अक्षम करने हेतु, या इन्हें केवल विशिष्ट सुविधाओं को हुक करने के लिए स्वतंत्र रूप से उपयोग और ट्वीक किया जा सकता है।

स्क्रिप्ट्स स्वचालित रूप से निम्नलिखित संभाल सकती हैं:

  • ट्रैफ़िक को HTTP(S) प्रॉक्सी पर पुनर्निर्देशित करना - सिस्टम सेटिंग्स को संशोधित करना और सभी सॉकेट कनेक्शनों को सीधे पुनर्निर्देशित करना।
  • दिए गए CA सर्टिफिकेट को सिस्टम ट्रस्ट स्टोर में इंजेक्ट करना ताकि वे डिफ़ॉल्ट रूप से कनेक्शनों में विश्वसनीय हों।
  • कई (सभी?) ज्ञात सर्टिफिकेट पिनिंग और सर्टिफिकेट ट्रांसपेरेंसी टूल्स को पैच करना, ताकि आपके CA सर्टिफिकेट द्वारा इंटरसेप्शन की अनुमति मिल सके, भले ही इसे सक्रिय रूप से ब्लॉक किया गया हो।
  • Android पर, फॉलबैक के रूप में: शेष पिनिंग विफलताओं का स्वतः-पता लगाना, ताकि ऑब्सफस्केटेड सर्टिफिकेट पिनिंग के स्वतः-पैचिंग का प्रयास किया जा सके (पूरी तरह से ऑब्सफस्केटेड ऐप्स में, पहला अनुरोध विफल हो सकता है, लेकिन यह अतिरिक्त पैचिंग को ट्रिगर करेगा ताकि बाद के सभी अनुरोध सही ढंग से काम करें)।
  • कई सामान्य root और jailbreak डिटेक्शन को अक्षम करना।
  • अधिकांश HTTP/3 कनेक्शनों (पोर्ट 443 पर सभी UDP) को ब्लॉक करना, जिन्हें इंटरसेप्ट करना असुविधाजनक हो सकता है, यह सुनिश्चित करते हुए कि ऐप्स HTTP/2 या HTTP/1 पर वापस आ जाएँ।

Android आरंभ करने की मार्गदर्शिका

  1. अपना MitM प्रॉक्सी शुरू करें (जैसे HTTP Toolkit), और अपना रूटेड Android डिवाइस या इम्यूलेटर सेट करें, जो ADB से कनेक्ट हो।
  2. अपने MitM प्रॉक्सी का पोर्ट (जैसे 8000) और उसका CA सर्टिफिकेट PEM फॉर्मेट में खोजें
    • CA सर्टिफिकेट -----BEGIN CERTIFICATE----- से शुरू होना चाहिए। आप इसे टेक्स्ट एडिटर में खोलकर देख सकते हैं और यह सामग्री निकाल सकते हैं।
    • HTTP Toolkit में, दोनों विवरण Intercept पेज के 'Anything' विकल्प में मिल सकते हैं।
  3. config.js खोलें, और ये विवरण जोड़ें:
    • CERT_PEM: आपका CA सर्टिफिकेट PEM फॉर्मेट में।
    • PROXY_PORT: प्रॉक्सी का पोर्ट
    • PROXY_HOST: आपके डिवाइस के दृष्टिकोण से आपके प्रॉक्सी का पता (या ADB के माध्यम से पोर्ट फॉरवर्ड करने के लिए adb reverse tcp:$PORT tcp:$PORT उपयोग करें, और होस्ट के रूप में 127.0.0.1 उपयोग करें)
  4. अपने डिवाइस पर Frida इंस्टॉल करें और प्रारंभ करें
    • यहाँ के चरण आपके विशिष्ट डिवाइस और कॉन्फ़िगरेशन पर निर्भर हो सकते हैं।
    • उदाहरण के लिए: github.com/frida/frida से प्रासंगिक frida-server डाउनलोड करें, इसे निकालें, इसे अपने डिवाइस पर adb push करें, और फिर इसे निम्नलिखित 4 कमांड्स के साथ चलाएँ: , , , ।

iOS आरंभ करने की मार्गदर्शिका

  1. अपना MitM प्रॉक्सी शुरू करें (जैसे HTTP Toolkit), और अपना जेलब्रेकन iOS डिवाइस सेट करें, जो आपके कंप्यूटर से कनेक्ट हो।
  2. अपने MitM प्रॉक्सी का पोर्ट (जैसे 8000) और उसका CA सर्टिफिकेट PEM फॉर्मेट में खोजें
    • CA सर्टिफिकेट -----BEGIN CERTIFICATE----- से शुरू होना चाहिए। आप इसे टेक्स्ट एडिटर में खोलकर देख सकते हैं और यह सामग्री निकाल सकते हैं।
    • HTTP Toolkit में, दोनों विवरण Intercept पेज के 'Anything' विकल्प में मिल सकते हैं।
  3. config.js खोलें, और ये विवरण जोड़ें:
    • CERT_PEM: आपका CA सर्टिफिकेट PEM फॉर्मेट में।
    • PROXY_PORT: प्रॉक्सी का पोर्ट
    • PROXY_HOST: आपके डिवाइस के दृष्टिकोण से आपके प्रॉक्सी का पता
  4. अपने डिवाइस पर Frida इंस्टॉल करें और प्रारंभ करें
    • यहाँ के चरण आपके विशिष्ट डिवाइस और कॉन्फ़िगरेशन पर निर्भर हो सकते हैं, लेकिन यह आम तौर पर Cydia/Sileo आदि के माध्यम से https://build.frida.re को पैकेज स्रोत के रूप में उपयोग करके उपलब्ध है।
    • सुनिश्चित करें कि आप यह पुष्टि करने के लिए अपने कंप्यूटर पर frida-ps -Uai चला सकते हैं कि यह सही ढंग से काम कर रहा है।
  5. frida-ps -Uai के माध्यम से जिस ऐप में आपकी रुचि है उसका id खोजें (त्वरित परीक्षण के लिए, github.com/httptoolkit/ios-ssl-pinning-demo उपयोग करने का प्रयास करें - id है)

स्क्रिप्ट्स

ऊपर दिए गए कमांड सभी प्रासंगिक स्क्रिप्ट्स का उपयोग करते हैं, लेकिन आप आम तौर पर अपनी पसंद का कोई भी सबसेट उपयोग कर सकते हैं, हालाँकि लगभग सभी मामलों में आप config.js को पहली स्क्रिप्ट के रूप में शामिल करना चाहेंगे (यह कुछ वेरिएबल्स को परिभाषित करता है जिनका उपयोग अन्य स्क्रिप्ट्स द्वारा किया जाता है)।

उदाहरण के लिए, Android पर केवल अनपिनिंग करने के लिए, जब प्रॉक्सी और सर्टिफिकेट कॉन्फ़िगरेशन कहीं और संभाला जा रहा हो और बिना ऑब्सफस्केशन फॉलबैक के, आप केवल यह चला सकते हैं:

root@kitploit:~
frida -U \
    -l ./config.js \
    -l ./android/android-certificate-unpinning.js
    -f $PACKAGE_ID

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

  • config.js

    यह अन्य स्क्रिप्ट्स द्वारा उपयोग किए जाने वाले वेरिएबल्स को परिभाषित करता है:

    • CERT_PEM - भरोसा करने के लिए अतिरिक्त CA सर्टिफिकेट, PEM फॉर्मेट में
    • PROXY_HOST - उपयोग करने के लिए प्रॉक्सी सर्वर का IP पता (IPv4) (केवल अनपिनिंग करने पर आवश्यक नहीं)
    • PROXY_PORT - उपयोग करने के लिए प्रॉक्सी सर्वर का पोर्ट (केवल अनपिनिंग करने पर आवश्यक नहीं)
    • DEBUG_MODE - डिफ़ॉल्ट रूप से false है, लेकिन इसे true में बदलने से बहुत सारा अतिरिक्त आउटपुट सक्षम होगा जो किसी भी समस्या के डीबगिंग और रिवर्स इंजीनियरिंग के लिए उपयोगी हो सकता है।
    • BLOCK_HTTP3 - डिफ़ॉल्ट रूप से true है, जो पोर्ट 443 पर सभी UDP कनेक्शनों को छोड़कर HTTP/3 को ब्लॉक करता है।

    इसे कमांड लाइन पर किसी भी अन्य स्क्रिप्ट्स से पहले सूचीबद्ध किया जाना चाहिए।

  • native-connect-hook.js

    सभी नेटवर्क ट्रैफ़िक को सीधे कैप्चर करता है, सभी कनेक्शनों को कॉन्फ़िगर किए गए प्रॉक्सी होस्ट और पोर्ट पर रूट करता है।

    यह एक निम्न-स्तरीय हुक है जो सभी नेटवर्क कनेक्शनों पर लागू होता है। यह सुनिश्चित करता है कि सभी कनेक्शन जबरन लक्ष्य प्रॉक्सी सर्वर पर पुनर्निर्देशित हों, यहाँ तक कि वे भी जो प्रॉक्सी सेटिंग्स को अनदेखा करते हैं या अन्य रॉ सॉकेट कनेक्शन बनाते हैं, और सक्षम होने पर HTTP/3 कनेक्शनों को भी ब्लॉक करता है।

ये स्क्रिप्ट्स एक व्यापक HTTP Toolkit परियोजना का हिस्सा हैं, जिसे NGI Zero Entrust Fund के माध्यम से वित्त पोषित किया गया है, जिसे NLnet द्वारा यूरोपीय आयोग के Next Generation Internet कार्यक्रम के वित्तीय समर्थन के साथ स्थापित किया गया है। NLnet परियोजना पृष्ठ पर और अधिक जानें।

NLnet फाउंडेशन लोगो NGI Zero Entrust लोगो

टूल डाउनलोड करें
adb shell
su
chmod +x /.../frida-server
/.../frida-server
  • यदि समस्याएँ हैं, तो कमांड चलाने से पहले डिवाइस चालू और कनेक्टेड है यह जाँचना याद रखें (adb devices का उपयोग करके)। ध्यान दें कि Frida केवल रूट के रूप में डिवाइस पर चलेगा, जो ऊपर दिए गए उदाहरण में su प्रदान करता है, जब रूटेड डिवाइस पर चलाया जाता है। su या समान चलाने के बाद यह जाँचने के लिए कि आप रूट हैं, शेल में whoami चलाने पर root प्रिंट होता है यह देखें।
  • जिस ऐप में आपकी रुचि है उसका पैकेज id खोजें (त्वरित परीक्षण के लिए, github.com/httptoolkit/android-ssl-pinning-demo उपयोग करने का प्रयास करें - पैकेज id tech.httptoolkit.pinning_demo है)
  • जिस ऐप में आपकी रुचि है उसे इंजेक्ट की गई स्क्रिप्ट्स के साथ लॉन्च करने के लिए Frida का उपयोग करें (config.js से शुरू करते हुए)। कौन सी स्क्रिप्ट्स उपयोग करनी हैं यह आप पर निर्भर है, लेकिन Android के लिए शुरू करने के लिए एक अच्छा कमांड यह है:
    root@kitploit:~
    frida -U \
        -l ./config.js \
        -l ./native-connect-hook.js \
        -l ./native-tls-hook.js \
        -l ./android/android-proxy-override.js \
        -l ./android/android-system-certificate-injection.js \
        -l ./android/android-certificate-unpinning.js \
        -l ./android/android-certificate-unpinning-fallback.js \
        -l ./android/android-disable-root-detection.js \
        -f $PACKAGE_ID
    
  • उन सभी ट्रैफ़िक का अन्वेषण करें, जाँच करें और संशोधित करें जिनमें आपकी रुचि है! यदि आपको कोई समस्या है, तो कृपया एक issue खोलें और इन स्क्रिप्ट्स को और बेहतर बनाने में मदद करें।
  • com.httptoolkit.ios-pinning-demo
  • जिस ऐप में आपकी रुचि है उसे इंजेक्ट की गई स्क्रिप्ट्स के साथ लॉन्च करने के लिए Frida का उपयोग करें (config.js से शुरू करते हुए)। कौन सी स्क्रिप्ट्स उपयोग करनी हैं यह आप पर निर्भर है, लेकिन iOS के लिए शुरू करने के लिए एक अच्छा कमांड यह है:
    root@kitploit:~
    frida -U \
        -l ./config.js \
        -l ./ios/ios-connect-hook.js \
        -l ./ios/ios-disable-detection.js \
        -l ./native-tls-hook.js \
        -l ./native-connect-hook.js \
        -f $APP_ID
    
  • उन सभी ट्रैफ़िक का अन्वेषण करें, जाँच करें और संशोधित करें जिनमें आपकी रुचि है! यदि आपको कोई समस्या है, तो कृपया एक issue खोलें और इन स्क्रिप्ट्स को और बेहतर बनाने में मदद करें।
  • यह हुक libc पर लागू होता है, और Android, Linux, iOS, और कई अन्य संबंधित वातावरणों के लिए काम करता है।

  • native-tls-hook.js

    BoringSSL-आधारित लाइब्रेरीज़ के लिए सभी TLS सत्यापन को संशोधित करता है ताकि आपके कॉन्फ़िगर किए गए CA सर्टिफिकेट पर भरोसा किया जा सके।

    विशेष रूप से, यह iOS पर अंतर्निहित BoringSSL API को हुक करता है, जो iOS द्वारा TLS सर्टिफिकेट सत्यापन को संभालने का सामान्य तरीका है (इसलिए यह लगभग सभी iOS HTTPS इंटरसेप्शन के लिए पर्याप्त है) लेकिन इसका उपयोग iOS और Android दोनों पर कुछ अन्य मामलों में भी किया जाता है।

    यह प्रभावी रूप से सभी सर्टिफिकेटों के लिए आपके CA पर भरोसा करता है, और आपके CA के लिए सभी सर्टिफिकेट पिनिंग, सर्टिफिकेट ट्रांसपेरेंसी और अन्य प्रतिबंधों को अक्षम करता है। ध्यान दें कि अन्य कई Frida हुकों के विपरीत यह TLS सत्यापन को पूरी तरह से नहीं अक्षम करता है (जो बहुत असुरक्षित है)। इसके बजाय, यह सत्यापन को ओवरराइड करता है ताकि यह सुनिश्चित किया जा सके कि आपके विशिष्ट CA सर्टिफिकेट का उपयोग करने वाले सभी कनेक्शनों पर भरोसा किया जाए, बिना तीसरे पक्ष द्वारा इंटरसेप्शन की अनुमति देने के लिए सत्यापन को शिथिल किए।

  • android/

    • android-proxy-override.js

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

    • android-system-certificate-injection.js

      मूल Android API को संशोधित करता है ताकि यह सुनिश्चित किया जा सके कि सभी ट्रस्ट स्टोर डिफ़ॉल्ट रूप से आपके अतिरिक्त CA सर्टिफिकेट पर भरोसा करें, जिससे एन्क्रिप्टेड TLS ट्रैफ़िक को कैप्चर किया जा सके।

    • android-certificate-unpinning.js

      अतिरिक्त सर्टिफिकेट प्रतिबंधों के लिए कई सामान्य ज्ञात तकनीकों को संशोधित या अक्षम करता है, जिसमें सर्टिफिकेट पिनिंग (सिस्टम पर भरोसा किए गए सभी सर्टिफिकेटों के बजाय केवल मान्यता प्राप्त सर्टिफिकेटों का एक छोटा सेट स्वीकार करना) और सर्टिफिकेट ट्रांसपेरेंसी (यह सत्यापित करना कि उपयोग किए गए सभी सर्टिफिकेट सार्वजनिक सर्टिफिकेट लॉग में पंजीकृत हैं) शामिल हैं।

    • android-certificate-unpinning-fallback.js

      अनहैंडल किए गए सर्टिफिकेट सत्यापन विफलताओं का पता लगाता है, और अज्ञात/अपरिचित मामलों को स्वतः-जनित फॉलबैक पैच के साथ संभालने का प्रयास करता है। यह अधिक प्रयोगात्मक है और थोड़ा अप्रत्याशित हो सकता है, लेकिन ऑब्सफस्केटेड मामलों के लिए बहुत सहायक है, और सामान्य रूप से यह या तो पिनिंग समस्याओं को ठीक करेगा (एक प्रारंभिक विफलता के बाद) या कम से कम Frida लॉग आउटपुट में आगे रिवर्स इंजीनियरिंग के लिए कोड को उजागर करेगा। यह स्क्रिप्ट android-certificate-unpinning.js के साथ कुछ तर्क साझा करती है, और इसे अकेले उपयोग नहीं किया जा सकता है - यदि आप इस स्क्रिप्ट का उपयोग करना चाहते हैं, तो आपको गैर-फॉलबैक अनपिनिंग स्क्रिप्ट भी शामिल करनी होगी।

    • android-disable-root-detection.js

      रूटेड Android डिवाइसों का पता लगाने से रोकने के लिए नेटिव और Java परतों में सामान्य root डिटेक्शन जाँचों को अक्षम करता है।

      यह स्क्रिप्ट ज्ञात root संकेतकों (जैसे su, Magisk, और संबंधित ऐप्स) के लिए फ़ाइल सिस्टम एक्सेस, शेल कमांड्स और पैकेज लुकअप को इंटरसेप्ट करता है, और उत्पादन वातावरण का अनुकरण करने के लिए प्रमुख सिस्टम प्रॉपर्टी (ro.secure, ro.debuggable, आदि) को फेक करता है।

      यह फ़ाइल अस्तित्व जाँच और शेल कमांड निष्पादन जैसे संदिग्ध व्यवहार को ब्लॉक करता है, जिससे मानक और उन्नत दोनों root जाँचों का उपयोग करने वाले ऐप्स में पता लगाने से बचने में मदद मिलती है।

    • android-disable-flutter-certificate-pinning.js

      सुनिश्चित करता है कि Flutter-आधारित एप्लिकेशन (जो आम तौर पर सिस्टम सर्टिफिकेट कॉन्फ़िगरेशन को अनदेखा करते हैं) आपके CA सर्टिफिकेट पर भरोसा करें, यहाँ तक कि स्पष्ट सर्टिफिकेट पिनिंग के अधिकांश मामलों में भी। यह स्क्रिप्ट अभी के लिए प्रयोगात्मक बनी हुई है।

  • ios/

    • ios-connect-hook.js

      सभी iOS नेटवर्क ट्रैफ़िक को सीधे कैप्चर करता है, सभी कनेक्शनों को कॉन्फ़िगर किए गए प्रॉक्सी होस्ट और पोर्ट पर रूट करता है।

      यह एक निम्न-स्तरीय हुक है जो सभी नेटवर्क कनेक्शनों पर लागू होता है। यह सुनिश्चित करता है कि सभी कनेक्शन जबरन लक्ष्य प्रॉक्सी सर्वर पर पुनर्निर्देशित हों, यहाँ तक कि वे भी जो प्रॉक्सी सेटिंग्स को अनदेखा करते हैं या अन्य रॉ सॉकेट कनेक्शन बनाते हैं।

    • ios-disable-detection.js

      JailMonkey jailbreak डिटेक्शन को अक्षम करता है।

  • utilities/test-ip-connectivity.js

    आप शायद इसे सामान्य रूप से इंटरसेप्शन के हिस्से के रूप में उपयोग नहीं करना चाहेंगे, लेकिन यह आपके कॉन्फ़िगरेशन सेटअप के हिस्से के रूप में बहुत उपयोगी हो सकता है।

    यह स्क्रिप्ट आपको संभावित IP पतों की एक सूची और एक लक्ष्य पोर्ट कॉन्फ़िगर करने की अनुमति देती है, और प्रक्रिया को प्रत्येक पते का परीक्षण करने और पहले पहुंच योग्य पते के लिए Frida क्लाइंट को एक संदेश भेजने की अनुमति देती है। यह स्वचालित कॉन्फ़िगरेशन प्रक्रियाओं के लिए उपयोगी हो सकता है, यदि आप नहीं जानते हैं कि लक्ष्य डिवाइस (आपका फ़ोन) से प्रॉक्सी सर्वर (आपका कंप्यूटर) तक पहुँचने के लिए कौन सा IP पता सबसे अच्छा है।