
CVE-2026-0073 के लिए हथियारबद्ध प्रूफ-ऑफ-कॉन्सेप्ट, जो Android adbd प्रमाणीकरण बाईपास है, जो वायरलेस ADB के माध्यम से ज़ीरो-क्लिक रिमोट रूट एक्सेस सक्षम करता है, जिसमें प्रोफाइलिंग, निष्कर्षण और स्थिरता के लिए पोस्ट-एक्सप्लॉइटेशन मॉड्यूल शामिल हैं।
वायरलेस ADB TLS प्रमाणीकरण बाईपास भेद्यता के लिए शस्त्रीकृत प्रूफ ऑफ कॉन्सेप्ट। Barghest द्वारा खोजा गया, devtint द्वारा शस्त्रीकृत PoC।
CVE-2026-0073 एंड्रॉइड डिबग ब्रिज डेमॉन (adbd) में एक गंभीर क्रिप्टोग्राफिक लॉजिक विफलता है जो उसी स्थानीय नेटवर्क पर एक अनप्रमाणित हमलावर को ज़ीरो-क्लिक रिमोट रूट एक्सेस प्रदान करती है।
इस रिपॉजिटरी में शामिल है:
adb_tls_auth_bypass.py — STLS/TLS प्रमाणीकरण बाईपास के लिए स्वच्छ, स्टैंडअलोन PoC।main.py — स्वचालित प्रोफाइलिंग, आर्टिफैक्ट निष्कर्षण और पर्सिस्टेंस इंजेक्शन के साथ अधिकतम शोषण फ्रेमवर्क।यह भेद्यता daemon/auth.cpp के अंदर adbd_tls_verify_cert() फ़ंक्शन में मौजूद है। जब कोई क्लाइंट वायरलेस ADB (STLS पथ) के माध्यम से कनेक्ट होता है, तो एक पारस्परिक TLS 1.3 हैंडशेक होता है। डिवाइस OpenSSL के EVP_PKEY_cmp() का उपयोग करके क्लाइंट की सार्वजनिक कुंजी की तुलना संग्रहीत अधिकृत कुंजियों से करता है।
// daemon/auth.cpp — भेद्य लॉजिक
if (EVP_PKEY_cmp(stored_key, client_key)) {
// EVP_PKEY_cmp रिटर्न करता है:
// 1 = कुंजियाँ मेल खाती हैं
// 0 = कुंजियाँ भिन्न हैं
// -1 = प्रकार बेमेल (RSA बनाम EC) ← बग: C++ में सत्य
authorized = true;
}
EVP_PKEY_cmp() -1 (प्रकार बेमेल) लौटाता है।-1 का मूल्यांकन true के रूप में होता है।adbd लॉजिक इस -1 को पूर्ण मेल के रूप में व्याख्या करता है।यह शोषण केवल वायरलेस डिबगिंग STLS पथ पर काम करता है, लीगेसी adb tcpip पथ पर नहीं।
| कनेक्शन मोड | पोर्ट |
|---|
192.168.1.34:38741)इसका मतलब है कि आप एक लीगेसी ADB TCP पोर्ट (आमतौर पर 5555) से कनेक्ट कर रहे हैं। लीगेसी पथ पुराने RSA AUTH हैंडशेक का उपयोग करता है — adbd में एक पूरी तरह से अलग कोड पथ जो इस CVE से प्रभावित नहीं है। आपको इसके बजाय वायरलेस डिबगिंग पोर्ट से कनेक्ट करना होगा।
फ्रेमवर्क (main.py) कोर TLS बाईपास को एक मॉड्यूलर पोस्ट-एक्सप्लॉइटेशन टूलकिट में विस्तारित करता है:
uid=0(root) स्यूडो-टर्मिनल में प्रवेश करता है।--profile): आंतरिक नेटवर्क पिवोटिंग के लिए लक्ष्य OS, सुरक्षा पैच स्तर, SELinux प्रवर्तन और सक्रिय रूटिंग टेबल की तुरंत पहचान करता है।--extract): अत्यधिक संवेदनशील सिस्टम फ़ाइलों (जैसे, /data/misc/adb/adb_keys, /system/build.prop) को सीधे बाईपास सॉकेट पर स्वचालित रूप से बाहर निकालता है।--persist): लक्ष्य की अधिकृत कुंजी फ़ाइल में एक दुष्ट RSA सार्वजनिक कुंजी इंजेक्ट करता है। इंजेक्शन के बाद, हमलावर के पास स्थायी, पूर्ण रूप से प्रमाणित पहुंच बनी रहती है, भले ही CVE को बाद में पैच किया जाए।निर्भरताएँ स्थापित करें:
pip install cryptography
लक्ष्य खोजें: अपने स्थानीय सबनेट पर वायरलेस डिबगिंग सक्षम वाला एक एंड्रॉइड डिवाइस खोजें। डिवाइस के डेवलपर विकल्प स्क्रीन से डायनामिक पोर्ट नोट करें।
शोषण फ्रेमवर्क निष्पादित करें:
# इंटरैक्टिव शेल (डिफ़ॉल्ट)
python main.py <IP> <PORT>
# एकल कमांड निष्पादन
python main.py <IP> <PORT> --cmd "id"
# स्वचालित सिस्टम प्रोफाइलिंग
python main.py <IP> <PORT> --profile
# स्टील्थ आर्टिफैक्ट निष्कर्षण
python main.py <IP> <PORT> --extract
# स्थायी बैकडोर कुंजी इंजेक्ट करें
python main.py <IP> <PORT> --persist
स्टैंडअलोन PoC (न्यूनतम):
python adb_tls_auth_bypass.py <IP> <PORT> --cmd "id; whoami"
यह रिपॉजिटरी केवल शैक्षिक, रेड टीमिंग और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। लेखक इस जानकारी के दुरुपयोग के लिए कोई दायित्व नहीं मानता है।
| प्रोटोकॉल |
|---|
| भेद्य? |
|---|
adb tcpip 5555 (लीगेसी) | 5555 (निश्चित) | AUTH (RSA चुनौती) | ❌ नहीं |
| वायरलेस डिबगिंग (Android 11+) | यादृच्छिक (30000–50000) | STLS → TLS 1.3 | ✅ हाँ |
| त्रुटि | कारण | समाधान |
|---|
कनेक्शन अस्वीकृत | पोर्ट बंद है / वायरलेस डिबगिंग बंद है | वायरलेस डिबगिंग सक्षम करें, सही डायनामिक पोर्ट का उपयोग करें |
AUTH के बजाय STLS | लीगेसी ADB TCP (पोर्ट 5555) से कनेक्टेड | वायरलेस डिबगिंग पोर्ट का उपयोग करें, 5555 नहीं |
SSLV3_ALERT_CERTIFICATE_UNKNOWN | डिवाइस पैच किया गया है (मई 2026+) | लक्ष्य भेद्य नहीं है — फिक्स काम कर रहा है |
समय समाप्त | पोर्ट खुला है लेकिन सही ढंग से प्रतिक्रिया नहीं दे रहा | पोर्ट सत्यापित करें, डिवाइस पर वायरलेस डिबगिंग पुनः आरंभ करें |