Code Monkey home page Code Monkey logo

kitkat.v1rus's Introduction

kitkat.v1rus

Contributors Forks Issues Pull Request

A python implementation of a keylogger, that can act as a payload or a subroutine to another program.

NOTE

while downloading the code or running it locally please disable your anti-virus or windows protection or put the files into an exception in your antivirus software.

Contents

  1. Description
  2. Project structure
  3. Project roadmap
  4. Getting started
  5. Working
  6. Built with
  7. Contributing
  8. Authors
  9. License
  10. Acknowledgments

Description

What's the problem?

We often forget what we type in our day to day lives, it maybe the last password you used to login into your bank account or maybe a certain website your kid visited and now you can't check on it because either it was opened on incognito or the history has been deleted. Or even in large organisation/schools it becomes hard for IT managers to check on their employees/students and what they've been texting or typing and to whom using the organisation computers. It's a real world problem that many face while excercising discipline and monitoring.

How can this project help?

Keystroke logging, often referred to as keylogging or keyboard capturing, is the action of recording the keys struck on a keyboard, typically covertly, so that a person using the keyboard is unaware that their actions are being monitored. Data can then be retrieved by the person operating the logging program.

The idea

Most workstation keyboards plug into the back of the computer, keeping the connections out of the user's line of sight. A hardware keylogger may also come in the form of a module that is installed inside the keyboard itself. When the user types on the keyboard, the keylogger collects each keystroke and saves it as text in its own hard drive, which may have a memory capacity up to several gigabytes. The person who installed the keylogger must later return and physically remove the device to access the gathered information. There are also wireless keylogger sniffers that can intercept and decrypt data packets transferred between a wireless keyboard and its receiver.

A common software keylogger typically consists of two files that get installed in the same directory: a dynamic link library (DLL) file that does the recording and an executable file that installs the DLL file and triggers it. The keylogger program records each keystroke the user types and periodically uploads the information over the internet to whomever installed the program. Hackers can design keylogging software to use keyboard application program interfaces (APIs) to another application, malicious script injection or memory injection.

Screenshot of data captured from keylogger software Data keyloggers can capture various information from its targets. There are two main types of software keyloggers: user mode keyloggers and kernel mode keyloggers.

A user mode keylogger uses a Windows API to intercept keyboard and mouse movements. GetAsyncKeyState or GetKeyState API functions might also be captured depending on the keylogger. These keyloggers require the attacker to actively monitor each keypress.

A kernel mode keylogger is a more powerful and complex software keylogging method. It works with higher privileges and can be harder to locate in a system. Kernel mode keyloggers use filter drivers that can intercept keystrokes. They can also modify the internal Windows system through the kernel.

Some keylogging programs may also include functionality to record user data besides keystrokes, such as capturing anything that has been copied to the clipboard and taking screenshots of the user's screen or a single application.

Project structure

  ├── logger.py               Code and Definition of keylogger with which you can record the keystrokes
  ├── requirements.txt        For python module imports          

Project roadmap

The project currently does the following things.

  • Record keystrokes
  • Print it on a console
  • Save the strokes in a file using a timestamp

See below for our future steps.

  • Record mouse strokes and scrolls
  • Send the log files into our email account
  • Support multi-lingual keyrecording

Getting started

Prerequisites

Client: Python

Server: Not used

Installing

Clone the project

  git clone https://github.com/DSCKGEC/kitkat.v1rus.git

Go to the project directory

  cd kitkat.v1rus

To run this:

  pip3 install -r requirements.txt

Working

  • Initially the keylogger is set to record all the keystrokes and appened the new keys with an intervel of 60 seconds.
  • The file will be created in the root directory of the file itself
  • The virus is harmless and only collects your keyboard data but can be further customised to record sound and mouse pointing vectors
  • To stop the keylogger completely from your local machine use the task manager to kill the event manually

Built with

Contributing

Please read contributing.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

License

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

Acknowledgments

  • (add your name here below this line along with your github profile link)

kitkat.v1rus's People

Contributors

anuragc2001 avatar

Stargazers

 avatar  avatar  avatar

kitkat.v1rus's Issues

Add support for special characters

Is your feature request related to a problem? Please describe.
Currently the keylogger is unable to record certain key strokes.

Describe the solution you'd like
Add the support for all the special characters under the callback method. ex(Caps, Shift, Ctrl, Esc etc)

Add support for upload to FTP server

Is your feature request related to a problem? Please describe.

  • The keys.log is currently restricted to local machine
  • Add a feature to automatically upload the .log files to a FTP server
  • The upload should take place after each INTERVAL
  • Check for all the loose security issues
  • Try to make the data communication as stable and secure as possible

Add support for auto emailing the log files

Is your feature request related to a problem? Please describe.
From May 30, 2022, ​​Google no longer supports the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password. Therefore, this code won't work for Gmail accounts. If you want to interact with your Gmail account in Python, I highly encourage you to use the Gmail API instead.

Describe the solution you'd like

  • Add integration for Gmail API
  • Send the log files to an email address using the Gmail API
  • Don't use the Primary Gmail Module
  • Send the log files once in a day before 00:00 hrs
  • Secure the SMTP server while sending the files

Add a new GUI interface

Is your feature request related to a problem? Please describe.
We are always welcoming new features and we want someone to add a GUI interface to our keylogger

Describe the solution you'd like

  • It may contain an overview of the keys
  • It may show the current key pressed
  • It may have the feature to change the interval time without editing the code file itself
  • It make a manual clock reset button
  • It may make the project look cool & sci-fi ;)

Program cannot save the log in the file

The program has a runtime error. When saving the file, the following error is thrown:

The program has a runtime error. When saving the file, the following error is issued:
'Keylogger' object has no attribute 'filename'
  File "D:\Sources\Others\keylogger\kitkat.v1rus\Logger.py", line 54, in report_to_file
    with open(f"{self.filename}.txt", "w") as f:
  File "D:\Sources\Others\keylogger\kitkat.v1rus\Logger.py", line 70, in report
    self.report_to_file()

update_filename isn't called and It has been commented. This method must be called to fix the error

ignore generated log files from git

After running the program, files are added to the root folder that should not be seen in commits. These files should be placed in the gitignore file.

Add support for recording mouse click and scrolls

Describe the solution you'd like

  • Add the support for recording mouse clicks
  • Add the support for recording mouse scrolls
  • Use on screen vector mathematics to append the mouse vectors along with the timestamps

Add support for taking screenshots

Describe the solution you'd like
Take screenshot of the whole desktop without letting the user know about it and save it in a different folder ready to be sent via Gmail API or upload it to the ftp server

Add support for native language keystrokes

Is your feature request related to a problem? Please describe.
Currently the keylogger can only record English/Latin characters

Describe the solution you'd like
Add support for native languages. Ex (Indian Symbols, Greek Math letter, etc)

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.