Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
esp32_esp8266_attacks — Prueba de concepto de las vulnerabilidades Wi-Fi de ESP32/8266 (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588) | Kitploit
Herramientas/GitHubGitHub/matheus-garbelini/esp32_esp8266_attacks
Seguridad de Sistemas EmbebidosAuditoría Wi-FiAnálisis de VulnerabilidadesExplotaciónFuzzingSeguridad InalámbricaPruebas de PenetraciónSeguridad de Hardware e IoT

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
matheus-garbelini/esp32_esp8266_attacks

esp32_esp8266_attacks

Prueba de concepto de las vulnerabilidades Wi-Fi de ESP32/8266 (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588)

Ver Repositorio
82069hace 6 añosRevisado por Kitploit

Ataques Wi-Fi en ESP32/ESP8266

Este repositorio es parte del resultado de una investigación del ASSET Research Group. attack_logo

Este repositorio demuestra 3 ataques Wi-Fi contra los populares dispositivos IoT ESP32/8266:

  • Zero PMK Installation (CVE-2019-12587) - Secuestro de clientes ESP32/ESP8266 conectados a redes empresariales;
  • Caída del cliente EAP en ESP32/ESP8266 (CVE-2019-12586) - Caída de dispositivos ESP conectados a redes empresariales;
  • Caída por trama baliza en ESP8266 (CVE-2019-12588) - Caída de dispositivos Wi-Fi ESP8266.

Siga los enlaces de cada vulnerabilidad para más detalles y los parches de Espressif.

Estas vulnerabilidades se encontraron en los SDK de ESP32 y ESP8266. Sus versiones eran ESP-IDF v4.0-dev-459-gba1ff1692 y NONOS-SDK v3.0-103-g7a31cb7 respectivamente en el momento del descubrimiento.

Si bien se proporciona una versión personalizada de hostapd para probar las 2 primeras vulnerabilidades, para la última se usa un ESP8266 para inyectar tramas baliza 802.11 falsas con el fin de causar la caída de otros de su mismo tipo (¡sin juego de palabras!).

Instrucciones de compilación y ejecución de la PoC
Ejecución del binario precompilado
root@kitploit:~
Si está usando Debian o Ubuntu, puede ejecutar el hostapd ya compilado en la carpeta `hostapd-2.8_binary`. Simplemente ejecute `hostapd-2.8_binary/run_hostapd_exploit.sh` para iniciar el punto de acceso y probar la vulnerabilidad, o `hostapd-2.8_binary/run_zero_pmk_EAP.sh` para iniciar sin esta prueba. Tenga en cuenta que debe detener los servicios de red con `service network-manager stop` para que su interfaz Wi-Fi quede libre.
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
Ejecución desde el código fuente
root@kitploit:~
Si por alguna razón el binario no funciona en su sistema, puede compilar el proyecto `hostapd-2.8_source` ejecutando el script `./buid.sh`. El script instala las siguientes dependencias antes de ejecutar la herramienta: `build-essential pkg-config git libnl-genl-3-dev libssl-dev libnl-route-3-dev`.

Después de una compilación exitosa, puede ejecutar el script `./run_zero_pmk_EAP.sh` para iniciar el punto de acceso y probar la vulnerabilidad, o `./run_hostapd_normal.sh` para iniciar sin la prueba.
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
Prueba de la caída por trama baliza (CVE-2019-12588)

Para compilar el código para esp8266 en la carpeta beacon_frame_crasher, es necesario seguir los pasos en ESP8266 Deauther. Esta es una versión modificada del paquete de soporte de placa para ESP8266 que permite la inyección de tramas 802.11 sin procesar. También se proporciona un binario para una prueba rápida en beacon_frame_crasher/ESP8266Crasher.ino.d1_mini.bin en caso de que tenga una placa wemos d1 mini de repuesto. Tenga en cuenta que este código está hardcodeado para causar la caída de un ESP8266 configurado para un punto de acceso con ssid=TEST_KRA. Tan pronto como el dispositivo "beacon frame crasher" se inicie, los otros dispositivos ESP8266 conectados al punto de acceso deberían reiniciarse de forma intermitente.

Alternativamente, si su hardware Wi-Fi soporta monitoreo e inyección, puede ejecutar el script de Python:

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

Salida de la PoC

Si el SDK de su dispositivo ESP es vulnerable a CVE-2019-12587, debería recibir una salida como esta de hostapd:

zero_pmk

Si el SDK de su dispositivo ESP es vulnerable a CVE-2019-12586, debería recibir una salida como esta de hostapd:

eap_crasher

En este caso, como el dispositivo se reinicia cada vez que intenta una conexión con hostapd, debería recibir muchos registros que indiquen reconexión. Si está monitoreando el puerto serie del dispositivo, también puede recibir registros de traza.

Configuración

Por defecto, el punto de acceso de la PoC tiene la siguiente configuración predeterminada:

  • 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

Para cambiar estas opciones, modifique el archivo hostapd.conf en la carpeta raíz de hostapd (hostapd-2.8_binary/hostapd.conf o hostapd-2.8_source/hostapd/hostapd.conf). Cambie el parámetro interface para que coincida con su NIC Wi-Fi; se recomienda dejar los demás parámetros como predeterminados si desea probar los códigos de cliente de prueba ESP32/8266. También se incluyen los certificados correctos (los mismos del repositorio ESP-IDF), por lo que no es necesario cambiarlos en la carpeta hostapd.

Si desea cambiar los métodos EAP o las credenciales de usuario, simplemente modifique hostapd.eap_user.

Atención

Verifique si su biblioteca openssl permite usar la versión TLS 1.0. Normalmente puede cambiar esta configuración en /etc/ssl/openssl.cnf, modificando las últimas líneas a:

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

Códigos de cliente de prueba (opcional)

Los códigos utilizados para probar los dispositivos vulnerables están en la carpeta esp_client_test_codes.

ESP32_Arduino_EAP_Client y ESP8266_Arduino_EAP_Client se pueden compilar usando sus respectivos paquetes de soporte de placa Arduino (arduino-esp32 y arduino-esp8266). En cuanto a los códigos que no son de Arduino, se requieren ESP-IDF y ESP8266_NONOS_SDK para compilar ESP8266_EAP_Client y ESP32_EAP_Client. Tenga en cuenta que debe usar los mismos SDK o versiones anteriores a las mencionadas aquí para desencadenar todas las vulnerabilidades descritas.

Agradecimientos

Esta investigación fue apoyada parcialmente por Keysight Technologies.

Descargar herramienta