Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cypherhound — आपका टेम्पलेट-आधारित BloodHound टर्मिनल साथी उपकरण | Kitploit
उपकरण/GitHubGitHub/fin3ss3g0d/cypherhound
टोहीजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगउपयोगिताएँ और फ्रेमवर्क
GitHubfin3ss3g0d/cypherhound

cypherhound

आपका टेम्पलेट-आधारित BloodHound टर्मिनल साथी उपकरण

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CypherHound

लोगो

एक Python3 टर्मिनल एप्लिकेशन जिसमें BloodHound डेटा सेट के लिए Neo4j सिफ़र हैं और BloodHound CE में उन्हें आयात करने के लिए एक स्क्रिप्ट है।

आउटपुट नमूने

टर्मिनल

डेमो

HTML रिपोर्ट

रिपोर्ट सारांश

HTML रिपोर्ट (जारी)

विवरण नमूना

क्यों?

BloodHound हर पेनिट्रेशन टेस्टर के लिए एक मुख्य उपकरण है। हालांकि, इसके डिज़ाइन के आधार पर कुछ नकारात्मक प्रभाव हैं। मैं उन सबसे बड़े समस्याओं को कवर करूंगा जो मैंने अनुभव की हैं और यह उपकरण किन मुद्दों को हल करने का लक्ष्य रखता है:

  1. मेरे उपकरण सूचियों में सोचते हैं - जब तक मेरे उपकरण निर्यातित JSON ग्राफ़ को पार्स नहीं करते, मुझे ग्राफ़ परिणामों की लाइन-दर-लाइन .txt फ़ाइल चाहिए अन्य उपकरणों से वास्तव में हमला करने के लिए
  2. ग्राफ़ परिणामों को कॉपी/पेस्ट करना - यह पहले बिंदु से जुड़ता है लेकिन क्या हमें वास्तव में इसे समझाने की ज़रूरत है?
  3. ग्राफ़ आकार में बहुत बड़े हो सकते हैं - बड़े AD वातावरण, एक ही ग्राफ़ पर कई सबसे छोटे रास्ते, आदि। किसी भी ग्राफ़ में निहित जानकारी हमारे हमलावर के लक्ष्यों में सहायक हो सकती है और हमें सभी डेटा को कुशलतापूर्वक देखने में सक्षम होना चाहिए।
  4. मैन्युअल रूप से कस्टम सिफ़र चलाना समय लेने वाला है - आइए इसे स्वचालित करें :)

यह उपकरण रेड और ब्लू दोनों टीमों के लिए महत्वपूर्ण मूल्य प्रदान कर सकता है।

विशेषताएँ

CypherHound के साथ अपने BloodHound डेटा का नियंत्रण वापस लें!

  • YAML फ़ाइल से सिफ़र टेम्पलेट पढ़ें
    • उपयोगकर्ता इनपुट (उपयोगकर्ता, समूह और कंप्यूटर-विशिष्ट) के आधार पर खोजने के लिए सिफ़र सेट करें
    • उपयोगकर्ता-परिभाषित रेगेक्स सिफ़र
  • सभी परिणामों का उपयोगकर्ता-परिभाषित निर्यात
    • grep/cut/awk-अनुकूल प्रारूप में उदाहरण प्रदान किए गए
    • सिफ़र के किसी भी संयोजन को एक आधुनिक, सुंदर HTML रिपोर्ट में निर्यात करें
  • BloodHound CE GUI से समान क्वेरी चलाएं
    • YAML -> JSON कनवर्टर और स्वचालित BloodHound CE क्वेरी आयातकर्ता
    • BloodHound Legacy customqueries.json आयातक स्क्रिप्ट BloodHound CE में शामिल है

स्थापना

सुनिश्चित करें कि python3 स्थापित है और चलाएं:

python3 -m pip install -r requirements.txt

उपयोग

प्रोग्राम को इस प्रकार शुरू करें: python3 cypherhound.py -c config.json -y queries.yaml

config.json

प्रोग्राम json प्रारूप में एक कॉन्फ़िगरेशन फ़ाइल पढ़ेगा। इस फ़ाइल का एक उदाहरण नीचे दिखाया गया है:

{
    "user": "neo4j",
    "pwd": "password",
    "database": "neo4j"
}

जहाँ:

  • user आपका Neo4j उपयोगकर्ता नाम है
  • pwd आपका Neo4j पासवर्ड है
  • database आपका Neo4j डेटाबेस है

YAML प्रारूप

