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.
rlwrap
is 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 --version
ncat --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: