
Explorando las posibilidades de la plataforma ESP32 para atacar redes Wi-Fi cercanas.
Este proyecto presenta una herramienta universal para la plataforma ESP32 para implementar varios ataques Wi-Fi. Proporciona algunas funcionalidades comunes que se utilizan habitualmente en ataques Wi-Fi y facilita la implementación de nuevos ataques. También incluye ataques Wi-Fi como la captura de PMKIDs de handshakes, o los propios handshakes mediante diferentes métodos como iniciar un AP duplicado malicioso o enviar tramas de desautenticación directamente, etc...
Obviamente, el crackeo no es parte de este proyecto, ya que el ESP32 no es suficiente para crackear hashes de manera efectiva. El resto se puede hacer en este pequeño, barato y de bajo consumo SoC.
Construir y flashear el proyecto en el ESP32 (DevKit o módulo)
Encender el ESP32
El AP de gestión se inicia automáticamente tras el arranque
Conectarse a este AP
Por defecto:
SSID: ManagementAP y contraseña: mgmtadmin
En el navegador abrir 192.168.4.1 y debería ver un cliente web para configurar y controlar la herramienta como este:

Este proyecto se desarrolla actualmente usando ESP-IDF 4.1 (commit 5ef1b390026270503634ac3ec9f1ec2e364e23b2). Puede no funcionar en versiones más nuevas.
El proyecto se puede construir de la forma habitual de ESP-IDF:
idf.py build
El método heredado usando make no es compatible con este proyecto.
Si tiene configurado ESP-IDF, la forma más fácil es usar idf.py flash.
En caso de que no quiera configurar todo ESP-IDF, puede usar los binarios precompilados incluidos en build/ y flashearlos usando esptool.py (requiere Python).
Comando de ejemplo (siga las instrucciones en el repositorio de esptool):
esptool.py -p /dev/ttyS5 -b 115200 --after hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x8000 build/partition_table/partition-table.bin 0x1000 build/bootloader/bootloader.bin 0x10000 build/esp32-wifi-penetration-tool.bin
En Windows puede usar la Herramienta de Descarga Flash oficial.
Las implementaciones de ataques en este proyecto se describen en el README del componente principal. La teoría detrás de estos ataques se encuentra en doc/ATTACKS_THEORY.md
Este proyecto usa notación Doxygen para documentar la API de los componentes y su implementación. Se incluye un Doxyfile, así que si desea generar la referencia de API, simplemente ejecute doxygen desde el directorio raíz. Generará una referencia de API HTML en doc/api/html.
Este proyecto consta de múltiples componentes, que pueden reutilizarse en otros proyectos. Cada componente tiene su propio README con una descripción detallada. A continuación se ofrece una breve descripción de los componentes:
Este proyecto fue principalmente construido y probado en ESP32-DEVKITC-32E pero no debería haber diferencias para ningún módulo ESP32-WROOM-32.
En las siguientes imágenes se puede ver un ESP32 DevKitC alimentado por batería (acumulador Li-Pol) usando el siguiente hardware:
En conjunto (sin la moneda) esta configuración pesa alrededor de 17g. Esto se puede reducir aún más usando un acumulador Li-Pol más pequeño y usando el módulo ESP32-WROOM-32 directamente en lugar de toda la placa de desarrollo.
Esta configuración me costó alrededor de 300 CZK (± 11.50 EUR/13.50 USD). Usando el módulo directamente que cuesta alrededor de 80 CZK (± 3 EUR/3.5 USD) podemos llegar a un precio de 160 CZK (± 6.5 EUR/7.5 USD), lo que hace que esta herramienta sea realmente barata y accesible para casi todo el mundo.
Según mediciones experimentales, el ESP32 consume alrededor de 100mA durante la ejecución de ataques.
Siéntase libre de contribuir. No dude en refactorizar la base de código actual. Por favor, manténgase en la notación Doxygen al comentar nuevas funciones y archivos. Este proyecto está construido principalmente con fines educativos y de demostración, por lo que se agradece una documentación detallada.
Este proyecto demuestra vulnerabilidades de las redes Wi-Fi y su estándar subyacente 802.11, y cómo se puede utilizar la plataforma ESP32 para atacar esos puntos vulnerables. Úselo de manera responsable contra redes en las que tenga permiso para atacar.
Aunque este proyecto está licenciado bajo la licencia MIT (consulte el archivo LICENSE para más detalles), no sea tímido ni codicioso y comparta su trabajo.