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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SteppingStones — Cobalt Strike और BloodHound एकीकरण के साथ वेब-आधारित रेड टीम गतिविधि लॉगिंग, रिपोर्टिंग और स्थितिजन्य जागरूकता उपकरण। | Kitploit
उपकरण/GitHubGitHub/nccgroup/steppingstones
स्क्रिप्टिंग और स्वचालनजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलउपयोगिताएँ और फ्रेमवर्करेड टीमिंग
GitHubnccgroup/steppingstones

SteppingStones

Cobalt Strike और BloodHound एकीकरण के साथ वेब-आधारित रेड टीम गतिविधि लॉगिंग, रिपोर्टिंग और स्थितिजन्य जागरूकता उपकरण।

रिपॉजिटरी देखें
243341 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Stepping Stones

उद्देश्य

रेड टीम गतिविधि के लिए एक केंद्र, जो अभिलेख रखरखाव, परिस्थितिजन्य जागरूकता और रिपोर्टिंग में सहायता करता है। Stepping Stones टीम के लिए गतिविधि लॉग करने और रिपोर्ट स्निपेट उत्पन्न करने हेतु एक वेब-आधारित UI प्रदान करता है। UI को इतना तीव्र रखने का लक्ष्य है कि इसका उपयोग पूरे अभियान के दौरान किया जा सके, न कि केवल रिपोर्टिंग चरण में।

Release Blog Post

स्थापना

Stepping Stones एक Python Django एप्लिकेशन है, इसलिए स्थानीय प्रति चलाने के लिए:

  1. Python 3 का नवीनतम संस्करण स्थापित करें (Windows और Linux पर 3.12.2 के साथ परीक्षण किया गया)
  2. इस रिपॉजिटरी की एक प्रति के रूट निर्देशिका में जाएँ
  3. निर्भरताओं को अन्य ऐप्स से अलग रखने के लिए एक वर्चुअल वातावरण बनाएँ: python -m venv .venv
  4. वर्चुअल वातावरण सक्रिय करें: .venv\Scripts\activate या *nix पर source .venv/bin/activate
  5. निर्भरताएँ स्थापित करें: pip install -r requirements.txt
  6. सुनिश्चित करें कि तृतीय-पक्ष बैकग्राउंड टास्क मॉड्यूल में सभी आवश्यक माइग्रेशन मौजूद हैं: python manage.py makemigrations background_task
  7. डेटाबेस स्कीमा को अद्यतन करें: python manage.py migrate
  8. एप्लिकेशन प्रारंभ करें:
    • यदि systemd वाले Linux सिस्टम पर चला रहे हैं, तो systemd गाइड देखें
    • डेव संस्करणों के लिए:
      • python manage.py runserver और python manage.py process_tasks को एक साथ चलाएँ
    • प्रोडक्शन संस्करणों के लिए:
      • लॉकडाउन सलाह प्राप्त करने हेतु python manage.py check --deploy चलाएँ, और फिर इस प्रकार की गाइड का पालन करें: https://docs.djangoproject.com/en/6.0/howto/deployment/
  9. एक कार्य और एक व्यवस्थापक उपयोगकर्ता कॉन्फ़िगर करने के लिए एप्लिकेशन पर जाएँ: उदा. स्थानीय रूप से चलाने पर http://127.0.0.1:8000 तक पहुँचें
    • नोट: बनाया गया उपयोगकर्ता मुख्य ऐप के लिए भी उपयोग होगा और लॉग किए गए इवेंट्स के विरुद्ध "रेड टीम ऑपरेटर" के रूप में दिखेगा, इसलिए "admin" के बजाय उपयुक्त उपयोगकर्ता नाम चुनें, जैसे "ST" या "stephen"। यदि Cobalt Strike एकीकरण का उपयोग कर रहे हैं, तो दोनों टूल्स के लिए समान उपयोगकर्ता नाम रखने से एकीकरण में सहायता मिलेगी।

Cobalt Strike एकीकरण

  • एक लाइसेंस प्राप्त Cobalt Strike को /opt/cobaltstrike या c:\tools\cobaltstrike-dist\cobaltstrike में रखें

टीम सर्वर पर - Stepping Stones को कनेक्ट करने की अनुमति देने के लिए फ़ायरवॉल में छेद करें, उदा.

  • AWS पर, Team Server पर 50050 में प्रवेश की अनुमति के लिए Stepping Stones सुरक्षा समूह सेट करें
  • होस्ट पर, सुनिश्चित करें कि फ़ायरवॉल भी ट्रैफ़िक को अंदर आने देता है, उदा. sudo ufw allow proto tcp from 172.31.16.0/20 to any port 50050

