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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-0073-Android-client-TLS-auth-bypass — मूल Python एक्सप्लॉइट को C में अनुवाद करना | Kitploit
उपकरण/GitHubGitHub/m00ddy/cve-2026-0073-android-client-tls-auth-bypass
एंड्रॉइड सुरक्षाभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंटबाइनरी शोषण
GitHubm00ddy/cve-2026-0073-android-client-tls-auth-bypass

CVE-2026-0073-Android-client-TLS-auth-bypass

मूल Python एक्सप्लॉइट को C में अनुवाद करना

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
22 महीने पहलेअभी तक समीक्षित नहीं

CVE‑2026‑0073 एंड्रॉइड के ADB डेमॉन (adbd) में एक लॉजिक बग है जो एक हमलावर को TLS पारस्परिक प्रमाणीकरण (mutual authentication) को बायपास करने और ऐसे डिवाइस पर रिमोट शेल खोलने की अनुमति देता है जिसमें वायरलेस डिबगिंग सक्षम हो और कम से कम एक बार किसी भी कंप्यूटर के साथ पेयर किया गया हो। मूल कारण एक गलत तरीके से उपयोग किया गया API है: OpenSSL के EVP_PKEY_cmp() का रिटर्न वैल्यू तीन-मान वाले परिणाम के बजाय Boolean के रूप में माना जाता है।

ADB वायरलेस डिबगिंग के साथ सामान्य प्रमाणीकरण प्रवाह

जब हम एंड्रॉइड डेवलपर सेटिंग्स से वायरलेस डिबगिंग सक्षम करते हैं, तो डिवाइस एक adbd इंस्टेंस शुरू करता है जो एक रैंडम TCP पोर्ट पर सुनता है। नोट: यह सुविधा Android 11 से शुरू की गई थी।

प्रोटोकॉल के दो चरण हैं:

  1. क्लियरटेक्स्ट नेगोशिएशन: होस्ट TCP के माध्यम से कनेक्ट होता है और TLS में अपग्रेड करने के लिए सहमत होने हेतु CNXN/STLS हैंडशेक का आदान-प्रदान करता है।
  2. TLS 1.3 पारस्परिक प्रमाणीकरण:
    • सर्वर adbd को क्लाइंट से प्रमाणपत्र प्रस्तुत करने की आवश्यकता होती है
    • adbd उस प्रमाणपत्र से सार्वजनिक कुंजी निकालता है
    • फिर यह कुंजी की तुलना अपने /data/misc/adb/adb_keys में संग्रहीत सभी अधिकृत RSA कुंजियों से करता है। कुंजियाँ पिछली पेयरिंग के दौरान वहाँ रखी जाती हैं (एक्सप्लॉइट के लिए आवश्यक है कि यहाँ कम से कम एक कुंजी मौजूद हो)
    • यदि कुंजियाँ मेल खाती हैं, तो हैंडशेक सफल होता है और होस्ट shell उपयोगकर्ता के रूप में शेल कमांड भेज सकता है कुंजी तुलना OPENSSL के EVP_PKEY_cmp(key1, key2) का उपयोग करके की जाती है, जो निम्न लौटाता है
  • 1 --> कुंजियाँ समान हैं
  • 0 --> कुंजियाँ समान नहीं हैं
  • -1 --> कुंजी प्रकार भिन्न हैं, या त्रुटि हुई

बग

फ़ाइल daemon/auth.cpp में कमजोर फ़ंक्शन adb_tls_verify_cert() कुछ इस तरह दिखता है:

root@kitploit:~
int cmp = EVP_PKEY_cmp(stored_rsa_key, peer_key);
if (cmp) {     
    authorised = true;
}

चूँकि if(cmp) तब तक true लौटाता है जब तक cmp गैर-शून्य है, EVP_PKEY_cmp() से -1 का रिटर्न वैल्यू प्राधिकरण की ओर ले जाता है। इसका मतलब है कि चूँकि संग्रहीत कुंजी RSA है, जब क्लाइंट EC या ed25519 प्रमाणपत्र प्रस्तुत करता है, तो फ़ंक्शन -1 लौटाता है और हमलावर को अधिकृत पहुँच प्राप्त हो जाती है।

