
Supershell C2 远控平台,基于反向SSH隧道获取完全交互式Shell
Funcionalidades • Plataformas suportadas • Diagrama de arquitetura • Construção rápida • Documentação • Demonstração de algumas funcionalidades • Aviso legal • Agradecimentos
Em testes de penetração e competições comuns, ao obter uma reverse shell, você já se preocupou com o Ctrl + C fechando acidentalmente o Shell? Já se frustrou ao executar alguns scripts interativos? As reverse shells convencionais geralmente são apenas a execução de comandos e a resposta de resultados. Esses shells normalmente carecem de recursos convenientes, como acesso totalmente interativo, complemento por TAB, execução de programas interativos e histórico de comandos.
Supershell é uma plataforma de gerenciamento WEB que integra o serviço reverse_ssh, implantada com um clique usando docker (construção rápida). Suporta colaboração em equipe para controle remoto C2. Ao estabelecer um túnel SSH reverso na máquina alvo, você obtém um Shell verdadeiramente totalmente interativo, com suporte a Payloads de cliente para múltiplas arquiteturas de plataforma. O Payload do cliente tem alguns MB de tamanho; pode-se entender que um servidor ssh de alguns MB é implantado na máquina alvo e, em seguida, um shell ssh é obtido. Supershell integra gerenciamento de clientes, geração de Payloads de cliente, Shell interativo, gerenciamento de arquivos, servidor de arquivos, injeção em memória, instalação de serviços, migração de guid, escuta no cliente, comando sftp nativo local para transferência de arquivos, redirecionamento de porta via túnel ssh local e memorandos, entre outras funcionalidades.
Além disso, o Supershell permite compartilhar os Shells obtidos com seus parceiros. Os Shells são incorporados por meio de páginas do navegador e o Shell compartilhado utiliza um método de autenticação separado, sem a necessidade de fornecer as credenciais de autenticação da plataforma de gerenciamento aos seus parceiros.
Arquiteturas de sistema suportadas para geração de Payloads de cliente:
| 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 |
As seguintes arquiteturas de sistema não suportam compactação com empacotamento:
freebsd/*
android/arm64
linux/s390x
linux/so
netbsd/*
openbsd/*
wget https://github.com/tdragon6/Supershell/releases/latest/download/Supershell.tar.gz
tar -zxvf Supershell.tar.gz
cd Supershell
pwd, a chave jwt global_salt e a senha compartilhada share_pwd devem ser obrigatoriamente alteradas. Preste atenção à sintaxe Python: tipos String e Int; a senha é o valor md5 de 32 bits da senha em texto puro# Informações de configuração de login e sessão web
user = 'tdragon6'
pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # md5 da senha em texto puro tdragon6
# Salt de criptografia jwt
global_salt = 'Be sure to modify this key' # Deve ser alterado, caso contrário é possível forjar um token jwt e fazer login diretamente
# Tempo de manutenção da sessão, em horas
expire = 48
# Senha compartilhada para o shell de controle remoto compartilhado
share_pwd = 'b7671f125bb2ed21d0476a00cfaa9ed6' # md5 da senha em texto puro tdragon6
# Tempo de manutenção da sessão do shell compartilhado, em horas
share_expire = 24
Formato: export EXTERNAL_ADDRESS=<endereço público>:<porta pública rssh>
docker-compose up -d
user / pwd configurados em config.pyhttp://IP público:8888
Ler o conteúdo a seguir antes do uso pode evitar alguns erros durante a utilização ou ajudar a localizar rapidamente soluções quando você encontrar erros comuns.