Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/megamansec/ssh-snake
विशेषाधिकार वृद्धिटोहीनेटवर्क मैपिंगपार्श्व आंदोलनजानकारी एकत्र करनापोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगArchived
GitHubmegamansec/ssh-snake

SSH-Snake

SSH-Snake एक स्व-प्रचारित, स्व-प्रतिकृति, फ़ाइल-रहित स्क्रिप्ट है जो SSH निजी कुंजी और होस्ट खोज के पोस्ट-एक्सप्लॉइटेशन कार्य को स्वचालित करती है।

2.3k2214 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
वेबसाइट

SSH-Snake: स्वचालित SSH-आधारित नेटवर्क ट्रैवर्सल

🐍 SSH-Snake एक शक्तिशाली उपकरण है जो सिस्टम पर खोजी गई SSH निजी कुंजियों का उपयोग करके स्वचालित नेटवर्क ट्रैवर्सल करने के लिए डिज़ाइन किया गया है, जिसका उद्देश्य एक नेटवर्क और उसकी निर्भरताओं का व्यापक मानचित्र तैयार करना है, यह पहचानना कि एक विशेष सिस्टम से शुरू करके SSH और SSH निजी कुंजियों का उपयोग करके नेटवर्क को किस हद तक समझौता किया जा सकता है।

SSH-Snake स्वचालित रूप से उन सिस्टमों के बीच संबंध प्रकट कर सकता है जो SSH के माध्यम से जुड़े हुए हैं, जिसे मैन्युअल रूप से करने में सामान्यतः अत्यधिक समय और प्रयास लगेगा।

दूसरे शब्दों में, SSH-Snake निम्नलिखित कार्यों को स्वचालित और पुनरावर्ती रूप से करता है:

  1. वर्तमान सिस्टम पर, कोई भी SSH निजी कुंजी खोजें,
  2. वर्तमान सिस्टम पर, कोई भी होस्ट या गंतव्य (user@host) खोजें जहां निजी कुंजियाँ स्वीकार की जा सकती हैं,
  3. खोजी गई सभी निजी कुंजियों का उपयोग करके सभी गंतव्यों में SSH करने का प्रयास करें,
  4. यदि किसी गंतव्य से सफलतापूर्वक कनेक्ट हो जाता है, तो कनेक्टेड सिस्टम पर चरण #1 - #4 दोहराएँ।

यह पूरी तरह से स्व-प्रतिकृति और स्व-प्रसार है — और पूरी तरह से फ़ाइलरहित है। कई मायनों में, SSH-Snake वास्तव में एक वर्म है: यह स्वयं की प्रतिकृति बनाता है और जहाँ तक संभव हो, एक सिस्टम से दूसरे में फैलता है।

मैन्युअल रूप से SSH कुंजियों के साथ सिस्टमों के बीच कूदने के बजाय जैसे कि यह सुपर मारियो गेम हो, SSH-Snake को अपने लिए काम करने दें।

हालाँकि यह उपकरण हैकिंग उद्देश्यों के लिए है, सिस्टम प्रशासक भी इसका उपयोग अपने बुनियादी ढाँचे और नेटवर्क को बेहतर ढंग से समझने के लिए कर सकते हैं। यदि आप खोजी गई निजी कुंजियों की छपाई अक्षम करना चाहते हैं, तो कोड की इस पंक्ति को टिप्पणी करें।

इस स्क्रिप्ट के वास्तविक कार्य, तकनीकी विवरण, दिलचस्प खोजों, डिज़ाइन निर्णयों, बेंचमार्किंग और सीखे गए सबकों की गहराई से जानकारी के लिए, इस ब्लॉग पोस्ट को देखें। यह सॉफ्टवेयर Joshua Rogers द्वारा लिखा गया था।

स्क्रीनशॉट

एक बहुत छोटे नेटवर्क में SSH-Snake के आउटपुट का एक छोटा स्क्रीनशॉट।

SSH का उपयोग करके सिस्टमों के बीच संबंध दर्शाने वाला एक ग्राफ़नीले नोड इंगित करते हैं कि गंतव्य स्वयं से कनेक्ट हो सकता है (user@host<-->user@host)। लाल किनारे इंगित करते हैं कि कनेक्शन द्वि-दिशात्मक है (user1@host1<-->user2@host2)।

