ShellBringer is designed for licensed penetration testers and authorized security professionals conducting engagements under a signed scope of work. Reverse shell generation and listener automation are standard techniques within ethical hacking methodologies (PTES, OWASP Testing Guide, OSSTMM).
Deploying reverse shells on systems without explicit written authorization constitutes unauthorized access and is a criminal offense under:
- CFAA (Computer Fraud and Abuse Act — US)
- CMA (Computer Misuse Act — UK)
- TCK Articles 243-244 (Turkish Penal Code — unauthorized access to information systems)
Always obtain proper written authorization before conducting any penetration test. The author assumes no liability for unauthorized or illegal use of this tool.
ShellBringer is a Python script designed for penetration testers. It facilitates the creation and management of reverse shell payloads, automating listener setup across multiple platforms.
- Installation 🌐
- Usage 💻
- Features ⌨️
- Dependencies 🔍
- Configuration 🧰
- Examples 📚
- Contributors 👥
- License 📜
To install ShellBringer, follow these steps:
-
Ensure Python 3.6+ is installed on your system.
-
Clone the repository:
git clone https://github.com/onurcangnc/shell_bringer.git
-
Install required Python packages:
pip install -r requirements.txt
To start using ShellBringer, run the following command in your terminal:
```bash
python3 shellbringer.py
```
Follow the interactive prompts to generate reverse shells or start a listener.
ShellBringer requires the following Python libraries:
- `pyfiglet` - Used for creating ASCII art text banners.
- `colorama` - Used for adding color and style to the text printed in the terminal.
- `ipaddress` - Used for validating IPv4 addresses.
- `platform` - Used to detect the operating system.
- `subprocess` - Used for spawning new processes.
- `ctypes` - Used to interact with the Windows API, specifically for checking and requesting administrator privileges.
- `sys` - Used to interact with the interpreter to exit the program.
- `time` - Adds a delay of 2 seconds when exiting the script.
- Multi-OS Support: Compatible with Linux, macOS, and Windows.
- Interactive CLI: User-friendly command line interface for ease of use.
- Dynamic Payload Generation: Supports multiple types of reverse shells.
- Listener Automation: Simplifies the process of setting up listeners with netcat/ncat.
The script has several library dependencies as shown above. Besides, you should configure it according to your operating system.
rlwrapis not a built-in command in many Linux distros. Install it as follows:
- Debian/Ubuntu-based systems:
sudo apt-get update
sudo apt-get install rlwrap- Red Hat-based systems (Fedora, CentOS, RHEL):
sudo dnf install rlwrap # For Fedora
sudo yum install rlwrap # For CentOS/RHEL- Arch Linux
sudo pacman -Sy rlwrap- openSUSE
sudo zypper install rlwrap- DO NOT FORGET TO CHECK THE WHETHER YOU HAVE 'NETCAT' or not
which nc- As you know Windows operating system does not support netcat directly. Therefore, we have another alternative for that. Ncat is a modern reimplementation of the classic Netcat (nc) tool. Shell-Bringer only supports that listener.
-
Download Nmap for Windows:
- Visit the official Nmap download page at https://nmap.org/download.html and download the Windows installer.
-
Run the Installer:
- Run the downloaded Nmap installer (.exe file) and follow the on-screen instructions.
-
Select Components:
- During the installation process, ensure that you select the option to install Ncat along with Nmap. The installer usually provides checkboxes for components like Ncat, Zenmap, etc.
-
Complete Installation:
- Complete the installation by following the prompts. Once done, Ncat will be installed on your system.
-
Install Chocolatey (if not already installed):
- Open an elevated Command Prompt (run as administrator) and run the following command:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
- Open an elevated Command Prompt (run as administrator) and run the following command:
-
Install Nmap (including Ncat) via Chocolatey:
- After Chocolatey is installed, you can install Nmap with the following command:
choco install nmap
- After Chocolatey is installed, you can install Nmap with the following command:
-
Verify Installation:
- After installation, verify that Nmap and Ncat are installed by running the following commands in Command Prompt or PowerShell:
nmap --versionncat --version
- After installation, verify that Nmap and Ncat are installed by running the following commands in Command Prompt or PowerShell:
-
Install Homebrew (if not already installed):
- Open Terminal and run the following command to install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Open Terminal and run the following command to install Homebrew:
-
Install Nmap (includes Ncat) using Homebrew:
- Once Homebrew is installed, you can install Nmap, which includes Ncat, by running:
brew install nmap
- Once Homebrew is installed, you can install Nmap, which includes Ncat, by running:
-
Verify Installation:
- After installation is complete, you can verify that Nmap and Ncat are installed by running:
nmap --version
ncat --version
- After installation is complete, you can verify that Nmap and Ncat are installed by running:



