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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sparkplugFuzzer — Sparkplug B IIoT प्रोटोकॉल के लिए फ़ज़र | Kitploit
उपकरण/GitHubGitHub/bishopfox/sparkplugfuzzer
गतिशील विश्लेषण (सैंडबॉक्सिंग)IoT सुरक्षाभेद्यता विश्लेषणSCADA/ICS सुरक्षाफज़िंगनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHubbishopfox/sparkplugfuzzer

sparkplugFuzzer

Sparkplug B IIoT प्रोटोकॉल के लिए फ़ज़र

रिपॉजिटरी देखें
1552 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

Sparkplug B MQTT सुरक्षा फ़ज़र

स्पार्कप्लग B MQTT प्रोटोकॉल कार्यान्वयनों के परीक्षण के लिए एक व्यापक सुरक्षा मूल्यांकन उपकरण। यह फ़ज़र सभी 9 संदेश प्रकारों में सभी प्रोटोकॉल फ़ील्ड्स का व्यवस्थित रूप से परीक्षण करता है, नेटवर्क पर लाइव उपकरणों की खोज करता है, और विश्लेषण के लिए विस्तृत लॉग तैयार करता है।

जिम्मेदार उपयोग

यह उपकरण लक्ष्य ब्रोकर को ख़राब, इंजेक्शन और प्रोटोकॉल-उल्लंघन करने वाले MQTT संदेश भेजता है। इसे केवल उन सिस्टमों के विरुद्ध चलाएँ जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अधिकार है। Sparkplug B ब्रोकर सामान्यतः OT/ICS वातावरण में स्थित होते हैं जहाँ अप्रत्याशित पेलोड भौतिक प्रक्रियाओं को बाधित कर सकते हैं — जब तक कि अन्यथा सिद्ध न हो, हर लक्ष्य को उत्पादन-निकट मानें।

यदि आप इस उपकरण का उपयोग करके Sparkplug B कार्यान्वयन में कोई कमज़ोरी खोजते हैं, तो कृपया प्रभावित विक्रेता के साथ समन्वित प्रकटीकरण का पालन करें। इस उपकरण में ही किसी सुरक्षा समस्या की रिपोर्ट करने के लिए, SECURITY.md देखें।

विषय सूची

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

अवलोकन

Sparkplug B विनिर्देशन औद्योगिक IoT (IIoT) वातावरण के लिए MQTT और Google Protocol Buffers पर निर्मित एक विषय नामस्थान और पेलोड प्रारूप को परिभाषित करता है। यह फ़ज़र Sparkplug B कार्यान्वयनों की सुरक्षा और मज़बूती का मूल्यांकन निम्नलिखित द्वारा करता है:

  • सभी 19 मीट्रिक डेटा प्रकारों का सीमा मानों और अतिप्रवाह स्थितियों के साथ परीक्षण
  • दुर्भावनापूर्ण स्ट्रिंग्स इंजेक्ट करना (XSS, SQLi, प्रारूप स्ट्रिंग, पथ ट्रैवर्सल, कमांड इंजेक्शन)
  • घोषित डेटाटाइप और वास्तविक प्रोटोबफ़ मान फ़ील्ड के बीच प्रकार बेमेल बनाना
  • प्रोटोकॉल स्थिति मशीन क्रम का उल्लंघन (जन्म से पहले डेटा, दोहरा जन्म, मृत्यु के बाद डेटा)
  • बाइनरी स्तर पर क्रमबद्ध प्रोटोबफ़ पेलोड को दूषित करना
  • खोजे गए नेटवर्क उपकरणों के लिए जन्म/मृत्यु प्रमाणपत्रों का प्रतिरूपण
  • विशेष वर्णों, केस विविधताओं और संरचनात्मक उल्लंघनों के साथ MQTT विषय नामस्थानों को फ़ज़ करना

पूर्वापेक्षाएँ

  • Python 3.8+
  • MQTT ब्रोकर — परीक्षण के अंतर्गत लक्ष्य प्रणाली (जैसे, Mosquitto, HiveMQ, EMQX, या कोई भी Sparkplug B-जागरूक ब्रोकर)
  • प्राधिकरण — यह उपकरण केवल अधिकृत सुरक्षा परीक्षण के लिए है

स्थापना

आधुनिक Debian/Ubuntu/Kali (PEP-668 सिस्टम) पर, --setup सिस्टम Python में pip install नहीं कर सकता — पहले वर्चुअल एनवायरनमेंट या pipx का उपयोग करें। अनुशंसित पथ:```bash python3 -m venv .venv source .venv/bin/activate python3 sparkplug-fuzzer.py --setup

या यदि आप स्वयं venv प्रबंधित नहीं करना चाहते हैं तो `pipx run` के माध्यम से चलाएँ। पुराने सिस्टम पर जहाँ PEP-668 लागू नहीं है, सीधे `python3 sparkplug-fuzzer.py --setup` काम करता है।

`--setup` निम्नलिखित करेगा:
1. pip निर्भरताएँ स्थापित करें (`paho-mqtt`, `protobuf`)
2. [Eclipse Tahu](https://github.com/eclipse/tahu) भंडार का एक पिन किया हुआ टैग क्लोन करें (स्क्रिप्ट में `TAHU_REF` देखें)
3. `sparkplug_b.py` और `array_packer.py` सहायक मॉड्यूल कॉपी करें
4. `sparkplug_b.proto` को Python बाइंडिंग में संकलित करें (`protoc` उपलब्ध होने पर इसका उपयोग करता है, अन्यथा `grpcio-tools` पर वापस जाता है)
5. Tahu क्लोन को साफ करें

सेटअप के बाद, आपकी निर्देशिका में निम्नलिखित होना चाहिए:```
sparkplug-fuzzer.py     # The fuzzer
sparkplug_b.py          # Sparkplug B helper module (from Tahu)
array_packer.py         # Array packing helper (from Tahu)
sparkplug_b_pb2.py      # Generated protobuf bindings
requirements.txt        # Python dependencies
मैन्युअल सेटअप (यदि --setup काम नहीं करता है)```bash pip install -r requirements.txt git clone https://github.com/eclipse/tahu.git cp tahu/python/core/sparkplug_b.py . cp tahu/python/core/array_packer.py . protoc --python_out=. sparkplug_b.proto rm -rf tahu ```

