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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
bof — BOF (Boiboite Opener Framework) औद्योगिक प्रोटोकॉल कार्यान्वयन और उपकरणों के लिए एक परीक्षण फ्रेमवर्क है। | Kitploit
उपकरण/GitHubGitHub/orange-cyberdefense/bof
IoT सुरक्षानेटवर्क मैपिंगभेद्यता विश्लेषणशोषणSCADA/ICS सुरक्षाजानकारी एकत्र करनाफज़िंगपेनिट्रेशन टेस्टिंगउपयोगिताएँ और फ्रेमवर्क
GitHuborange-cyberdefense/bof

bof

BOF (Boiboite Opener Framework) औद्योगिक प्रोटोकॉल कार्यान्वयन और उपकरणों के लिए एक परीक्षण फ्रेमवर्क है।

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

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

सभी देखें →

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

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

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

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

BOF

BOF (Boiboite Opener Framework) फील्ड प्रोटोकॉल कार्यान्वयन और उपकरणों के लिए एक परीक्षण ढांचा है। यह एक Python 3.6+ लाइब्रेरी है जो समर्थित प्रोटोकॉल से फ्रेम भेजने, प्राप्त करने, बनाने, पार्स करने और हेरफेर करने के साधन प्रदान करती है।

यह लाइब्रेरी वर्तमान में KNXnet/IP के लिए डिस्कवरी और विस्तारित परीक्षण सुविधाएँ प्रदान करती है, जो हमारा फोकस है, लेकिन इसे अन्य प्रकार के BMS या औद्योगिक नेटवर्क प्रोटोकॉल तक बढ़ाया जा सकता है। यह KNXnet/IP, LLDP, Profinet DCP और Modbus TCP पर आधारित औद्योगिक नेटवर्क के लिए मल्टीकास्ट और/या एंड-टू-एंड डिस्कवरी फ़ंक्शन भी प्रदान करता है।

कृपया ध्यान दें कि औद्योगिक प्रणालियों को लक्षित करने से लोगों, औद्योगिक संचालन और इमारतों पर गंभीर प्रभाव पड़ सकता है और BOF का उपयोग सावधानी से किया जाना चाहिए।

GitHub license GitHub release

स्थापना

PyPI से

root@kitploit:~
pip install boiboite-opener-framework

https://pypi.org/project/boiboite-opener-framework/

मैन्युअल स्थापना

root@kitploit:~
git clone https://github.com/Orange-Cyberdefense/bof.git

आवश्यकताओं को इसके साथ स्थापित करें:

root@kitploit:~
pip install -r requirements.txt

प्रोटोकॉल कार्यान्वयन Scapy के प्रारूप का उपयोग करते हैं।

आरंभ करना

BOF एक Python 3.6+ लाइब्रेरी है जिसे स्क्रिप्ट में आयात किया जाना चाहिए।

root@kitploit:~
import bof
from bof.layers import profinet, knx
from bof.layers.knx import KnxPacket

BOF का उपयोग करने के तीन तरीके हैं, ये सभी लेयर पर निर्भर करते हुए उपलब्ध नहीं हैं:

  • स्वचालित: लेयर से उच्च-स्तरीय फ़ंक्शन को सीधे आयात या कॉल करें। प्रोटोकॉल के बारे में किसी ज्ञान की आवश्यकता नहीं है। उदाहरण के लिए, डिस्कवरी मॉड्यूल में कई औद्योगिक नेटवर्क प्रोटोकॉल का उपयोग करके उपकरणों की खोज करने के लिए कुछ फ़ंक्शन शामिल हैं।

  • मानक: रिमोट उपकरणों के साथ बातचीत करने के लिए लेयर से पैकेट तैयार करें। प्रोटोकॉल का बुनियादी ज्ञान आवश्यक है।

  • चंचल: पैकेट के साथ खेलें, प्रोटोकॉल का दुरुपयोग करें (हम इसके साथ उपकरणों को फ़ज़ करते हैं)। अंतिम उपयोगकर्ता को प्रोटोकॉल के विनिर्देशों में खुदाई शुरू कर देनी चाहिए।

अब आप BOF का उपयोग शुरू कर सकते हैं!

TL;DR

नेटवर्क पर उपकरणों की खोज करने के कई तरीके

  • डिस्कवरी मॉड्यूल से मल्टीकास्ट डिस्कवरी (वर्तमान में LLDP, Profinet DCP, KNX के साथ):
root@kitploit:~
from bof.modules.discovery import *

devices = multicast_discovery(iface="eth0", verbose=True)
  • लेयर के उच्च-स्तरीय फ़ंक्शन का उपयोग करके उपकरण खोज
root@kitploit:~
from bof.layers.knx import search

devices = search()
for device in devices:
    print(device)
  • अपना स्वयं का डिस्कवरी पैकेट बनाएं और भेजें:
root@kitploit:~
from bof.layers.knx import *

pkt = KNXPacket(type="search request")
responses = KNXnet.multicast(pkt, (KNX_MULTICAST_ADDR, KNX_PORT))
for response, _ in responses:
    print(KNXPacket(response))

