This repository contains a TCP reverse shell implementation developed for educational and research purposes. The tool is designed to demonstrate concepts in network programming, system security, and encryption.
WARNING: This tool is intended for educational purposes only. The use of this software for malicious activities is illegal and unethical. The author does not condone or support any illegal activities. By using this software, you agree to use it responsibly and within the bounds of the law. The author assumes no liability for any misuse of this software.
- Establishes a reverse TCP connection from a client to a server.
- Uses AES encryption to secure communication.
- Supports multiple client connections.
- Allows the server to remotely execute commands on the client machine.
- The client program automatically starts on system boot.
- Bypasses basic antivirus detection mechanisms.
The server listens for incoming connections from clients and provides an interactive shell to send commands to connected clients.
- Ensure you have Python installed on your system.
- Install the required dependencies:
pip install -r requirements.txt
- Run the server script:
python multi_attacker.py
The client connects to the server and waits for commands to execute.
- Ensure you have Python installed on the victim's system.
- Install the required dependencies:
pip install -r requirements.txt
- Run the client script on the victim machine:
python client.py
- list: Lists all connected clients.
- select [index]: Selects a client to interact with.
- quit: Exits the shell.
Communication between the server and the client is encrypted using AES (Advanced Encryption Standard) with a predefined key and initialization vector (IV). This ensures that data transferred between the server and client is not easily readable by third parties.
The primary goal of this project is to provide a practical example of:
- Network programming using Python's
socket
library. - Implementing AES encryption for secure communication.
- Developing a multi-threaded application to handle multiple client connections.
By studying and experimenting with this code, learners can gain insights into how reverse shells work and how encryption can be used to secure communication channels.
It is crucial to understand the ethical implications of developing and using tools like reverse shells. Such tools can be used for malicious purposes, and it is your responsibility to ensure that you use this knowledge and software ethically and legally. Always obtain explicit permission before running this software on any system.
This project is a powerful learning tool for those interested in network security and ethical hacking. Use it responsibly, and always prioritize ethical considerations in your work.
For any questions or concerns, please contact the author at [harshnkgupta@gmail.com].