Skip to content

This project features a TCP reverse shell, developed from scratch using Python, for educational use. It allows a server to securely connect and control multiple clients via AES-encrypted communication, with the client auto-starting on system boot.

License

Notifications You must be signed in to change notification settings

2003HARSH/TCP-Reverse-Shell-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCP Reverse Shell from scracth using Python

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.

Disclaimer

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.

Features

  • 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.

Usage

Server (Handler)

The server listens for incoming connections from clients and provides an interactive shell to send commands to connected clients.

Setup

  1. Ensure you have Python installed on your system.
  2. Install the required dependencies:
    pip install -r requirements.txt
  3. Run the server script:
    python multi_attacker.py

Client (Victim)

The client connects to the server and waits for commands to execute.

Setup

  1. Ensure you have Python installed on the victim's system.
  2. Install the required dependencies:
    pip install -r requirements.txt
  3. Run the client script on the victim machine:
    python client.py

Commands

  • list: Lists all connected clients.
  • select [index]: Selects a client to interact with.
  • quit: Exits the shell.

Encryption

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.

Educational Purpose

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.

Legal and Ethical Considerations

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.

Conclusion

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.

Contact

For any questions or concerns, please contact the author at [harshnkgupta@gmail.com].

About

This project features a TCP reverse shell, developed from scratch using Python, for educational use. It allows a server to securely connect and control multiple clients via AES-encrypted communication, with the client auto-starting on system boot.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages