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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
esp32_esp8266_attacks — ESP32/8266 वाई-फ़ाई कमजोरियों (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588) का प्रूफ ऑफ़ कॉन्सेप्ट | Kitploit
उपकरण/GitHubGitHub/matheus-garbelini/esp32_esp8266_attacks
एम्बेडेड सिस्टम सुरक्षावाई-फाई ऑडिटिंगभेद्यता विश्लेषणशोषणफज़िंगवायरलेस सुरक्षापेनिट्रेशन टेस्टिंगहार्डवेयर और IoT सुरक्षा

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
matheus-garbelini/esp32_esp8266_attacks

esp32_esp8266_attacks

ESP32/8266 वाई-फ़ाई कमजोरियों (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588) का प्रूफ ऑफ़ कॉन्सेप्ट

रिपॉजिटरी देखें
8206947 साल पहलेKitploit द्वारा समीक्षित

ESP32/ESP8266 वाई-फाई हमले

यह रिपॉजिटरी ASSET Research Group के शोध परिणाम का हिस्सा है। attack_logo

यह रिपॉजिटरी लोकप्रिय ESP32/8266 IoT उपकरणों के विरुद्ध 3 वाई-फाई हमलों का प्रदर्शन करती है:

  • ज़ीरो PMK इंस्टॉलेशन (CVE-2019-12587) - एंटरप्राइज नेटवर्क से जुड़े ESP32/ESP8266 क्लाइंट्स का अपहरण;
  • ESP32/ESP8266 EAP क्लाइंट क्रैश (CVE-2019-12586) - एंटरप्राइज नेटवर्क से जुड़े ESP उपकरणों को क्रैश करना;
  • ESP8266 बीकन फ्रेम क्रैश (CVE-2019-12588) - ESP8266 वाई-फाई उपकरणों को क्रैश करना।

अधिक विवरण और Espressif के पैच के लिए प्रत्येक भेद्यता के लिंक का अनुसरण करें।

ये भेद्यताएं ESP32 और ESP8266 के SDK में पाई गईं। खोज के समय उनके संस्करण क्रमशः ESP-IDF v4.0-dev-459-gba1ff1692 और NONOS-SDK v3.0-103-g7a31cb7 थे।

जबकि पहली 2 भेद्यताओं के परीक्षण के लिए hostapd का एक कस्टम संस्करण प्रदान किया गया है, अंतिम के लिए, एक ESP8266 का उपयोग नकली 802.11 बीकन फ्रेम इंजेक्ट करने के लिए किया जाता है ताकि अपने ही अन्य उपकरणों को क्रैश किया जा सके (कोई वाक्य-दोष नहीं!)।

PoC निर्माण और चलाने के निर्देश

पूर्व-संकलित बाइनरी चलाना

​ यदि आप डेबियन या उबंटू चला रहे हैं तो आप फ़ोल्डर hostapd-2.8_binary में पहले से संकलित hostapd को निष्पादित कर सकते हैं। भेद्यता का परीक्षण करने के लिए एक्सेस पॉइंट शुरू करने के लिए hostapd-2.8_binary/run_hostapd_exploit.sh चलाएं या इस परीक्षण के बिना शुरू करने के लिए hostapd-2.8_binary/run_zero_pmk_EAP.sh चलाएं। कृपया ध्यान दें कि आपको अपने वाई-फाई इंटरफ़ेस को मुक्त करने के लिए service network-manager stop के साथ नेटवर्क सेवाओं को रोकना होगा।

TLDR:
root@kitploit:~
service network-manager stop
./run_zero_pmk_EAP.sh # to test against CVE-2019-12587 (remember to restart ESP first)
./run_crash_esp_EAP.sh # to test against CVE-2019-12586
स्रोत से चलाना

​ यदि किसी कारण से बाइनरी आपके सिस्टम पर काम नहीं करती है, तो आप स्क्रिप्ट ./buid.sh चलाकर प्रोजेक्ट hostapd-2.8_source को संकलित कर सकते हैं। स्क्रिप्ट टूल चलाने से पहले निम्नलिखित निर्भरताएं स्थापित करती है: build-essential pkg-config git libnl-genl-3-dev libssl-dev libnl-route-3-dev।

​ बिल्ड सफल होने के बाद, आप भेद्यता का परीक्षण करने के लिए एक्सेस पॉइंट शुरू करने हेतु स्क्रिप्ट ./run_zero_pmk_EAP.sh चला सकते हैं या परीक्षण के बिना शुरू करने के लिए ./run_hostapd_normal.sh चला सकते हैं।

TLDR:
root@kitploit:~
./build
./run_zero_pmk_EAP.sh # to test against CVE-2019-12587 (remember to restart ESP first)
./run_crash_esp_EAP.sh # to test against CVE-2019-12586
बीकन फ्रेम क्रैश का परीक्षण (CVE-2019-12588)

