ShellPop is a lightweight and versatile reverse shell generator and listener implemented in Python. Designed to simplify the process of generating reverse shells, ShellPop offers a straightforward and user-friendly interface for creating customized shells tailored to various scenarios.
Here're some of the project's best features:
- Ease of Use: With a minimalistic design, ShellPop prioritizes simplicity and ease of use. Generate reverse shells quickly and efficiently with just a few simple commands.
- Multiple Shell Types: Supports Python, Netcat, Bash, PHP, Ruby, Perl, PowerShell, and Node.js reverse shells.
- SSL/TLS Support: Includes encrypted variants for Python, Ruby, and Node.js shells for enhanced security.
- Integrated Listener: Features an optional built-in Netcat listener for immediate connection testing.
- Color-Coded Output: Intuitive color-coded interface for better readability and user experience.
1. Clone the Repository:
git clone https://github.com/EF3X0S/ShellPop.git
2. Navigate to the ShellPop Directory:
cd ShellPop
3. Provide Execution Permissions:
chmod +x shellpop.py
4. Run ShellPop:
python3 shellpop.py
- Python 3.6 or higher
- Netcat (for listener functionality)
Thank you for considering contributing to ShellPop! Contributions are welcomed and encouraged. Follow the existing coding style and conventions used in the project. If in doubt, refer to the existing codebase. If you encounter any issues or bugs, please open a GitHub issue and provide detailed information about the problem, including steps to reproduce.
Technologies used in the project:
- Python 3
- Standard Python libraries (no external dependencies)
ShellPop supports SSL/TLS encrypted reverse shells for enhanced security. The following shells are available:
- Python SSL
- Ruby SSL
- Node.js SSL
To use SSL/TLS encrypted shells:
1. Generate a self-signed certificate (one-time setup):
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
2. For Python/Ruby shells, start the listener with:
openssl s_server -quiet -key key.pem -cert cert.pem -port <PORT>
3. For Node.js shells, use socat as the listener:
socat openssl-listen:<PORT>,cert=cert.pem,verify=0 stdout
4. Generate and use your SSL shell from ShellPop as normal, selecting one of the SSL options from the menu.