एप्लिकेशन को अद्यतन करना

यदि स्थानीय प्रति चला रहे हैं, जब git में कोड अपडेट हो गया हो और आप नई सुविधाएँ चाहते हों:

  1. दोनों सेवाओं को रोकें, उदा. systemd के साथ:
    • sudo service ssbot stop
    • sudo service steppingstones stop
  2. नवीनतम संस्करण प्राप्त करें, उदा. https://github.com/nccgroup/SteppingStones/archive/refs/heads/main.zip से
  3. डाउनलोड को अनज़िप करें और फ़ाइलों को तैनाती के ऊपर कॉपी करें, उदा. rm -rf /tmp/stepping-stones-main; unzip /tmp/stepping-stones-main.zip && cp -R /tmp/stepping-stones-main/* /opt/steppingstones
  4. steppingstones निर्देशिका से वर्चुअल वातावरण सक्रिय करें (यदि पहले से नहीं किया गया है): .venv\Scripts\activate या *nix पर source .venv/bin/activate
  5. किसी भी नई निर्भरता को शामिल करें: pip install -r requirements.txt
  6. सुनिश्चित करें कि तृतीय-पक्ष बैकग्राउंड टास्क मॉड्यूल में सभी आवश्यक माइग्रेशन मौजूद हैं: python manage.py makemigrations background_task
  7. अपने स्थानीय डेटाबेस को नई स्कीमा में बदलने के लिए कोई भी माइग्रेशन स्क्रिप्ट चलाएँ: python manage.py migrate।
    • यदि Django आपको चलाने के लिए संकेत देता है तो रुकें और Stepping Stones डेवलपर्स से संपर्क करें - यह महत्वपूर्ण है कि सभी उपयोगकर्ता माइग्रेशन स्क्रिप्ट के समान सेट से काम कर रहे हों और इन्हें डेवलपर्स के माध्यम से समन्वित किया जाना चाहिए।

स्वच्छ डेटाबेस के साथ पुनः आरंभ करना

यदि आप विभिन्न कार्यों के लिए समान इंस्टेंस का उपयोग कर रहे हैं और पुराने डेटा को संग्रहीत करके नए सिरे से शुरू करना चाहते हैं तो आप यह कर सकते हैं:

  • एप्लिकेशन को रोकने के लिए ऊपर एप्लिकेशन को अद्यतन करना से चरण 1 निष्पादित करें
  • SQLite डेटाबेस का नाम बदलें:
    • mv db.sqlite3 db.sqlite.OLD_CLIENT_NAME
  • सही डेटाबेस संरचना बनाने और नए कॉन्फ़िगर किए गए एप्लिकेशन तक पहुँचने के लिए ऊपर स्थापना से चरण 2, 4 और 7-9 निष्पादित करें।

बैकअप

सिस्टम SQLite का उपयोग करता है। अपने मूल्यवान डेटा की सुरक्षा के लिए सर्वर के रूट में db.sqlite3 फ़ाइल का बैकअप समय-समय पर या Web UI के माध्यम से लें।

वेब हुक

कॉन्फ़िगर किए गए वेब हुक URL में से प्रत्येक को प्रमुख घटनाओं पर एक छोटा JSON दस्तावेज़ भेजा जाएगा। JSON दस्तावेज़ की संरचना हमेशा इस प्रकार होती है:

root@kitploit:~
{
    "type": "notification type",
    "message": "Human readable message"
}

type फ़ील्ड निम्न में से एक हो सकती है:

  • new beacon (पहले कभी न देखा गया बीकन किसी निगरानी वाले Team Server से जुड़ा है)
  • respawned beacon (पहले देखा गया बीकन किसी निगरानी वाले Team Server से जुड़ा है)
  • returned beacon (एक बीकन जिसकी पुनः कनेक्शन के लिए स्पष्ट रूप से निगरानी की जा रही थी, अभी पुनः कनेक्ट हुआ है)

इसे उपभोग करने के लिए, आप निम्नलिखित ब्लूप्रिंट पर आधारित https://make.com स्केनारियो का उपयोग कर सकते हैं:

root@kitploit:~
{"name":"Webhook to iOS","flow":[{"id":1,"module":"gateway:CustomWebHook","version":1,"parameters":{"hook":129792,"maxResults":1},"mapper":{},"metadata":{"designer":{"x":-386,"y":-129},"restore":{"parameters":{"hook":{"data":{"editable":"true"},"label":"My webhook"}}},"parameters":[{"name":"hook","type":"hook:gateway-webhook","label":"Webhook","required":true},{"name":"maxResults","type":"number","label":"Maximum number of results"}],"interface":[{"name":"type","type":"text"},{"name":"message","type":"text"}]}},{"id":8,"module":"ios:SendNotification","version":1,"parameters":{"device":171760},"mapper":{"body":"{{1.message}}","title":"{{1.type}}","action":"","priority":10,"collapsible":false},"metadata":{"designer":{"x":-31,"y":-128},"restore":{"expect":{"action":{"label":"Default"},"priority":{"label":"Deliver immediately"}},"parameters":{"device":{"data":{"editable":"undefined"},"label":"Personal Phone"}}},"parameters":[{"name":"device","type":"device:apn","label":"Device","required":true}],"expect":[{"name":"title","type":"text","label":"Title","required":true},{"name":"body","type":"text","label":"Body"},{"name":"action","type":"select","label":"Action","validate":{"enum":["open_url"]}},{"name":"priority","type":"select","label":"Priority","required":true,"validate":{"enum":[10,5]}},{"name":"collapsible","type":"boolean","label":"Collapse push notifications","required":true}]}}],"metadata":{"instant":true,"version":1,"scenario":{"roundtrips":1,"maxErrors":3,"autoCommit":true,"autoCommitTriggerLast":true,"sequential":false,"confidential":false,"dataloss":false,"dlq":false},"designer":{"orphans":[]},"zone":"eu1.make.com"}}

उपरोक्त ब्लूप्रिंट को एक खाली स्केनारियो बनाकर और Web UI के निचले केंद्र में पाए जाने वाले "..." (अधिक) मेनू के अंतर्गत "Import Blueprint" सुविधा का उपयोग करके आयात करें।

फिर दो और चरणों की आवश्यकता होती है:

  • वेबहुक सर्कल पर क्लिक करें और URL उत्पन्न करने के लिए एक नया नामित वेबहुक जोड़ें
  • Apple लोगो पर क्लिक करके उनके integromat ऐप के साथ make.com में एक iPhone नामांकित करें।

वेबहुक को Stepping Stones वेबहुक पृष्ठ पर एक बटन के माध्यम से परीक्षण किया जा सकता है।

सुरक्षा मॉडल

Stepping Stones Django के मॉडल स्तर की अनुमति प्रणाली का उपयोग करता है, जिससे उपयोगकर्ताओं को प्रत्येक प्रकार के डेटा मॉडल को बनाने, संपादित करने, देखने और हटाने से प्रतिबंधित किया जा सकता है। समूह /admin कंसोल में पाए जा सकते हैं जो उस समूह के किसी भी सदस्य को अनुमतियों का एक सेट प्रदान करते हैं, उदा. किसी क्लाइंट की ब्लू टीम के लिए उपयुक्त।

मौजूदा समूह हैं:

भूमिकाविवरण
क्लाइंट ब्लू टीम - केवल पढ़ने योग्यइवेंट्स और फ़ाइलें पृष्ठ पढ़ सकते हैं
क्लाइंट ब्लू टीम - सीमित लेखनक्लाइंट ब्लू टीम - केवल पढ़ने योग्य के अनुसार, किसी इवेंट के परिणाम और पहचान फ़ील्ड पर लेखन पहुँच के साथ

स्थापना प्रक्रिया के दौरान बनाए गए उपयोगकर्ताओं को "superuser" का दर्जा दिया जाता है, इसलिए उनके पास निहित रूप से सभी संभावित अनुमतियाँ होती हैं। हालाँकि, व्यवस्थापक कंसोल के माध्यम से मैन्युअल रूप से उपयोगकर्ता बनाते समय सुनिश्चित करें कि उन्हें "staff" या "superuser" के रूप में चिह्नित नहीं किया गया है, ताकि वे बिना किसी निहित अनुमति के शुरू करें और इसलिए केवल समूहों में जोड़े जाने से अनुमतियाँ प्राप्त करें।

स्थानीयकरण

उपयोगकर्ताओं के समय क्षेत्र /admin पोर्टल के माध्यम से संशोधित किए जा सकते हैं। रिपोर्टों में समय जानबूझकर UTC में आउटपुट किया जाता है ताकि ब्लू टीमों द्वारा आसान सहसंबंध संभव हो सके।

Stepping Stones द्वारा प्रस्तुत दिनांक प्रारूप वेब ब्राउज़र के लोकेल से मेल खाने चाहिए। अर्थात जिन उपयोगकर्ताओं का ब्राउज़र US लोकेल के साथ कॉन्फ़िगर किया गया है, वे वेब UI और रिपोर्ट स्निपेट में दिनांक MM/DD/YYYY प्रारूप में देखेंगे।

EventStream

Stepping Stones अन्य टूल्स से लॉग इन्जेस्ट कर सकता है यदि उन्हें JSON आधारित, विशेष EventStream प्रारूप में स्वरूपित किया गया हो। यह प्रारूप SteppingStones के वेब इंटरफ़ेस के भीतर विस्तृत है, जिसमें स्कीमा और उदाहरण डेटा शामिल हैं।

एक बार EventStream लॉग को Stepping Stones द्वारा इन्जेस्ट कर लिए जाने के बाद, रिपोर्ट के लिए विशिष्ट प्रासंगिक प्रविष्टियों को इवेंट्स में क्लोन किया जा सकता है।

Cobalt Strike एकीकरण विवरण

Cobalt Strike को एकीकृत करने का पसंदीदा तरीका SSBot के माध्यम से है। इसके लिए /opt/cobaltstrike या c:\tools\cobaltstrike में Cobalt Strike की एक लाइसेंस प्राप्त प्रति की आवश्यकता होती है, जिसका उपयोग वेब इंटरफ़ेस में कॉन्फ़िगर किए गए किसी भी (सक्षम) टीम सर्वर से संपर्क करने के लिए किया जाएगा।

एक बार एकीकृत होने के बाद:

  • स्रोत/लक्ष्य ड्रॉपडाउन में बीकन शामिल होंगे
  • फ़ाइल ड्रॉपडाउन में CS के माध्यम से अपलोड/डाउनलोड की गई फ़ाइलें शामिल होंगी
  • क्रेडेंशियल्स टैब टूल आउटपुट और CS में जोड़े गए किसी भी क्रेडेंशियल के आधार पर भर जाएगा।
  • व्यक्तिगत CS क्रियाओं को इवेंट्स में बदला जा सकता है - कृपया चयनात्मक रहें और रिपोर्ट गुणवत्ता बनाए रखने के लिए क्रियाओं को थोक में डुप्लिकेट करने के बजाय प्रत्येक इवेंट में संदर्भ जोड़ें।

यदि SSBot इच्छित रूप से काम नहीं कर रहा है तो अतिरिक्त CLI कमांड उपलब्ध हैं:

  • .\manage.py reset_cs_data [-s SERVER] - दिए गए टीम सर्वर से पार्स किए गए किसी भी डेटा को रीसेट करेगा, या यदि कोई नाम नहीं दिया गया है तो सभी को। यह CS लॉग से प्राप्त डेटा को प्रभावित नहीं करेगा, उदा. मैन्युअल रूप से क्लोन किए गए इवेंट्स या क्रेडेंशियल्स।
  • .\manage.py parse_log_tar <file name> - एक टीम सर्वर से लिए गए और tar किए गए logs निर्देशिका की सामग्री को पार्स करेगा। नोट: इसमें SSBot द्वारा सुलभ सभी डेटा शामिल नहीं है और इसलिए यह पसंदीदा इन्जेस्ट तकनीक नहीं है।

BloodHound एकीकरण

वेब UI के माध्यम से कॉन्फ़िगर किए गए Neo4j सर्वर का उपयोग इसके लिए किया जाएगा:

  • जब क्रेडेंशियल्स को पासवर्ड के साथ जोड़ा जाता है, या किसी विशिष्ट होस्ट पर सिस्टम के रूप में बीकन चलाया जाता है, तो BloodHound owned स्थिति को अद्यतन करना।
  • स्रोत/लक्ष्य ड्रॉपडाउन को उपयोगकर्ताओं और कंप्यूटरों से भरना।
  • Stepping Stones के क्रेडेंशियल्स अनुभाग में खातों पर अतिरिक्त रिपोर्टिंग प्रदान करना।

रिपोर्टिंग प्लगइन्स

प्लगइन्स के माध्यम से Stepping Stone की कार्यक्षमता का विस्तार करना संभव है। अतिरिक्त दस्तावेज़ यहाँ उपलब्ध हैं।

टूल डाउनलोड करें
python manage.py makemigrations
  • दोनों सेवाओं को पुनः आरंभ करें, उदा. systemd के साथ:
    • sudo service ssbot restart
    • sudo service steppingstones restart
  • सुनिश्चित करें कि कोई त्रुटि नहीं है, उदा. systemd journalctl -u steppingstones के साथ