
Esplorando le possibilità della piattaforma ESP32 per attaccare le reti Wi-Fi vicine.
Questo progetto introduce uno strumento universale per la piattaforma ESP32 per implementare vari attacchi Wi-Fi. Fornisce alcune funzionalità comuni tipicamente utilizzate negli attacchi Wi-Fi e semplifica l'implementazione di nuovi attacchi. Include anche attacchi Wi-Fi come la cattura di PMKID dagli handshake, o gli handshake stessi attraverso diversi metodi come l'avvio di un AP duplicato rogue o l'invio diretto di frame di deautenticazione, ecc...
Ovviamente il cracking non fa parte di questo progetto, poiché l'ESP32 non è sufficiente per craccare hash in modo efficace. Il resto può essere fatto su questo piccolo, economico e a basso consumo SoC.
Alimenta l'ESP32
L'AP di gestione viene avviato automaticamente dopo il boot
Connettiti a questo AP
Per impostazione predefinita:
SSID: ManagementAP e password: mgmtadmin
Apri nel browser 192.168.4.1 e dovresti vedere un client web per configurare e controllare lo strumento come questo:

Questo progetto è attualmente sviluppato utilizzando ESP-IDF 4.1 (commit 5ef1b390026270503634ac3ec9f1ec2e364e23b2). Potrebbe non funzionare su versioni più recenti.
Il progetto può essere compilato nel modo usuale di ESP-IDF:
idf.py build
Il metodo legacy che utilizza make non è supportato da questo progetto.
Se hai configurato ESP-IDF, il modo più semplice è usare idf.py flash.
Nel caso non voglia configurare l'intero ESP-IDF, puoi utilizzare i binari precompilati inclusi in build/ e flasharli usando esptool.py (richiede Python).
Comando di esempio (segui le istruzioni nel repository 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
Su Windows puoi usare il Flash Download Tool ufficiale.
Le implementazioni degli attacchi in questo progetto sono descritte nel README del componente principale. La teoria alla base di questi attacchi si trova in doc/ATTACKS_THEORY.md
Questo progetto utilizza la notazione Doxygen per documentare l'API dei componenti e l'implementazione. Il Doxyfile è incluso, quindi se vuoi generare il riferimento API, esegui doxygen dalla directory principale. Genererà un riferimento API HTML in doc/api/html.
Questo progetto è composto da più componenti, che possono essere riutilizzati in altri progetti. Ogni componente ha il proprio README con descrizione dettagliata. Ecco una breve descrizione dei componenti:
Questo progetto è stato principalmente sviluppato e testato su ESP32-DEVKITC-32E ma non dovrebbero esserci differenze per qualsiasi modulo ESP32-WROOM-32.
Nelle seguenti immagini puoi vedere un ESP32 DevKitC alimentato a batteria (accumulatore Li-Pol) che utilizza i seguenti componenti:
Complessivamente (senza la moneta) questa configurazione pesa circa 17g. Può essere ulteriormente ridotta utilizzando un accumulatore Li-Pol più piccolo e utilizzando direttamente il modulo ESP32-WROOM-32 invece dell'intera scheda di sviluppo.
Questa configurazione mi è costata circa 300 CZK (± 11.50 EUR/13.50 USD). Utilizzando direttamente il modulo che costa circa 80 CZK (± 3 EUR/3.5 USD) possiamo arrivare a un prezzo di 160 CZK (± 6.5 EUR/7.5 USD) il che rende questo strumento molto economico e accessibile a quasi tutti.
Basandosi su misurazioni sperimentali, l'ESP32 consuma circa 100mA durante l'esecuzione degli attacchi.
Sentiti libero di contribuire. Non esitare a rifattorizzare il codice esistente. Si prega di attenersi alla notazione Doxygen quando si commentano nuove funzioni e file. Questo progetto è principalmente realizzato per scopi educativi e dimostrativi, quindi la documentazione dettagliata è benvenuta.
Questo progetto dimostra le vulnerabilità delle reti Wi-Fi e del sottostante standard 802.11 e come la piattaforma ESP32 può essere utilizzata per attaccare questi punti vulnerabili. Usalo in modo responsabile solo su reti per le quali hai il permesso di attaccare.
Anche se questo progetto è concesso in licenza MIT (vedi file LICENSE per i dettagli), non essere timido o avido e condividi il tuo lavoro.