
Supershell C2 远控平台,基于反向SSH隧道获取完全交互式Shell
Функциональные возможности • Поддерживаемые платформы • Архитектура • Быстрая сборка • Документация • Демонстрация некоторых функций • Отказ от ответственности • Благодарности
Упрощённый китайский • Английский
Во время обычного пентеста и соревнований, получая reverse shell, вы наверняка переживали из-за случайного закрытия оболочки по Ctrl + C? Или мучились при выполнении интерактивных скриптов? Обычный reverse shell — это, как правило, просто выполнение команд и получение результата; такой оболочке часто не хватает удобных возможностей: полностью интерактивного доступа, автодополнения по TAB, запуска интерактивных программ, истории команд и т.п.
Supershell — это веб-платформа управления, объединяющая сервис reverse_ssh. Она разворачивается одной командой Docker (быстрая сборка) и поддерживает командную работу для C2-удалённого управления. За счёт создания обратного SSH-туннеля на целевом хосте вы получаете по-настоящему полностью интерактивный Shell. Поддерживаются клиентские Payload для множества платформ и архитектур; размер клиентского Payload — несколько мегабайт: можно считать, что на целевом хосте разворачивается ssh-сервер размером в несколько мегабайт, после чего вы получаете ssh-shell. Supershell включает функции управления клиентами, генерации клиентских Payload, интерактивного Shell, управления файлами, файлового сервера, инъекции в память, установки служб, миграции GUID, прослушивания на стороне клиента, передачи файлов с помощью локальной нативной команды sftp, проброса портов через локальный ssh-туннель и заметок.
Кроме того, Supershell позволяет делиться полученными Shell с коллегами: оболочки встраиваются в страницы браузера, а для доступа к общей Shell используется отдельная аутентификация — вам не нужно передавать коллегам учётные данные для входа в панель управления.
Поддерживаемые архитектуры для генерации клиентских Payload:
Следующие системные архитектуры не поддерживают упаковку/сжатие:
freebsd/*
android/arm64
linux/s390x
linux/so
netbsd/*
openbsd/*
1、Скачайте исходный код последнего релиза, распакуйте и перейдите в каталог проекта
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 не заняты (если заняты, измените публичные порты служб nginx и rssh в файле docker-compose.yml), затем выполните команду docker-compose
docker-compose up -d
5、Откройте панель управления и войдите, используя user / pwd, заданные в config.py
http://公网IP:8888
Перед использованием прочитайте следующие материалы — это поможет избежать некоторых ошибок или быстро найти решение при возникновении типичных проблем.
Быстрый старт • Меры предосторожности • Часто задаваемые вопросы
Заявление: в демонстрациях в качестве целевых хостов использовались полигон Mituan и виртуальные машины друзей. VPS-сервер, на котором развёрнут Supershell, был арендован временно. Пожалуйста, не пытайтесь атаковать какие-либо IP-адреса, показанные в демонстрациях. Автор не имеет отношения к каким-либо действиям этого VPS-сервера до или после.




Целевая машина не поддерживает TCP reverse shell, поэтому демонстрация проводится на локальной машине: внедряется memory-троян msf.


Данный инструмент предназначен исключительно для санкционированного тестирования безопасности. Перед использованием убедитесь, что ваши действия соответствуют местным законам и нормативным актам и что вы получили все необходимые разрешения.
Если при использовании инструмента вы совершаете какие-либо противоправные действия, вы самостоятельно несёте все последствия; автор не несёт никакой правовой или иной связанной ответственности.
Поскольку в настоящее время инструмент разрабатывается одним автором, в нём неизбежно могут присутствовать функциональные, производительные и связанные с безопасностью недостатки; автор не несёт ответственности за любые проблемы, возникающие в связи с этим.
Перед использованием инструмента внимательно прочитайте и полностью осмыслите все положения, отказ от ответственности, документацию и LICENSE. Не используйте инструмент, если вы не прочитали, не поняли и не приняли все условия настоящего соглашения. Использование инструмента или любое иное явное или подразумеваемое выражение согласия с настоящим соглашением означает, что вы прочитали и согласны соблюдать его условия.
❤️ Спасибо NHAS за руководство и помощь с обратными SSH-туннелями.
Supershell распространяется под лицензией MIT License.
Смотрите лицензии стороннего ПО с открытым исходным кодом, интегрированного и используемого в Supershell: thirdparty_license
| 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 |