Wi-Fi Deauther - Disconnect devices from nearby networks

Overview

The Wi-Fi Deauther project allowed me to perform controlled deauthentication attacks on Wi-Fi networks. This helped me understand the vulnerabilities of Wi-Fi and how to better protect networks.

How it worked

  • The ESP8266 scans nearby Wi-Fi networks and captures BSSIDs (MAC addresses of access points).
  • It can then send deauthentication frames to connected clients, forcing them to disconnect from the network.
  • This attack demonstrates the insecurity of unprotected management frames in Wi-Fi networks.

Hardware Implementation

I built the setup using an ESP8266 microcontroller, OLED display, push buttons, and a 3.7V LiPo battery. The ESP8266 runs custom firmware flashed via the Arduino IDE.

The wiring was straightforward:

    ESP8266 Pin  | Component
    3V3          | OLED VCC
    GND          | OLED GND
    D1           | OLED SCL
    D2           | OLED SDA
    D5           | Button 1
    D6           | Button 2
    D7           | Button 3
        

This compact hardware allowed for fully autonomous network testing without relying on a computer for operations.

Firmware & Software

I used a modified version of the open-source Wi-Fi Deauther firmware, adding a simple menu system displayed on the OLED. Users can select networks and start attacks with buttons, while the ESP8266 handles all the frame injection.

    // Example menu snippet
    if(button1Pressed){
        scanNetworks();
    }
    if(button2Pressed){
        selectTarget();
    }
    if(button3Pressed){
        startDeauth();
    }