Code Monkey home page Code Monkey logo

wifi_keylogger's Introduction

Wi-Fi Keylogger

(Proof of Concept) Arduino Keylogger with Wi-Fi!

arduino leonardo with usb host shield and a nodemcu

Support me and my projects on Patreon!
Support me on Patreon

Contents

Introduction

Using an Arduino with an ATmega32u4 (which can emulate a keyboard) and a USB host shield, this combination can be used as a keylogger. The addition of an ESP8266 allows you to store and retrieve the keystrokes in a log file.

This is just a proof of concept
Please don't expect this to work with every keyboard layout!
I saw a few forum threads about making a USB keylogger with Arduino using a USB Host shield, but I couldn't find any published project about this.
So I hope this is a good basis for someone who wants to make a proper keylogger, though I won't develop this any further.

Disclaimer

Use it only for testing purposes on your own devices!
I don't take any responsibility for what you do with this project.

Installation

Short version:

Upload the keylogger sketch to your Arduino (ATmega32u4) and upload the esp8266_saveSerial sketch to your ESP8266.
Connect your Arduino with the USB host shield and connect the serial pins (RX and TX (Arduino) to TX and RX (ESP8266)) and GND.


Preparation

What you will need:

I used an Arduino Leonardo with the big host shield.

arduino leonardo with USB host shield and a nodemcu

You could probably build a very small version using the mini host shield and a pro micro.
http://forum.arduino.cc/index.php?topic=325930.0

ESP8266

Open the esp8266_saveSerial sketch with Arduino.
You need to install the following Librarys:

Then compile and upload it to your ESP8266 (check if your settings are right).

Arduino ATmega32u4

You will need the USB Host Shield 2.0 Library.
Open the keylogger sketch in Arduino and upload it to your Arduino.

Wire everything up

Ok so now you need to connect the ESP8266 with the Arduino.
Connect these pins:

Arduino ESP82666
TX RX
RX TX
GND GND
VCC (3.3V) VCC (3.3V)

Note: you'll need a 3.3V regulator if your Arduino only provides 5V.
Don't connect the ESP8266 to 5V!

If you use a plain ESP-12, you also have to set the enable pin and to HIGH and GPIO15 to LOW:

PIN Mode
GPIO15 LOW (GND)
CH_PD (EN) HIGH (3.3V)

How to use it

Plug the leonardo in the computer and the keyboard into the USB host shield. The ESP8266 will create a new access point definitely not a keylogger. Connect to it using the password !keylogger.
Open your browser and go to 192.168.4.1, you will see every keytroke.

screenshot of the webinterface

To clear the logfile go to 192.168.4.1/clear.

License

This project is licensed under the MIT License - see the license file file for details

Sources and additional Links

USB Host shield: https://www.circuitsathome.com/usb-host-shield-hardware-manual/ https://www.arduino.cc/en/Main/ArduinoUSBHostShield

wifi_keylogger's People

Contributors

spacehuhn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wifi_keylogger's Issues

Save some storage

Remove the includes for SPI.h and SD.h
Then the sketch uses 3152 bytes less. ๐Ÿ‘
(and probably compiles a few seconds faster)

Saving the keystrokes

I can see the keystrokes but what's the point if I can't store them anywhere is there any way of saving keystrokes to see them later

Help Please

I am using this on a 3.3v Arduino Pr Micro, Micro USB Shield and the new ESP8266, and everything is working, and the ESP8266 is broadcasting the SSID and connects, but it does not create a working webserver. Host unreachable at 192.168.4.1

Am I missing something?

Keylogger.txt won't load when using the ESP-01.

Hi,

I'm having a problem I need some help with. The chip I'm using is the ESP-01 and NOT the ESP-12E. That shouldn't be a problem since the chip is almost the same but apperantly something is indeed different and I can't find out what.

The keylogger.txt won't show. (The HTTP request will timeout). It does exist however on the chip.

Could you give me advise on how to solve this problem? I have no clue what is causing this and can't figure it out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.