SSH का उपयोग करके सिस्टमों के बीच संबंध दर्शाने वाला एक ग्राफ़हरे नोड एक होस्ट (उपयोगकर्ता नाम के बिना) को इंगित करते हैं जो स्वयं से कनेक्ट हो सकता है (host1<-->host1)। हरे किनारे इंगित करते हैं कि कनेक्शन द्वि-दिशात्मक है (host1<-->host2)। ऊपरी दाएँ कोने में ग्रे होस्ट वह होस्ट है जिस पर स्क्रिप्ट प्रारंभ में निष्पादित की गई थी।

SSH का उपयोग करके सिस्टमों के बीच संबंध दर्शाने वाला एक ग्राफ़नीले नोड इंगित करते हैं कि गंतव्य स्वयं से कनेक्ट हो सकता है (user@host<-->user@host)। लाल किनारे इंगित करते हैं कि कनेक्शन द्वि-दिशात्मक है (user1@host1<-->user2@host2)।

SSH-Snake का उपयोग और चलाना

SSH-Snake को डाउनलोड किया जा सकता है या bash में पाइप किया जा सकता है:

root@kitploit:~
wget https://raw.githubusercontent.com/MegaManSec/SSH-Snake/main/Snake.nocomments.sh
bash ./Snake.nocomments.sh

या

root@kitploit:~
curl https://raw.githubusercontent.com/MegaManSec/SSH-Snake/main/Snake.nocomments.sh | bash

SSH-Snake के बारे में

SSH-Snake निर्बाध रूप से अनुकरण करता है कि एक मानव प्रतिद्वंद्वी SSH निजी कुंजियों और गंतव्यों को खोजने के लिए क्या करेगा जहाँ उनका उपयोग कनेक्ट करने के लिए किया जा सकता है। पूरी तरह से Bash में लिखा गया, यह मुख्य Linux (और MacOS) सिस्टम पर सामान्यतः उपलब्ध न्यूनतम निर्भरताओं के सेट के साथ संचालित होता है: bash, ssh, coreutils, awk, uniq, sort, grep, tr, find, और cat। getent या dscacheutil आवश्यक है। sed केवल पहले सिस्टम के लिए आवश्यक है। इसी प्रकार, sudo, hostname, , , , , , और का भी उपयोग किया जा सकता है, लेकिन वे आवश्यक नहीं हैं (और स्क्रिप्ट उन मामलों को शालीनता से संभालती है जहाँ वे मौजूद नहीं हैं)। यदि कोई सिस्टम आवश्यक पैकेजों के बिना पाया जाता है, तो यह शालीनता से विफल हो जाता है, उपयोगकर्ता को सूचित करता है कि स्कैन उस विशेष सिस्टम पर जारी नहीं रह सकता (और पीछे हट जाता है, पिछले सिस्टम से जारी रखता है।)

SSH-Snake पूरी तरह से फ़ाइलरहित है: उपयोगकर्ता द्वारा स्क्रिप्ट चलाने के बाद, इसे stdin और bash तर्कों (SSH के माध्यम से) के माध्यम से गंतव्यों के bash में भेजा जाता है। स्कैन किए गए किसी भी सिस्टम पर स्क्रिप्ट का कोई भौतिक साक्ष्य मौजूद नहीं होता है: स्क्रिप्ट चलने का एकमात्र सबूत प्रक्रिया ट्री और अमान्य SSH प्रयासों की पर्याप्त मात्रा है जो अनिवार्य रूप से होंगे।

SSH-Snake खोज के लिए गहराई-प्रथम दृष्टिकोण अपनाता है: एक बार जब यह एक सिस्टम से कनेक्ट हो जाता है, तो यह पीछे हटने से पहले उस सिस्टम से आगे कनेक्ट करने का प्रयास करता है।

SSH-Snake नाम इस तथ्य से आता है कि स्क्रिप्ट का आउटपुट नेटवर्क में ऊपर-नीचे रेंगते हुए साँप जैसा दिखता है। हालाँकि स्नेक गेम के विपरीत, SSH-Snake अपनी ही पूँछ काटने पर (किसी ऐसे सिस्टम से कनेक्ट होता है जिसे यह पहले ही स्कैन कर चुका है या वर्तमान में स्कैन कर रहा है) मरेगा नहीं: यह सामान्य रूप से प्रिंट करेगा कि वहाँ कैसे कनेक्ट हुआ, लेकिन वापस आ जाएगा और गंतव्य को पुनः स्कैन नहीं करेगा (अनंत पुनरावृत्ति से बचने के लिए)।

