
Explorando possibilidades da plataforma ESP32 para atacar redes Wi-Fi próximas.
Este projecto apresenta uma ferramenta universal para a plataforma ESP32 para implementar vários ataques Wi-Fi. Fornece algumas funcionalidades comuns frequentemente usadas em ataques Wi-Fi e torna a implementação de novos ataques um pouco mais simples. Também inclui ataques Wi-Fi em si, como capturar PMKIDs de handshakes, ou os próprios handshakes por diferentes métodos, como iniciar um AP duplicado malicioso ou enviar quadros de desautenticação diretamente, etc...
Obviamente, a quebra (cracking) não faz parte deste projecto, pois o ESP32 não é suficiente para quebrar hashes de forma eficaz. O resto pode ser feito neste pequeno, barato e de baixo consumo SoC.
Alimentar o ESP32
O AP de gestão é iniciado automaticamente após o arranque
Conecte-se a este AP
Por defeito:
SSID: ManagementAP e password: mgmtadmin
No navegador, abra 192.168.4.1 e deverá ver um cliente web para configurar e controlar a ferramenta assim:

Este projecto está atualmente desenvolvido usando ESP-IDF 4.1 (commit 5ef1b390026270503634ac3ec9f1ec2e364e23b2). Pode estar quebrado em versões mais recentes.
O projecto pode ser construído da forma usual do ESP-IDF:
idf.py build
O método legado usando make não é suportado por este projecto.
Se tiver configurado o ESP-IDF, a forma mais fácil é usar idf.py flash.
Caso não queira configurar todo o ESP-IDF, pode usar binários pré-construídos incluídos em build/ e gravá-los usando esptool.py (requer Python).
Exemplo de comando (siga as instruções no repositório do 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
No Windows pode usar a Ferramenta de Download Flash oficial.
As implementações de ataques neste projecto são descritas no README do componente principal. A teoria por detrás destes ataques está localizada em doc/ATTACKS_THEORY.md
Este projecto usa a notação Doxygen para documentar a API dos componentes e a implementação. O Doxyfile está incluído, por isso, se quiser gerar a referência da API, basta executar doxygen a partir do diretório raiz. Irá gerar a referência da API em HTML em doc/api/html.
Este projecto consiste em múltiplos componentes, que podem ser reutilizados noutros projectos. Cada componente tem o seu próprio README com uma descrição detalhada. Segue-se uma breve descrição dos componentes:
Este projecto foi maioritariamente construído e testado no ESP32-DEVKITC-32E mas não deverá haver diferenças para quaisquer módulos ESP32-WROOM-32.
Nas seguintes imagens pode ver um ESP32 DevKitC alimentado por bateria (acumulador Li-Pol) usando o seguinte hardware:
No total (sem a moeda) esta configuração pesa cerca de 17g. Isto pode ser ainda mais reduzido usando um acumulador Li-Pol mais pequeno e usando o módulo ESP32-WROOM-32 diretamente em vez de toda a placa de desenvolvimento.
Esta configuração custou-me cerca de 300 CZK (± 11.50 EUR/13.50 USD). Usando o módulo diretamente, que custa cerca de 80 CZK (± 3 EUR/3.5 USD), podemos chegar a um preço de 160 CZK (± 6.5 EUR/7.5 USD), o que torna esta ferramenta realmente barata e disponível para quase toda a gente.
Com base em medições experimentais, o ESP32 consome cerca de 100mA durante a execução de ataques.
Sinta-se à vontade para contribuir. Não hesite em refatorar a base de código atual. Por favor, siga a notação Doxygen ao comentar novas funções e ficheiros. Este projecto é construído principalmente para fins educacionais e de demonstração, pelo que documentação detalhada é bem-vinda.
Este projecto demonstra vulnerabilidades das redes Wi-Fi e do seu padrão subjacente 802.11, e como a plataforma ESP32 pode ser utilizada para atacar esses pontos vulneráveis. Utilize de forma responsável apenas contra redes para as quais tenha permissão para atacar.
Embora este projecto esteja licenciado sob a licença MIT (consulte o ficheiro LICENSE para detalhes), não seja tímido ou ganancioso e partilhe o seu trabalho.