
Explorer les possibilités de la plateforme ESP32 pour attaquer les réseaux Wi-Fi à proximité.
Ce projet présente un outil universel pour la plateforme ESP32 permettant de mettre en œuvre diverses attaques Wi-Fi. Il fournit des fonctionnalités communes souvent utilisées dans les attaques Wi-Fi et simplifie l'implémentation de nouvelles attaques. Il inclut également des attaques Wi-Fi elles-mêmes, comme la capture des PMKID à partir de handshakes, ou les handshakes eux-mêmes par différentes méthodes (démarrage d'un AP dupliqué rogue, envoi direct de trames de désauthentification, etc.).
Évidemment, le craquage ne fait pas partie de ce projet, car l'ESP32 n'est pas assez puissant pour casser des hashs de manière efficace. Le reste peut être effectué sur ce petit SoC bon marché et basse consommation.
Compiler et flasher le projet sur l'ESP32 (DevKit ou module)
Alimenter l'ESP32
L'AP de gestion démarre automatiquement après le boot
Se connecter à cet AP
Par défaut :
SSID : ManagementAP et mot de passe : mgmtadmin
Dans le navigateur, ouvrir 192.168.4.1 et vous devriez voir un client web pour configurer et contrôler l'outil comme ceci :

Ce projet est actuellement développé avec ESP-IDF 4.1 (commit 5ef1b390026270503634ac3ec9f1ec2e364e23b2). Il pourrait ne pas fonctionner sur une version plus récente.
Le projet peut être compilé de la manière habituelle ESP-IDF :
idf.py build
La méthode legacy utilisant make n'est pas supportée par ce projet.
Si vous avez installé ESP-IDF, le plus simple est d'utiliser idf.py flash.
Si vous ne souhaitez pas installer tout ESP-IDF, vous pouvez utiliser les binaires précompilés inclus dans build/ et les flasher avec esptool.py (nécessite Python).
Exemple de commande (suivez les instructions dans le repo 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
Sous Windows, vous pouvez utiliser l'outil officiel Flash Download Tool.
Les implémentations d'attaques dans ce projet sont décrites dans le README du composant principal. La théorie derrière ces attaques se trouve dans doc/ATTACKS_THEORY.md
Ce projet utilise la notation Doxygen pour documenter l'API des composants et l'implémentation. Un Doxyfile est inclus ; si vous souhaitez générer la référence API, exécutez simplement doxygen depuis le répertoire racine. Cela générera une référence API HTML dans doc/api/html.
Ce projet est constitué de plusieurs composants réutilisables dans d'autres projets. Chaque composant possède son propre README avec une description détaillée. Voici une brève description des composants :
Ce projet a été principalement développé et testé sur ESP32-DEVKITC-32E, mais il ne devrait y avoir aucune différence pour tout module ESP32-WROOM-32.
Sur les photos suivantes, vous pouvez voir un ESP32 DevKitC alimenté par batterie (accumulateur Li-Pol) utilisant le matériel suivant :
Au total (sans la pièce), cet ensemble pèse environ 17 g. On peut le réduire encore en utilisant un accumulateur Li-Pol plus petit et en utilisant directement un module ESP32-WROOM-32 au lieu d'une carte de développement complète.
Cet ensemble m'a coûté environ 300 CZK (± 11,50 EUR / 13,50 USD). En utilisant directement le module, qui coûte environ 80 CZK (± 3 EUR / 3,5 USD), on peut descendre à 160 CZK (± 6,5 EUR / 7,5 USD), ce qui rend cet outil vraiment bon marché et accessible à presque tout le monde.
D'après des mesures expérimentales, l'ESP32 consomme environ 100 mA pendant l'exécution d'attaques.
N'hésitez pas à contribuer. N'hésitez pas à refactoriser la base de code actuelle. Veuillez utiliser la notation Doxygen pour commenter les nouvelles fonctions et fichiers. Ce projet est principalement destiné à des fins éducatives et de démonstration, donc une documentation détaillée est la bienvenue.
Ce projet démontre les vulnérabilités des réseaux Wi-Fi et de la norme 802.11 sous-jacente, ainsi que la manière dont la plateforme ESP32 peut être utilisée pour attaquer ces points vulnérables. Utilisez-le de manière responsable contre des réseaux pour lesquels vous avez l'autorisation d'effectuer des attaques.
Bien que ce projet soit sous licence MIT (voir le fichier LICENSE pour plus de détails), ne soyez pas timide ou avare et partagez votre travail.