Remote Keylogger System

A secure remote logging system with end-to-end encryption. Features RSA key exchange, AES-256 encryption, and real-time data collection from multiple clients.

Windows Only: The executable is compiled for Windows. Mac/Linux users can clone theGitHub repositoryand build from source.

Usage Instructions

Running the Logger

1. Double-click the downloaded executable

2. The logger runs invisibly in the background (no popup window)

3. Check Task Manager to confirm the process is running

4. Your keystrokes are encrypted and sent to the server in batches

Stopping the Logger

Option 1: Type "keylogger kill" anywhere in your system

Option 2: End the process via Task Manager

Option 3: Restart your computer

Verify termination by checking Task Manager

System Architecture

Python Client
Lightweight keylogger with batch sending, AES-256 encryption, and secure handshake protocol. Captures system-wide keypresses and sends encrypted logs to the server.
Go Server
High-performance server with RSA key management, secure decryption pipeline, and organized log storage. Handles multiple clients with end-to-end encryption.
Firebase Storage
Real-time database integration for persistent log storage and live viewing. Organized by system ID and timestamp for easy browsing and analysis.

Security Features

Encryption

  • • RSA 2048-bit key exchange (OAEP SHA256)
  • • AES-256 symmetric encryption (GCM mode)
  • • Authentication tags for integrity verification
  • • Per-session key generation

Architecture

  • • Secure handshake protocol
  • • Batch transmission with inactivity timeout
  • • System-wide input monitoring
  • • Organized log file structure

How It Works

This remote keylogger system demonstrates secure client-server communication with end-to-end encryption. The Python client captures keystrokes and sends encrypted batches to the Go server, which decrypts and stores the data.

Client Process

  1. Fetches server's RSA public key via handshake
  2. Generates AES-256 session key
  3. Captures system keystrokes continuously
  4. Encrypts and batches logs after inactivity
  5. Sends encrypted payload to server

Server Process

  1. Generates RSA key pair on startup
  2. Provides public key via /handshake endpoint
  3. Receives encrypted logs via /log endpoint
  4. Decrypts AES key using RSA private key
  5. Decrypts and stores logs by system ID

Try It Out

Browse the live logs to see what data gets collected, then download and run the tool to contribute your own encrypted logs to the system.