Wi-Fi Keylogger with multiple layout support.
NOTE: Some keys or modifiers have not been implemented, this is a PoC. I don't have time or material to test all the keyboards. If you have any errors, you can contact me by Twitter: @JoelSernaMoreno
Layouts:
- BE_BE layout support.
- DE_DE layout support.
- ES_ES layout support.
- EN_US layout support.
- FI_FI layout support.
- FR_FR layout support.
- IT_IT layout support.
- PT_PT layout support.
- TR_TR layout support.
TODO:
- MORE LAYOUTS
- MORE KEYS
- TEST ALL LAYOUTS
- Default IP: 192.168.4.1
- Default SSID: WiFiKeylogger
- Default password: hardwareKeylogger
- Default layout: EN_US
- Arduino Pro Micro 3.3V
- ESP8266-01
- USB Host
Note: You can also use the pro micro device to program the ESP8266-01 device. In the examples shown here, it has been divided into two circuits so that the user understands the different connections we need to use.
- Download and Install the Arduino IDE: https://www.arduino.cc/en/main/software
- Go to File - Preferences. Locate the field "Additional Board Manager URLs:" Add "http://arduino.esp8266.com/stable/package_esp8266com_index.json" without quotes. Click "Ok"
If Arduino IDE gives you the following error: "Error downloading http://arduino.esp8266.com/stable/package_esp8266com_index.json" use "https://github.com/esp8266/Arduino/releases/download/2.3.0/package_esp8266com_index.json" instead.
- Select Tools - Board - Boards Manager. Search for "esp8266". Install "esp8266 by ESP8266 community version 2.3.0". Click "Close".
- Download/extract WiFiKeylogger repository.
- Copy the Keyboard and USB Host Shield libraries included in this repository to your Arduino library directory. NOTE: The Keyboard library included in this repository has been modified, WiFiKeylogger needs this library to work.
- Connect the breadboard to the computer with the circuit shown in the esp8266-01 programming mode.
- Open the ESP8266-01.ino sketch from the source folder.
- Select Tools - Board - "Generic ESP8266 Module".
- Select Tools – Upload Speed “115200”.
- Select Tools – Flash Size “512K (64K SPIFFS)”.
- Select Sketch - "Export Compiled Binary".
- Now flash the firmware to the ESP chip using one of the following tools:
Linux: https://github.com/AprilBrother/esptool
- sudo python esptool.py --port=/dev/ttyUSB0 erase_flash
- sudo python esptool.py --port=/dev/ttyUSB0 --baud 115200 write_flash 0x00000 /home/WiFiKeylogger/ESP8266-01/ESP8266-01.ino.generic.bin --flash_size 32m
Windows: https://github.com/nodemcu/nodemcu-flasher
- Connect the breadboard to the computer with the circuit shown in the WiFi Keylogger pinout.
- Open the WiFiKeylogger.ino sketch from the source folder.
- Select Tools - Board – "Arduino Lilypad USB".
- Select the Port your device is connected to under Tools – Port.
- Upload the sketch.