Shellerator : CLI Tool For The Generation Of Bind & Reverse Shell

Shellerator is a simple command-line tool aimed to help pentesters quickly generate one-liner reverse/bind shells in multiple languages (Bash, Powershell, Java, Python…).

This project is inspired by Print-My-Shell. I just rewrote it and added some options and glitter to it. The lists of reverse and bind shells are not perfect yet. I’ll work on this when I have the time to. I’ll be happy to review pull requests too.

Installation

The install is pretty simple, just clone this git and install the requirements.

git clone https://github.com/ShutdownRepo/shellerator
pip3 install –user -r requirements.txt

Usage

Usage is dead simple too.

Usage: shellerator.py [-h] [-b | -r] [-t TYPE] [-p LPORT] [-i LHOST]

Generate a bind/reverse shell

Optional arguments:
-h, –help show this help message and exit
-l, –list Print all the types of shells shellerator can generate
-b, –bind-shell Generate a bind shell (you connect to the target)
-r, –reverse-shell Generate a reverse shell (the target connects to you)(Default)

Bind shell options:
-t TYPE, –type TYPE Type of the shell to generate (Bash, Powershell, Java…)
-p LPORT, –port LPORT Listener Port

Reverse shell options:
-t TYPE, –type TYPE Type of the shell to generate (Bash, Powershell, Java…)
-i LHOST, –ip LHOST Listener IP address
-p LPORT, –port LPORT Listener Port

Also Read – Authelia : The Single Sign-On Multi-Factor Portal For Web Apps

Without CLI Menus

If you already know what type of shell you want to generate and don’t have time to select the language in the beautiful CLI menu, you can set it with the appropriate -t (or --type) option.

python3 shellerator.py [-r | -b] -t/–type bash -i/–ip 192.168.56.1 -p/–port 1337

To-Do List

Things to Add

Here are some things to add that I have in mind, I’ll work on that asap

  • Add bindshells
  • Add encrypted shells and separate them from bind/rev ?
  • Add some kind of option to help user get info on how to improve shell/tty (rlwrap, stty, ConPty (cf. PayloadsAllTheThings))

Sources

Shells mostly come from the following links

R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

5 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

5 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

6 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago