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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-14292 — CVE-2020-14292 का विवरण | Kitploit
उपकरण/GitHubGitHub/alwentiu/cve-2020-14292
एंड्रॉइड सुरक्षाब्लूटूथ सुरक्षाभेद्यता विश्लेषणवायरलेस सुरक्षामोबाइल सुरक्षागोपनीयता
GitHubalwentiu/cve-2020-14292

CVE-2020-14292

CVE-2020-14292 का विवरण

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

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

सभी देखें →

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

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

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

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

CVE-2020-14292: COVIDSafe ऐप में ब्लूटूथ ट्रांसपोर्ट समस्या

लेखक: अल्वेन तियू, ऑस्ट्रेलियन नेशनल यूनिवर्सिटी

अंतिम अद्यतन: 2020-09-08

सारांश

COVIDSafe एप्लिकेशन (Android के लिए संस्करण 1.0.21 तक) में, GATT कनेक्शन में ब्लूटूथ ट्रांसपोर्ट विकल्प के असुरक्षित उपयोग से हमलावर एप्लिकेशन को ब्लूटूथ BR/EDR ट्रांसपोर्ट पर कनेक्शन स्थापित करने के लिए धोखा दे सकते हैं, जो पीड़ित के फोन का सार्वजनिक ब्लूटूथ पता बिना अधिकार के प्रकट करता है, और उपयोगकर्ता के फोन में ब्लूटूथ पता यादृच्छिकरण सुरक्षा को बायपास करता है। इस समस्या को CVE-2020-14292. के रूप में ट्रैक किया गया है।

तकनीकी विवरण

समस्या का कारण फ़ंक्शन startWork में है, जहाँ connectGatt का उपयोग करके GATT कनेक्शन बनाया जाता है, लेकिन कोई ट्रांसपोर्ट विकल्प निर्दिष्ट नहीं किया गया था।

root@kitploit:~
fun startWork(
    context: Context,
    gattCallback: StreetPassWorker.StreetPassGattCallback
) {
    gatt = device.connectGatt(context, false, gattCallback)
    if (gatt == null) {
       CentralLog.e(TAG, "Unable to connect to ${device.address}")
    }
}

यह Android को ब्लूटूथ कनेक्शन शुरू करने में ट्रांसपोर्ट के लिए TRANSPORT_AUTO विकल्प का उपयोग करने का कारण बनेगा। ऐसा प्रतीत होता है कि Android में कार्यान्वयन में, यह BR/EDR पर डिफ़ॉल्ट होगा यदि यह जिस परिधीय से जुड़ रहा है वह एक डुअल मोड डिवाइस (BR/EDR और LE दोनों का समर्थन करने वाला) है; यह Android में GATT क्लाइंट के निम्नलिखित कार्यान्वयन के कारण हो सकता है, उदाहरण के लिए, यह कोड (प्रासंगिक कोड स्निपेट नीचे शामिल है):

root@kitploit:~
 // Determine transport
  if (transport_p != BT_TRANSPORT_AUTO) {
    transport = transport_p;
  } else {
    switch (device_type) {
      case BT_DEVICE_TYPE_BREDR:
        transport = BT_TRANSPORT_BR_EDR;
        break;

      case BT_DEVICE_TYPE_BLE:
        transport = BT_TRANSPORT_LE;
        break;

      case BT_DEVICE_TYPE_DUMO:
        if (transport_p == BT_TRANSPORT_LE)
          transport = BT_TRANSPORT_LE;
        else
          transport = BT_TRANSPORT_BR_EDR;
        break;
    }

चूंकि BR/EDR में MAC पता यादृच्छिकरण समर्थित नहीं है, केंद्रीय परिधीय को अपनी पहचान पता प्रकट करेगा।

  हमले को शुरू करने के लिए, हमलावर एक डुअल मोड डिवाइस (BR/EDR + LE) पर GATT सर्वर का विज्ञापन करता है, सार्वजनिक पते का उपयोग करते हुए (यह भाग महत्वपूर्ण है, अन्यथा डाउनग्रेड नहीं होगा और Android केंद्रीय LE ट्रांसपोर्ट का उपयोग करेगा)। यह COVIDSafe ऐप को LE ट्रांसपोर्ट के बजाय BR/EDR ट्रांसपोर्ट का उपयोग करने का कारण बनेगा, जिससे फोन का सार्वजनिक पता प्रकट हो जाता है। यह परीक्षण किए गए सभी फोन और Android संस्करणों के लिए काम करता है।

  Android 6 और बाद के लिए, सुधार सरल है: बस ट्रांसपोर्ट विकल्प स्पष्ट रूप से निर्दिष्ट करें।

root@kitploit:~
  gatt = device.connectGatt(context, false, gattCallback, BluetoothDevice.TRANSPORT_LE)

हालाँकि, यह Android 5.1 (API स्तर 22) के लिए काम नहीं करता है, क्योंकि वह विधि API में उजागर नहीं है। यह वास्तव में वहाँ है लेकिन यह छिपा हुआ है। इसलिए Android 5.1 के लिए, एक संभावित सुधार में उस छिपी विधि को कॉल करने के लिए रिफ्लेक्शन का उपयोग करना शामिल है। ये सुधार COVIDSafe (Android) v1.0.48 में लागू किए गए हैं।

हालाँकि, Android 5.1 के लिए सुधार 100% समय काम नहीं कर सकता है; मेरे परीक्षणों ने संकेत दिया कि अभी भी पहचान पते का रिसाव था। यह रनटाइम पर रिफ्लेक्शन तकनीक की विफलता के कारण हो सकता है; आगे की जांच की आवश्यकता होगी।

सुरक्षा और गोपनीयता निहितार्थ

किसी फोन के पहचान पते का अधिकार हमलावर को फोन को ट्रैक करने की अनुमति देगा जब उसका ब्लूटूथ चालू हो और वह हमलावर की ब्लूटूथ रेंज में हो। कुछ ब्लूटूथ-संबंधित कमजोरियाँ (जैसे, CVE-2020-0022) आगे के हमलों को माउंट करने के लिए पहचान पते के ज्ञान पर निर्भर करती हैं, इसलिए इस हमले को दूसरों के साथ श्रृंखलित करने की संभावना है। हमलावर के पास पहचान पते के होने के कुछ परिणामों के लिए यह दस्तावेज़ देखें।

अनुशंसा

COVIDSafe ऐप के Android संस्करण के उपयोगकर्ताओं को दृढ़ता से अपने ऐप को अपडेट करने की सलाह दी जाती है। Android 5 चलाने वालों के लिए, उन स्थितियों में ब्लूटूथ बंद करने की सिफारिश की जाती है जहाँ ब्लूटूथ कार्यक्षमता की आवश्यकता नहीं है।

प्रकटीकरण समयरेखा

यह समस्या पहली बार 2 जून, 2020 को ऑस्ट्रेलियाई सरकार की डिजिटल परिवर्तन एजेंसी को सूचित की गई थी। पहला सुधार 22 जून, 2020 को Android 6 और उससे ऊपर के लिए जारी किया गया था। इसकी पुष्टि की गई है कि यह Android 6 और उससे ऊपर के लिए काम करता है। लेकिन यह समस्या अभी भी Android 5.1 को प्रभावित करती है। दूसरा सुधार, 30 जुलाई, 2020 को जारी किया गया, जिसने Android 5.1 के साथ शेष समस्या का समाधान किया।

स्वीकृति

इस समस्या की स्वतंत्र रूप से पुष्टि करने और इससे संबंधित विभिन्न चर्चाओं के लिए जिम मुसार्ड को धन्यवाद।

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