त्वरित आरंभ```bash

python3 sparkplug-fuzzer.py --setup # first-time setup python3 sparkplug-fuzzer.py -H localhost -p 1883 -v # run fuzzer

This will:
1. Connect to the broker at `localhost:1883` पर ब्रोकर से कनेक्ट करें
2. Listen for 10 seconds to discover existing Sparkplug devices के लिए 10 सेकंड तक सुनें मौजूदा Sparkplug उपकरणों को खोजने
3. Establish the fuzzer as a Sparkplug node/device को एक Sparkplug नोड/उपकरण के रूप में स्थापित करें
4. Run all 12 fuzz categories (~635+ test cases) सभी 12 fuzz श्रेणियाँ (~635+ परीक्षण मामले) चलाएँ
5. Target any discovered devices with spoofed messages खोजे गए किसी भी उपकरण को नकली संदेशों से लक्षित करें
6. Write results to `sparkplug_fuzz.jsonl` परिणाम `sparkplug_fuzz.jsonl` में लिखें

## Usage

### Command-Line Options```
python3 sparkplug-fuzzer.py [OPTIONS]
विकल्पडिफ़ॉल्टविवरण
-H, --hostlocalhostMQTT ब्रोकर का होस्टनाम या IP
-p, --port1883 (या 8883 के साथ --tls)MQTT ब्रोकर पोर्ट
-u, --usernameकोई नहींMQTT उपयोगकर्ता नाम (MQTT_USERNAME env var को भी पढ़ता है)
-P, --passwordकोई नहींMQTT पासवर्ड (MQTT_PASSWORD को भी पढ़ता है; stdin से बिना इको के पढ़ने के लिए - पास करें)
--tlsबंदTLS पर कनेक्ट करें; यदि -p सेट नहीं है तो डिफ़ॉल्ट पोर्ट 8883 हो जाता है
--cafileकोई नहींTLS सर्वर प्रमाणपत्र सत्यापन के लिए CA बंडल
--insecureबंदTLS होस्टनाम/प्रमाणपत्र सत्यापन छोड़ें (केवल परीक्षण के लिए)
-g, --groupSparkplug B DevicesSparkplug समूह ID जिसके तहत फ़ज़र पंजीकृत होता है
-n, --nodeFuzzNodeफ़ज़र के लिए Sparkplug एज नोड ID
-d, --deviceFuzzDeviceफ़ज़र के लिए Sparkplug डिवाइस ID
-c, --categoriesallचलाने के लिए फ़ज़ श्रेणियों की स्पेस-सेपरेटेड सूची
--discovery-time10नेटवर्क डिस्कवरी के लिए निष्क्रिय रूप से सुनने के सेकंड
--delay0.1फ़ज़ संदेशों के बीच सेकंड में विलंब
--probe-anon-writeबंदडिस्कवरी के दौरान, यह पुष्टि करने के लिए एक QoS=1 प्रकाशन भेजें कि ब्रोकर अप्रमाणित PUBLISH स्वीकार करता है या नहीं
-l, --logsparkplug_fuzz.jsonlआउटपुट लॉग फ़ाइल का नाम (सापेक्ष पथ --output-dir के अंदर आते हैं; निरपेक्ष पथ ज्यों-के-त्यों माने जाते हैं)
--output-dir./sparkplug-runs/<UTC-ts>_<host>/प्रति-रन आउटपुट निर्देशिका। यदि मौजूद नहीं है तो बनाई जाती है।
-v, --verbose0कंसोल वर्बोसिटी बढ़ाएँ (-v = जानकारी, -vv = डीबग)। -vv फ़ज़-जनरेटर स्किप्स को भी दिखाता है, और थ्रॉटल किया गया paho.mqtt लॉगर वर्बोसिटी के साथ INFO/DEBUG पर बढ़ जाता है।
--setup—सभी निर्भरताएँ स्थापित करें और बाहर निकलें
--tahu-path—eclipse/tahu (या इसकी python/core निर्देशिका) की स्थानीय क्लोन का पथ। git clone के बजाय एयर-गैप्ड वातावरण में --setup द्वारा उपयोग किया जाता है।
--extra-string-payloads—अतिरिक्त स्ट्रिंग-इंजेक्शन पेलोड (प्रति पंक्ति एक, UTF-8) वाली फ़ाइल का पथ। अंतर्निर्मित STRING_FUZZ_VALUES में जोड़ा गया; उन्हें प्रतिस्थापित नहीं करता। अधिकतम 10 MB / 10,000 पेलोड। कस्टम स्ट्रिंग कॉर्पोरा देखें।

फ़ज़ श्रेणियाँ

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