
Piattaforma di controllo remoto Supershell C2, basata su tunnel SSH inversi per ottenere una shell completamente interattiva
Caratteristiche • Piattaforme supportate • Architettura • Avvio rapido • Documentazione • Demo delle funzionalità • Disclaimer • Ringraziamenti
Nei penetration test e nelle competizioni, quando si utilizza una reverse shell, ti preoccupa il fatto che Ctrl + C chiuda accidentalmente la shell? Sei infastidito dall'esecuzione di script interattivi? Le normali reverse shell spesso si limitano all'esecuzione dei comandi e alla risposta dei risultati; a queste shell mancano funzionalità pratiche come l'accesso completamente interattivo, il completamento con TAB, l'esecuzione di programmi interattivi, la cronologia, ecc.
Supershell è una piattaforma di gestione WEB che integra il servizio reverse_ssh, distribuita con un clic tramite docker (Avvio rapido). Supporta la collaborazione di squadra per il controllo remoto C2. Creando un tunnel SSH inverso sulla macchina target, si ottiene una vera shell completamente interattiva; sono supportati payload client multipiattaforma. Il payload client ha una dimensione di pochi MB: in pratica, sulla macchina target viene distribuito un server SSH di pochi MB e quindi si ottiene una shell SSH. Supershell integra gestione dei client, generazione dei payload client, shell interattiva, gestione dei file, file server, iniezione in memoria, installazione del servizio, migrazione del GUID, listener sui client, trasferimento file tramite comando sftp nativo locale, port forwarding tramite tunnel SSH locale e memo.
Supershell consente inoltre di condividere le shell ottenute con i propri collaboratori. Le shell sono incorporate nella pagina del browser e la shell condivisa utilizza un metodo di autenticazione separato: non è necessario fornire ai collaboratori le credenziali di autenticazione della piattaforma di gestione.
Architetture di sistema dei payload client supportate:
| 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 |
Le seguenti architetture di sistema non supportano il packing e la compressione:
freebsd/*
android/arm64
linux/s390x
linux/so
netbsd/*
openbsd/*
1、Scarica il codice sorgente dell'ultima release, estrailo ed entra nella directory del progetto
wget https://github.com/tdragon6/Supershell/releases/latest/download/Supershell.tar.gz
tar -zxvf Supershell.tar.gz
cd Supershell
2、Modifica il file di configurazione config.py; è obbligatorio modificare la password di login pwd, la chiave jwt global_salt e la password condivisa share_pwd. Presta attenzione alla sintassi Python: tipi String e Int; la password è il valore md5 a 32 caratteri della password in chiaro.
# 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、Imposta la variabile d'ambiente per l'indirizzo pubblico; se si salta questo passaggio, la funzionalità di connessione con un singolo comando non funzionerà.
格式:export EXTERNAL_ADDRESS=<公网地址>:<rssh公网端口>
4、Assicurati che le porte 8888 e 3232 non siano occupate (se lo sono, modifica nel file docker-compose.yml le porte esposte al pubblico per i servizi nginx e rssh), quindi esegui il comando docker-compose.
docker-compose up -d
5、Accedi alla piattaforma di gestione e autenticati con user / pwd configurati in config.py.
http://公网IP:8888
Leggere i seguenti contenuti prima dell'uso può aiutarti a evitare alcuni errori durante l'utilizzo o a individuare rapidamente una soluzione quando incontri errori comuni.
Guida rapida • Avvertenze • FAQs