फ़ोल्डर beacon_frame_crasher में esp8266 के लिए कोड संकलित करने के लिए, ESP8266 Deauther में दिए गए चरणों का पालन करना आवश्यक है। यह ESP8266 के लिए बोर्ड सपोर्ट पैकेज का एक संशोधित संस्करण है जो कच्चे 802.11 फ्रेम के इंजेक्शन की अनुमति देता है। यदि आपके पास एक अतिरिक्त wemos d1 mini बोर्ड है, तो त्वरित परीक्षण के लिए beacon_frame_crasher/ESP8266Crasher.ino.d1_mini.bin में एक बाइनरी भी प्रदान की गई है। ध्यान दें कि यह कोड ssid=TEST_KRA वाले एक्सेस पॉइंट के लिए कॉन्फ़िगर किए गए ESP8266 को क्रैश करने के लिए हार्डकोडेड है। जैसे ही "बीकन फ्रेम क्रैशर" डिवाइस शुरू होता है, एक्सेस पॉइंट से जुड़े अन्य ESP8266 उपकरणों को बीच-बीच में रीस्टार्ट होना चाहिए।

वैकल्पिक रूप से, यदि आपका वाई-फाई हार्डवेयर मॉनिटरिंग और इंजेक्शन का समर्थन करता है, तो आप पायथन स्क्रिप्ट चला सकते हैं:

root@kitploit:~
sudo apt-get install -y aircrack-ng
sudo airmon-ng check kill
sudo airmon-ng wlan0 start # wlan0 is your wifi interface name
pip install scapy
python beacon_frame_crasher/ESP8266Crasher.py

PoC आउटपुट

यदि आपका ESP डिवाइस SDK CVE-2019-12587 के प्रति संवेदनशील है, तो आपको hostapd से इस प्रकार का आउटपुट प्राप्त होना चाहिए:

zero_pmk

यदि आपका ESP डिवाइस SDK CVE-2019-12586 के प्रति संवेदनशील है, तो आपको hostapd से इस प्रकार का आउटपुट प्राप्त होना चाहिए:

eap_crasher

इस मामले में, जैसा कि डिवाइस हर बार hostapd के साथ कनेक्शन का प्रयास करने पर पुनरारंभ हो रहा है, आपको पुनः-कनेक्शन का संकेत देने वाले बहुत सारे लॉग प्राप्त होने चाहिए। यदि आप डिवाइस सीरियल पोर्ट की निगरानी कर रहे हैं, तो आप ट्रेस लॉग भी प्राप्त कर सकते हैं।

कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से PoC एक्सेस पॉइंट में निम्नलिखित डिफ़ॉल्ट कॉन्फ़िगरेशन है:

  • ssid=TEST_KRA
  • channel=9
  • bssid=28:c6:3f:a8:af:c5
  • interface=wlan0
  • server_cert=wpa2_server.pem
  • private_key=wpa2_server.key
  • user=matheus_garbelini
  • user_password=testtest
  • EAP method=PEAP

इन विकल्पों को बदलने के लिए, hostapd के रूट फ़ोल्डर में hostapd.conf फ़ाइल बदलें (hostapd-2.8_binary/hostapd.conf या hostapd-2.8_source/hostapd/hostapd.conf)। कृपया अपने वाई-फाई NIC से मेल खाने के लिए इंटरफ़ेस पैरामीटर बदलें, यदि आप ESP32/8266 क्लाइंट टेस्ट कोड का परीक्षण करना चाहते हैं तो अन्य मापदंडों को डिफ़ॉल्ट के रूप में छोड़ने की सलाह दी जाती है। सही प्रमाणपत्र भी शामिल हैं (ESP-IDF रिपॉजिटरी के समान), इसलिए hostapd फ़ोल्डर में उन्हें बदलने की आवश्यकता नहीं है।

यदि आप EAP विधियों या उपयोगकर्ता नाम क्रेडेंशियल्स बदलना चाहते हैं, तो बस hostapd.eap_user बदलें।

ध्यान दें

जांचें कि आपकी openssl लाइब्रेरी TLS संस्करण 1.0 के उपयोग की अनुमति देती है या नहीं। आप इस कॉन्फ़िगरेशन को सामान्यतः /etc/ssl/openssl.cnf में बदल सकते हैं, अंतिम पंक्तियों को इस प्रकार बदलें:

root@kitploit:~
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1

परीक्षण क्लाइंट कोड (वैकल्पिक)

भेद्य उपकरणों के परीक्षण के लिए उपयोग किए जाने वाले कोड फ़ोल्डर esp_client_test_codes में हैं।

ESP32_Arduino_EAP_Client और ESP8266_Arduino_EAP_Client को उनके संबंधित Arduino बोर्ड सपोर्ट पैकेज (arduino-esp32 और arduino-esp8266) का उपयोग करके संकलित किया जा सकता है। गैर-अरुडिनो कोड के लिए, ESP8266_EAP_Client और ESP32_EAP_Client को संकलित करने के लिए ESP-IDF और ESP8266_NONOS_SDK की आवश्यकता होती है। ध्यान दें कि वर्णित सभी भेद्यताओं को ट्रिगर करने के लिए आपको यहां उल्लिखित समान या पहले के SDK का उपयोग करने की आवश्यकता है।

आभार

यह शोध आंशिक रूप से Keysight Technologies द्वारा समर्थित था।

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