हमले का क्रम

  1. लक्ष्य: एक एंड्रॉइड डिवाइस जिसमें वायरलेस डिबगिंग सक्षम हो और उसके कीस्टोर में कम से कम एक RSA कुंजी हो (यह किसी के द्वारा एक बार पेयर किया गया हो)।

  2. क्लियरटेक्स्ट हैंडशेक: हमलावर adbd TCP पोर्ट से कनेक्ट होता है और CNXN/STLS का आदान-प्रदान करता है।

  3. EC प्रमाणपत्र के साथ TLS हैंडशेक: हमलावर एक अस्थायी EC P‑256 कुंजी और एक सेल्फ-साइन्ड प्रमाणपत्र उत्पन्न करता है। यह कुंजी जानबूझकर RSA नहीं है।

  4. त्रुटिपूर्ण तुलना: EVP_PKEY_cmp(RSA, EC) ‑1 लौटाता है → if (cmp) true है → adbd ट्रांसपोर्ट को अधिकृत के रूप में चिह्नित करता है।

  5. पोस्ट‑TLS: हमलावर होस्ट CNXN भेजने से बचता है (जो ट्रांसपोर्ट को रीसेट कर देगा) और सीधे एक बड़ी delayed_ack विंडो के साथ shell: स्ट्रीम खोलता है।

परिणाम: shell उपयोगकर्ता के रूप में रिमोट शेल, बिना किसी उपयोगकर्ता इंटरैक्शन, बिना किसी सूचना, और बिना किसी वैध प्राइवेट कुंजी के पास हुए।

इसे C में अनुवाद क्यों करें?

Python स्क्रिप्ट के लिए हमलावर मशीन पर python 3 इंटरप्रिटर और cryptography लाइब्रेरी स्थापित होना आवश्यक है। एक C इम्प्लीमेंटेशन सिस्टम के OpenSSL/libssl के अलावा बाहरी निर्भरताओं के बिना एक स्टैंडअलोन बाइनरी में संकलित होता है, जो लगभग हर लिनक्स सिस्टम पर डिफ़ॉल्ट रूप से मौजूद होता है। यह तैनाती की बाधा को नाटकीय रूप से कम करता है। इसके अलावा, एक C प्रोग्राम को किसी भी लक्षित आर्किटेक्चर (x86_64, ARM, MIPS) के लिए क्रॉस-कंपाइल किया जा सकता है। इसका मतलब है कि एक्सप्लॉइट को राउटर, रास्पबेरी पाई, या यहाँ तक कि एक अन्य एंड्रॉइड डिवाइस जो हमलावर के रूप में कार्य कर रहा है, जैसे एम्बेडेड डिवाइसों पर सीधे संकलित और चलाया जा सकता है, जिसमें किसी python वातावरण की आवश्यकता नहीं होती है। और एक संकलित C बाइनरी को प्रतीकों से रहित किया जा सकता है, पैक किया जा सकता है (UPX), और यह बिना डिसअसेंबलर के अपारदर्शी होता है, जो इसे python स्क्रिप्ट की तुलना में अधिक गुप्त बनाता है।

डेमो

एक्सप्लॉइट चलाना: वायरलेस डिबगिंग इंटरफ़ेस का IP और PORT प्रदान करें और आपके पास डिवाइस पर शेल होगा।

root@kitploit:~
docker build -t adb_bypass .
docker run -it --network host adb_bypass <IP> <PORT>

कैलक खोलना

root@kitploit:~
am start -n com.sec.android.app.popupcalculator/com.sec.android.app.popupcalculator.Calculator

LLM उपयोग पर नोट

एक्सप्लॉइट को python से C में अनुवाद करने के लिए LLM का उपयोग किया गया था, मूल एक्सप्लॉइट यहाँ है। अनुवाद 1:1 सही नहीं था और हमें कई समस्याओं का सामना करना पड़ा, इसलिए अनुवाद में बगों को ठीक करने और पूर्ण रूप से चलने वाले एक्सप्लॉइट तक पहुँचने के लिए कोड विश्लेषण और आगे-पीछे चैटिंग का एक लूप आवश्यक था।

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