पैकेट भेजें और प्राप्त करें

root@kitploit:~
from bof.layers.knx import KNXnet, KNXPacket, SID
from bof import BOFNetworkError

try:
    knxnet = KNXnet().connect("192.168.1.242", 3671)
    pkt = KNXPacket(type=SID.description_request,
                    ip_address=knxnet.source_address,
                    port=knxnet.source_port)
    pkt.show2()
    response, _ = knxnet.sr(pkt)
    response.show2()
except BOFNetworkError as bne:
    pass
finally:
    knxnet.disconnect()

अपने स्वयं के पैकेट तैयार करें

root@kitploit:~
from bof.layers.knx import KNXPacket, SID
from bof.layers.raw_scapy.knx import LcEMI

pkt = KNXPacket(type=SID.description_request)
pkt.ip_address = b"\x01\x01"
pkt.port = 99999 # हाँ, यह बहुत बड़ा है
pkt.append(LcEMI())
pkt.show2() # यह कुछ अजीब आउटपुट दे सकता है

एक प्राप्तकर्ता उपकरण शायद इसका जवाब नहीं देगा, लेकिन कम से कम आप जानते हैं कि BOF आपको अपने पैकेट के साथ खिलवाड़ करने से नहीं रोकेगा।

Scapy के साथ इंटरफ़ेस

BOF प्रोटोकॉल कार्यान्वयन के लिए Scapy पर निर्भर करता है, जिसमें एक अतिरिक्त परत होती है जो BOF कोड को Scapy पैकेट और फ़ील्ड पर परिवर्तनों में अनुवादित करती है। क्यों? क्योंकि BOF Scapy के आंतरिक व्यवहार को थोड़ा संशोधित या ओवरराइड कर सकता है।

BOF का उपयोग करने के लिए आपको Scapy का उपयोग करना नहीं आना चाहिए, हालांकि यदि आप जानते हैं, तो आप सीधे Scapy पैकेट के साथ भी बातचीत करने के लिए स्वतंत्र हैं।

root@kitploit:~
packet = KNXPacket(type=connect_request)
packet.field1 = 1 # अतिरिक्त BOF संचालन लागू करना (जैसे: प्रकार बदलना)
packet.scapy_pkt.field1 = 1 # Scapy Packet ऑब्जेक्ट तक सीधी पहुंच

पूर्ण दस्तावेज़ीकरण

made-with-sphinx-doc

दस्तावेज़ीकरण का लिंक: https://bof.readthedocs.io

HTML उपयोगकर्ता मैनुअल और स्रोत कोड दस्तावेज़ीकरण रिपॉजिटरी से बनाया जा सकता है:

  1. $> cd docs && make html
  2. [path to repository]/docs/_build/html/index.html पर जाएं

उदाहरण स्क्रिप्ट examples फ़ोल्डर में हैं।

योगदान

योगदानकर्ताओं का स्वागत है! BOF अभी भी एक चल रही परियोजना है, जो Scapy प्रारूप में औद्योगिक नेटवर्क प्रोटोकॉल कार्यान्वयन पर निर्भर करती है। आप Scapy में योगदान देकर और नए प्रोटोकॉल ("लेयर") जोड़कर पहले योगदान कर सकते हैं। या, आप Scapy प्रोटोकॉल को BOF में एकीकृत करके योगदान कर सकते हैं। दस्तावेज़ीकरण बताता है कि इसे कैसे करना है। इसके अलावा, उच्च-स्तरीय कार्यों के लिए अभी भी जगह होगी जो परीक्षणों को आसान बनाएंगे या प्रोटोकॉल या प्रोटोकॉल कार्यान्वयन के खिलाफ ज्ञात हमलों को लागू करेंगे।

पहले से जानने योग्य कुछ बातें:

  • हम स्वच्छ कोड पसंद करते हैं और उम्मीद करते हैं कि योगदान यथासंभव PEP-8 के अनुरूप हों (भले ही हम इसके लिए परीक्षण न करें)। नए कोड को आसानी से पढ़ने योग्य और रखरखाव योग्य होना चाहिए। और याद रखें: यदि आपको यह समझाने के लिए "और" का उपयोग करना पड़ता है कि आपका फ़ंक्शन क्या करता है, तो आप शायद इसे विभाजित कर सकते हैं।

  • कृपया यूनिट परीक्षण लिखें और सुनिश्चित करें कि मौजूदा परीक्षण अभी भी पास हों! वे tests/ में हैं। आप सभी यूनिट परीक्षण इसके साथ चला सकते हैं: python -m unittest discover -s tests

समस्याओं की रिपोर्ट करना

GitHub के साथ एक मुद्दा सबमिट करके बग की रिपोर्ट करें, प्रश्न पूछें या लापता दस्तावेज़ीकरण और नई सुविधाओं का अनुरोध करें। बग के लिए, कृपया अपनी समस्या का यथासंभव स्पष्ट रूप से वर्णन करें।

टूल डाउनलोड करें
स्वचालितमानकचंचल
KNXXXX
LLDPX
ModbusXXX
Profinet DCPX