Software for ESP32 with LCD 2x16 screen and waveshare rotary button (sensor) written in MicroPython
Bleach is designed as a pentesting device, and its setup requires substantial knowledge;
therefore, this project is not suitable for beginners
- Create captive portals (choose from 4 templates)
- Flood nearby WiFi environment with Beacon Frames
- Spoof BLE advertisement data to confuse or crash various devices
- Spoof ESP as other popular device
- BLE Keyboard, Mouse and Joystick Payload Injection (aka BLE Rubber Ducky)
- WiFi Packet fuzzer with burst technique
- Flood WiFi devices with Fake Access Points
- Scan for BSSID/ESSID of nearby WiFi and Bluetooth networks
- Play Starships
- Open-Source code:)
Before we get started, here's what is necessary:
- ESP32 Devkit v1 WiFi+BT (https://botland.store/esp32-wifi-and-bt-modules/8893-esp32-wifi-bt-42-platform-with-module-5904422337438.html)
- LCD display 2x16 + I2C LCM1602 converter (https://botland.store/alphanumeric-and-graphic-displays/2351-lcd-display-2x16-characters-blue-i2c-lcm1602-5904422309244.html)
- Rotation Sensor Waveshare 9533 (https://botland.store/encoders/4483-rotation-sensor-encoder-with-button-module-waveshare-9533-5904422366582.html)
- 9 female-to-female jumper wires (2 black or GND, 2 red or VCC, 5 data (any color, e.g. purple just not red/black))
- USB to Micro USB data cable
- Any power source
- Small box or a breadboard that can fit the components
$ git clone https://github.com/FLOCK4H/Bleach.git
- Flash the MicroPython firmware onto the ESP32
- Upload project files to the ESP
- Disconnect ESP from the device in order to safely connect modules
- Connect LCD to ESP32:
- SCL: GPIO22
- SDA: GPIO21
- VCC: 5V
- Connect rotary sensor:
- SIA: GPIO4
- SIB: GPIO5
- SW: GPIO2
- VCC: 3.3V
- Do not forget to connect GND cables
- Plug the ESP to the power source
- Take a screwdriver or any thin object and tweak the potentiometer on the back of the LCD screen until the text will be clear to read
- By this time you should be fine to go, just without some WiFi features
- Follow this process to the point where you have esp-idf and MicroPython repos: https://github.com/micropython/micropython/blob/master/ports/esp32/README.md
- Inside the folder micropython/ports/esp32/ modify the file network_wlan.c
For the sake of educational purposes I'm only going to tell what declaration you will need to include:
esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq);
- Bind to MicroPython under name of
send_raw_packet
- Go back to the guide, build and flash the firmware onto the ESP
- Upload project files to the ESP
- Disconnect ESP from the device in order to safely connect modules
- Connect LCD to ESP32:
- SCL: GPIO22
- SDA: GPIO21
- VCC: 5V
- Connect rotary sensor:
- SIA: GPIO4
- SIB: GPIO5
- SW: GPIO2
- VCC: 3.3V
- Do not forget to connect GND cables to both components:)
- Plug the ESP to the power source
- Take a screwdriver or any thin object and tweak the potentiometer on the back of the LCD screen until the text will be clear to read
- You are fully geared up
- Simple example made out of a carton box and a black tape
The author is not responsible for any illegal, unauthorized or unethical use of the device, software or firmware provided. Always ensure you have the legal rights and authorization for using such tools. Misuse of Bleach may result in legal consequences; users are expected to comply with all applicable regulations and standards.