SSH-Snake का Linux के विभिन्न संस्करणों और MacOS (Homebrew Bash स्थापित के साथ) पर परीक्षण किया गया है। यदि आपको कोई Linux-आधारित OS मिलता है जिसके साथ यह संगत नहीं है, तो कृपया एक रिपोर्ट सबमिट करें।

विशेषताएँ

  • स्थानीय SSH निजी कुंजियों का उपयोग करके एक सिस्टम से दूसरे में पुनरावर्ती रूप से SSH करना,
  • दूरस्थ सिस्टमों के लिए केवल stdin और bash तर्कों का उपयोग करके SSH-Snake स्क्रिप्ट का फ़ाइलरहित ट्रैवर्सल और प्रसार/प्रतिकृति,
  • यदि संभव हो तो sudo का उपयोग करके रूट तक स्वचालित विशेषाधिकार उन्नयन,
  • .bash_history प्रविष्टियों से SSH निजी कुंजी फ़ाइलें खोजना,
  • सामान्यतः उपयोग की जाने वाली फ़ाइलों और फ़ोल्डरों से SSH निजी कुंजियाँ खोजना,
  • स्क्रिप्ट के आउटपुट के रूप में SSH निजी कुंजियों का बाहर निकालना,
  • प्रत्येक सिस्टम पर कॉन्फ़िगर करने योग्य कस्टम कमांड निष्पादन,
  • निजी कुंजियों और सिस्टमों को खोजने के लिए प्लग-एंड-प्ले मॉड्यूलर सिस्टम,
  • IP रेंज, अंतिम लॉगिन, ज्ञात होस्ट, SSH कॉन्फ़िगरेशन फ़ाइलों आदि से होस्ट का पता लगाना,
  • यह पता लगाने की क्षमता कि कोई सिस्टम पहले ही स्कैन किया जा चुका है या स्कैन किया जा रहा है, ताकि A->B->C जैसा नेटवर्क C->A को भी खोज सके लेकिन A->B->C-A->B->C->A->B->... में पुनः न जाए,
  • स्क्रिप्ट के आउटपुट से नेटवर्क के ग्राफिकल विज़ुअलाइज़ेशन उत्पन्न करने की क्षमता,
  • ... और अधिक।

सेटिंग्स

SSH-Snake कुछ सामान्य सेटिंग्स के साथ आता है जिन्हें कॉन्फ़िगर किया जा सकता है। ये सेटिंग्स SETTINGS.md#general-settings में प्रलेखित हैं।

SSH-Snake विभिन्न कॉन्फ़िगर करने योग्य/प्लग-एंड-प्ले रणनीतियों (फ़ंक्शंस) के साथ भी आता है जिनका उपयोग सिस्टम पर SSH निजी कुंजियाँ खोजने और कनेक्ट करने का प्रयास करने के लिए होस्ट और गंतव्य खोजने के लिए किया जा सकता है। उचित डिफ़ॉल्ट प्रदान किए गए हैं, हालाँकि यदि आप यथासंभव गहन स्कैन करना चाहते हैं, तो अधिक खोज तकनीकों को सक्षम करना मदद कर सकता है। यदि स्कैन में लंबा समय लग रहा है, तो कुछ खोज तकनीकों को अक्षम करना मदद कर सकता है। एक रणनीति (find_ssh_keys) के अपवाद के साथ, प्रत्येक रणनीति को बंद/चालू किया जा सकता है। ये SETTINGS.md#configurable-discovery-strategies में प्रलेखित हैं।

आउटपुट को समझना

SSH-Snake के कच्चे आउटपुट में खोजी गई निजी कुंजियों, गंतव्यों और त्रुटि संदेशों के बारे में जानकारी का मिश्रण होता है।

SSH-Snake के पूर्ण आउटपुट पर विस्तृत व्याख्या OUTPUT.md में पाई जा सकती है।

आउटपुट का एक उदाहरण example-output.log में पाया जा सकता है।

सिस्टम संबंधों का विज़ुअलाइज़ेशन

SSH-Snake के आउटपुट का उपयोग उस नेटवर्क के ग्राफ़/विज़ुअलाइज़ेशन बनाने के लिए किया जा सकता है जिसे स्क्रिप्ट पार करती है।

