一个通过WEB服务访问的C2远控平台,通过建立反向SSH隧道,获取完全交互式Shell,支持多平台架构Payload

在常规渗透测试和比赛中,反弹shell时是否在为 Ctrl + C 意外关闭Shell而发愁?是否在为执行一些交互式脚本而苦恼?常规的反弹Shell往往只是命令的执行和结果的响应,这样的Shell通常缺少便利的功能,例如完全交互式访问、TAB补全、交互程序的执行和历史记录等功能。

Supershell是一个集成了reverse_ssh服务的WEB管理平台,使用docker一键部署(快速构建),支持团队协作进行C2远程控制,通过在目标主机上建立反向SSH隧道,获取真正的完全交互式Shell,同时支持多平台架构的客户端Payload,客户端Payload的大小为几MB,可以理解为在目标主机上部署了一个几MB的ssh服务器,然后获取了一个ssh shell;Supershell集成了客户端管理、客户端Payload生成、交互式Shell、文件管理、文件服务器、内存注入、安装服务、迁移guid、客户端监听、本地原生sftp命令传输文件、本地ssh隧道端口转发和备忘录等功能。

同时Supershell允许您将获取到的Shell分享给您的伙伴使用,Shell均通过浏览器页面嵌入,共享Shell采用单独的鉴权方式,无需给您的伙伴提供管理平台的身份认证凭证。

功能特点

  • 支持团队并发协作,一个浏览器使用所有功能
  • 支持多种系统架构的反弹Shell客户端Payload,集成压缩和免杀
  • 支持客户端断线自动重连
  • 支持全平台完全交互式Shell,支持在浏览器中使用Shell,支持分享Shell
  • 支持回连客户端列表管理
  • 内置文件服务器
  • 支持文件管理
  • 支持内存注入,即文件不落地执行木马(内存马)
  • 支持Windows安装反弹Shell服务和Linux尝试迁移uid与gid
  • 支持客户端开启监听,实现内网链
  • 支持多种流量封装类型

支持平台

支持生成的客户端Payload系统架构:

android darwin dragonfly freebsd illumos linux netbsd openbsd solaris windows
amd64 amd64 amd64 386 amd64 386 386 386 amd64 386
arm64 arm64   amd64   amd64 amd64 amd64   amd64
      arm   arm arm arm   dll
      arm64   arm64 arm64 arm64    
          ppc64le   mips64    
          s390x        
          so        

其中以下系统架构不支持加壳压缩:

freebsd/*
android/arm64
linux/s390x
linux/so
netbsd/*
openbsd/*

架构图

20260317100402298-image

 

 

 

快速构建

 

1、下载最新release源码,解压后进入项目目录

wget https://github.com/tdragon6/Supershell/releases/latest/download/Supershell.tar.gz
tar -zxvf Supershell.tar.gz
cd Supershell

2、修改配置文件config.py,其中登录密码pwd、jwt密钥global_salt、共享密码share_pwd必须修改,注意Python语法:String类型和Int类型,密码为明文密码的32位md5值

# web登录和会话配置信息  
user = 'tdragon6'  
pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # 明文密码 tdragon6 的md5  
  
# jwt加密盐  
global_salt = 'Be sure to modify this key' # 必须修改,不然可以伪造jwt token直接登录  
  
# 会话保持时间,单位:小时  
expire = 48  
  
  
# 共享远控shell的共享密码  
share_pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # 明文密码 tdragon6 的md5  
  
# 共享shell会话保持时间,单位:小时  
share_expire = 24

3、设置公网地址环境变量,此步遗漏会影响一行命令上线功能

格式:export EXTERNAL_ADDRESS=<公网地址>:<rssh公网端口>

4、确保8888和3232端口没有占用(若占用,请修改docker-compose.yml文件nginx和rssh服务对外暴露端口),执行docker-compose命令

docker-compose up -d

5、访问管理平台,使用config.py配置的 user / pwd 登录

http://公网IP:8888

快速构建

下载源码,解压后进入项目目录

tar -zxvf Supershell.tar.gz

cd Supershell

2、修改配置文件config.py,其中登录密码pwd、jwt密钥global_salt、共享密码share_pwd必须修改,注意Python语法:String类型和Int类型,密码为明文密码的32位md5值

# web登录和会话配置信息  
user = 'tdragon6'  
pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # 明文密码 tdragon6 的md5  
  
# jwt加密盐  
global_salt = 'Be sure to modify this key' # 必须修改,不然可以伪造jwt token直接登录  
  
# 会话保持时间,单位:小时  
expire = 48  
  
  
# 共享远控shell的共享密码  
share_pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # 明文密码 tdragon6 的md5  
  
# 共享shell会话保持时间,单位:小时  
share_expire = 24

3、设置公网地址环境变量,此步遗漏会影响一行命令上线功能

格式:export EXTERNAL_ADDRESS=<公网地址>:<rssh公网端口>

4、确保8888和3232端口没有占用(若占用,请修改docker-compose.yml文件nginx和rssh服务对外暴露端口),执行docker-compose命令

docker-compose up -d

5、访问管理平台,使用config.py配置的 user / pwd 登录

http://公网IP:8888

客户端生成

20260317100533419-image

Linux 反弹Shell

20260317100557971-image

Windows 反弹Shell

文件管理

20260317100613181-image

内存注入

 

靶机不支持TCP反弹,这里使用本机演示,注入msf内存马

20260317100629270-image

内网监听链

20260317100640382-image

免责声明

 

本工具仅面向合法授权的安全测试,在使用本工具前,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。

若您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,作者将不承担任何法律及连带责任。

因本工具目前为作者一人开发,难免会存在功能、性能和安全方面的漏洞,由此产生的任何问题作者将不承担任何责任。

在使用本工具前,请您务必审慎阅读、充分理解各条款内容、免责声明、使用文档和LICENSE。除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。

下载

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容