Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
esp32_esp8266_attacks — Proof of Concept der Wi-Fi-Schwachstellen von ESP32/8266 (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588) | Kitploit
Tools/GitHubGitHub/matheus-garbelini/esp32_esp8266_attacks
Embedded-System-SicherheitWi-Fi-PrüfungSchwachstellenanalyseExploitationFuzzingDrahtlose SicherheitPenetrationstestsHardware- & IoT-Sicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
matheus-garbelini/esp32_esp8266_attacks

esp32_esp8266_attacks

Proof of Concept der Wi-Fi-Schwachstellen von ESP32/8266 (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588)

Repository anzeigen
82069vor 6 JahrenVon Kitploit geprüft

ESP32/ESP8266 Wi-Fi-Angriffe

Dieses Repository ist Teil eines Forschungsergebnisses der ASSET Research Group. attack_logo

Dieses Repository demonstriert 3 Wi-Fi-Angriffe gegen die beliebten IoT-Geräte ESP32/8266:

  • Zero PMK Installation (CVE-2019-12587) - Übernahme von ESP32/ESP8266-Clients, die mit Unternehmensnetzwerken verbunden sind;
  • ESP32/ESP8266 EAP client crash (CVE-2019-12586) - Absturz von ESP-Geräten, die mit Unternehmensnetzwerken verbunden sind;
  • ESP8266 Beacon Frame Crash (CVE-2019-12588) - Absturz von ESP8266-Wi-Fi-Geräten.

Folgen Sie den Links zu jeder Schwachstelle für weitere Details und Espressifs Patches.

Diese Schwachstellen wurden in den SDKs von ESP32 und ESP8266 gefunden. Zum Zeitpunkt der Entdeckung waren deren Versionen ESP-IDF v4.0-dev-459-gba1ff1692 bzw. NONOS-SDK v3.0-103-g7a31cb7.

Während eine benutzerdefinierte Version von hostapd bereitgestellt wird, um die ersten beiden Schwachstellen zu testen, wird für die letzte ein ESP8266 verwendet, um gefälschte 802.11-Beacon-Frames zu injizieren und damit andere seiner Art zum Absturz zu bringen (kein Wortspiel beabsichtigt!).

Anweisungen zum Erstellen und Ausführen des PoC

Vorkompilierte Binärdatei ausführen

​ Wenn Sie Debian oder Ubuntu verwenden, können Sie das bereits kompilierte hostapd im Ordner hostapd-2.8_binary ausführen. Führen Sie einfach hostapd-2.8_binary/run_hostapd_exploit.sh aus, um den Access Point zum Testen der Schwachstelle zu starten, oder hostapd-2.8_binary/run_zero_pmk_EAP.sh, um ohne diesen Test zu starten. Beachten Sie, dass Sie Netzwerkdienste mit service network-manager stop beenden müssen, damit Ihre Wi-Fi-Schnittstelle frei ist.

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
Aus dem Quellcode ausführen

​ Wenn die Binärdatei aus irgendeinem Grund auf Ihrem System nicht funktioniert, können Sie das Projekt hostapd-2.8_source kompilieren, indem Sie das Skript ./buid.sh ausführen. Das Skript installiert vor der Ausführung des Tools die folgenden Abhängigkeiten: build-essential pkg-config git libnl-genl-3-dev libssl-dev libnl-route-3-dev.

​ Nach erfolgreichem Build können Sie das Skript ./run_zero_pmk_EAP.sh ausführen, um den Access Point zum Testen der Schwachstelle zu starten, oder ./run_hostapd_normal.sh, um ohne den Test zu starten.

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
Testen des Beacon-Frame-Absturzes (CVE-2019-12588)

Um den Code für esp8266 im Ordner beacon_frame_crasher zu kompilieren, müssen Sie den Schritten in ESP8266 Deauther folgen. Dies ist eine modifizierte Version des Board-Support-Pakets für ESP8266, die das Injizieren roher 802.11-Frames ermöglicht. Eine Binärdatei wird ebenfalls für einen schnellen Test in beacon_frame_crasher/ESP8266Crasher.ino.d1_mini.bin bereitgestellt, falls Sie ein zusätzliches Wemos D1 Mini Board haben. Beachten Sie, dass dieser Code fest darauf ausgelegt ist, einen ESP8266 zum Absturz zu bringen, der für einen Access Point mit ssid=TEST_KRA konfiguriert ist. Sobald das „beacon frame crasher“-Gerät startet, sollten die anderen ESP8266-Geräte, die mit dem Access Point verbunden sind, in regelmäßigen Abständen neu starten.

Alternativ können Sie, wenn Ihre Wi-Fi-Hardware Monitoring und Injektion unterstützt, das Python-Skript ausführen:

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-Ausgabe

Wenn Ihr ESP-Geräte-SDK anfällig für CVE-2019-12587 ist, sollten Sie eine Ausgabe wie diese von hostapd erhalten:

zero_pmk

Wenn Ihr ESP-Geräte-SDK anfällig für CVE-2019-12586 ist, sollten Sie eine Ausgabe wie diese von hostapd erhalten:

eap_crasher

In diesem Fall sollten Sie viele Protokolle erhalten, die eine erneute Verbindung anzeigen, da das Gerät bei jedem Verbindungsversuch mit hostapd neu startet. Wenn Sie den seriellen Port des Geräts überwachen, können Sie auch Trace-Logs erhalten.

Konfiguration

Standardmäßig hat der PoC-Access-Point die folgende Standardkonfiguration:

  • 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-Methode=PEAP

Um diese Optionen zu ändern, ändern Sie die Datei hostapd.conf im Stammordner von hostapd (hostapd-2.8_binary/hostapd.conf oder hostapd-2.8_source/hostapd/hostapd.conf). Bitte ändern Sie den interface-Parameter so, dass er zu Ihrer Wi-Fi-Netzwerkkarte passt. Es wird empfohlen, die anderen Parameter als Standard zu belassen, wenn Sie die ESP32/8266-Client-Testcodes testen möchten. Korrekte Zertifikate sind ebenfalls enthalten (dieselben aus dem ESP-IDF-Repository), sodass Sie sie im hostapd-Ordner nicht ändern müssen.

Wenn Sie EAP-Methoden oder Benutzeranmeldeinformationen ändern möchten, ändern Sie einfach hostapd.eap_user

Achtung

Überprüfen Sie, ob Ihre OpenSSL-Bibliothek die Verwendung von TLS-Version 1.0 erlaubt. Sie können diese Konfiguration normalerweise in /etc/ssl/openssl.cnf ändern, indem Sie die letzten Zeilen wie folgt ändern:

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

Test-Client-Codes (optional)

Die Codes zum Testen der anfälligen Geräte befinden sich im Ordner esp_client_test_codes.

ESP32_Arduino_EAP_Client und ESP8266_Arduino_EAP_Client können mit den jeweiligen Arduino-Board-Support-Paketen (arduino-esp32 und arduino-esp8266) kompiliert werden. Für die Nicht-Arduino-Codes sind ESP-IDF und ESP8266_NONOS_SDK erforderlich, um ESP8266_EAP_Client und ESP32_EAP_Client zu kompilieren. Beachten Sie, dass Sie dieselben oder früheren SDKs wie hier erwähnt verwenden müssen, um alle beschriebenen Schwachstellen auszulösen.

Danksagungen

Diese Forschung wurde teilweise von Keysight Technologies unterstützt.

Tool herunterladen