SSH-Snake के आउटपुट से चित्र/विज़ुअलाइज़ेशन बनाने और उनकी व्याख्या करने के तरीके पर विस्तृत व्याख्या GRAPHICS.md में पाई जा सकती है।

अन्य उपकरण

SSH-Snake द्वारा पार किए गए नेटवर्क के विज़ुअलाइज़ेशन बनाने की क्षमता के अलावा, तीन अन्य उपकरण प्रदान किए गए हैं। अर्थात्:

  1. forward-lookup-host.py: एक स्रोत होस्ट या गंतव्य दिया गया, उन सभी सिस्टमों का निर्धारण करें जिन्हें प्रत्यक्ष या अप्रत्यक्ष रूप से (अर्थात तृतीयक सिस्टम के माध्यम से) एक्सेस किया जा सकता है।
  2. reverse-lookup-host.py: एक गंतव्य होस्ट या गंतव्य दिया गया, उन सभी सिस्टमों का निर्धारण करें जो प्रत्यक्ष या अप्रत्यक्ष रूप से इसे एक्सेस कर सकते हैं।
  3. shortest-path-create-chain.py: होस्ट या गंतव्य A और B दिया गया, दोनों को जोड़ने वाला सबसे छोटा पथ निर्धारित करें।

तीसरा उपकरण एक कमांड भी उत्पन्न करता है जिसका उपयोग गंतव्य A से गंतव्य B तक कनेक्ट करने के लिए किया जा सकता है। उदाहरण के लिए:

root@kitploit:~
$ python3 tools/shortest-path-create-chain.py --file output.log --src '[email protected]' --dest '[email protected]'

Shortest path from [email protected] to [email protected]: [email protected]>[email protected]>[email protected]>[email protected]

[..]

ssh -i "/home/jrogers/.ssh/key" [email protected] 'sudo ssh -i "/root/.ssh/id_rsa" [email protected] 'ssh -i "/tmp/key" [email protected]''

Snake.sh बनाम Snake.nocomments.sh

चूँकि स्क्रिप्ट काफी बड़ी है, स्क्रिप्ट को here-document में लोड करना (जो यह स्वचालित रूप से करता है क्योंकि स्क्रिप्ट वास्तव में एक Quine) bash को एक अस्थायी फ़ाइल में लिखने का कारण बनता है (क्योंकि यह 65535-बाइट्स से अधिक है)।

आकार को कम करने के लिए ताकि यह 100% फ़ाइलरहित रहे, Snake.nocomments.sh में सभी टिप्पणियाँ, अनावश्यक सफेद स्थान और खाली पंक्तियाँ हटाकर एक संस्करण है। इससे फ़ाइल का आकार इतना कम हो जाता है कि bash द्वारा अस्थायी फ़ाइल नहीं बनाई जाती।

बग्स / समस्याएँ

यदि आपको स्क्रिप्ट से संबंधित कोई बग या समस्या मिलती है, तो कृपया उन्हें GitHub मुद्दे के रूप में रिपोर्ट करें। कृपया अपनी कॉन्फ़िगरेशन सेटिंग्स शामिल करें।

मुझे विशेष रूप से त्रुटियों से जुड़े किसी भी दिलचस्प [line] आउटपुट में रुचि है जो स्क्रिप्ट द्वारा पकड़े नहीं गए हैं।

सीमाएँ

  • केवल IPv4: सभी बेहतरीन प्रोग्रामों की तरह, स्क्रिप्ट IPv6 का समर्थन नहीं करती है। मैं कल्पना नहीं कर सकता कि जल्द ही इसके लिए समर्थन होगा।
  • केवल पोर्ट 22: एक सामान्य धारणा है कि SSH पोर्ट 22 पर चल रहा है।
  • GNU coreutils: स्क्रिप्ट GNU coreutils पर बहुत अधिक निर्भर करती है। मैंने यह निर्धारित नहीं किया है कि स्क्रिप्ट में कितना (यदि कोई हो) GNU-ism का उपयोग किया गया है।
  • स्क्रिप्ट वर्तमान में SSH एजेंट सॉकेट की खोज नहीं करती है।
टूल डाउनलोड करें
ip
timeout
arp
ifconfig
ipconfig
xargs