प्रोग्राम नीचे दिए गए प्रारूप में YAML फ़ाइल से क्वेरी पढ़ता है। ad-queries.yaml एक उदाहरण के रूप में प्रदान किया गया है जिसमें Active Directory से संबंधित क्वेरी हैं। msg_template सबसे छोटे पथ क्वेरी के लिए आवश्यक नहीं है लेकिन उन्हें पथ वाले चर को वापस करना होगा

queries:
- group: general
  desc: List all AddKeyCredentialLink privileges for owned principals
  cypher: |-
    MATCH (n {owned: true})-[r:AddKeyCredentialLink]->(m)
    RETURN n.name AS n_name, m.name AS m_name, labels(m) AS labels_m, labels(n) AS labels_n
    ORDER BY n.name
  msg_template: |-
    {{ n_name }} ({{ labels_n[0] }}/{{ labels_n[1] }}) has AddKeyCredentialLink over {{ m_name }} ({{
    labels_m[0] }}/{{ labels_m[1] }})

नीचे कुंजी/मान जोड़े का एक तालिका विवरण देखा जा सकता है:

कुंजीविवरण
groupयह समूह जिससे यह क्वेरी संबंधित है, समूह उपयोगकर्ता-परिभाषित हैं जैसे "general"
descक्वेरी का विवरण
cypherNeo4j प्रारूप में क्वेरी स्वयं
msg_templateसिफ़र चर पर आधारित टर्मिनल आउटपुट के लिए Jinja2 टेम्पलेट, Neo4j चर के लिए उपनाम का उपयोग करें ताकि Jinja उन्हें नेस्टेड चर के रूप में रेंडर न करे

सिफ़र में डायनामिक पैरामीटर (Jinja2 params.*)

प्रोग्राम सिफ़र को रेंडर करने के लिए Jinja2 का उपयोग करता है। set कमांड के साथ रनटाइम पैरामीटर परिभाषित करें और YAML में {{ params.<key> }} के रूप में संदर्भित करें।

सीएलआई

set <key> <value...> # e.g., set user [email protected]
unset <key> # optional
show # optional

YAML उदाहरण

- group: user
  desc: List all privileges for this user
  cypher: |-
    MATCH (n:User)-[r]->(m)
    WHERE n.name =~ '((?i){{ params.user }})'
    RETURN n.name AS n_name, TYPE(r) AS rel_type, labels(m) AS labels_m, m.name AS m_name
    ORDER BY TYPE(r)
  msg_template: |-
    User {{ n_name }} has {{ rel_type }} over {{ m_name }} ({{ labels_m[0] }}/{{ labels_m[1] }})

सामान्य पैराम पैटर्न

पैराम कुंजीउदाहरण मानसिफ़र में उपयोग
params.user[email protected]= {{ params.user }}
params.user_regex(?i)john\.doe(@example\.com)?=~ '{{ params.user_regex }}'
params.groupDomain [email protected]= {{ params.group }}
params.prefixACME-STARTS WITH {{ params.prefix }}

JSON प्रारूप

यह रिपॉजिटरी एक query-importer.py स्क्रिप्ट प्रदान करता है जो JSON फ़ाइल से BloodHound CE UI में क्वेरी आयात करने को स्वचालित करता है। bh_query_converter.py भी प्रदान किया गया है जो टर्मिनल एप्लिकेशन के लिए बनाई गई YAML फ़ाइल को BloodHound CE और query-importer.py द्वारा अपेक्षित JSON प्रारूप में परिवर्तित करता है। आवश्यक JSON प्रारूप का एक उदाहरण नीचे देखा जा सकता है:

{
  "queries": [
    {
      "name": "List all AddKeyCredentialLink privileges for owned principals",
      "description": "List all AddKeyCredentialLink privileges for owned principals - General",
      "query": "MATCH p=(n {owned: true})-[r:AddKeyCredentialLink]->(m)\nRETURN p\nORDER BY n.name"
    },
    {
      "name": "List all AddKeyCredentialLink privileges for Users, Domain Users, Authenticated Users, and Everyone groups",
      "description": "List all AddKeyCredentialLink privileges for Users, Domain Users, Authenticated Users, and Everyone groups - General",
      "query": "MATCH p=(n:Group)-[r:AddKeyCredentialLink]->(m)\nWHERE (n.objectid =~ \"(?i)S-1-5-21-.*-513\" OR n.objectid =~ \"(?i).*-S-1-5-11\" OR n.objectid =~ \"(?i).*-S-1-1-0\" OR n.objectid =~ \"(?i).*-S-1-5-32-545\")\nRETURN p\nORDER BY n.name"
    }
  ]
}

कमांड

पूर्ण कमांड मेनू नीचे दिखाया गया है:

टूल डाउनलोड करें