Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
bof — BOF (Boiboite Opener Framework) هو إطار اختبار لتنفيذات بروتوكولات الصناعية والأجهزة. | Kitploit
أدوات/GitHubGitHub/orange-cyberdefense/bof
أمان إنترنت الأشياءتخطيط الشبكةتحليل الثغرات الأمنيةالاستغلالأمن SCADA/ICSجمع المعلوماتالاختبار العشوائياختبار الاختراقالأدوات والمكونات
GitHuborange-cyberdefense/bof

bof

BOF (Boiboite Opener Framework) هو إطار اختبار لتنفيذات بروتوكولات الصناعية والأجهزة.

5397منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

بوف

بوف (إطار عمل Boiboite Opener) هو إطار اختبار لتطبيقات وأجهزة البروتوكولات الميدانية. وهي مكتبة بلغة بايثون 3.6+ توفر وسائل إرسال واستقبال وإنشاء وتحليل ومعالجة الإطارات من البروتوكولات المدعومة.

توفر المكتبة حاليًا ميزات اكتشاف واختبار موسعة لـ KNXnet/IP، وهو محور تركيزنا، ولكن يمكن توسيعها لتشمل أنواعًا أخرى من أنظمة إدارة المباني (BMS) أو بروتوكولات الشبكات الصناعية. كما توفر وظائف اكتشاف متعددة الإرسال و/أو من طرف إلى طرف للشبكات الصناعية التي تعتمد على KNXnet/IP و LLDP و Profinet DCP و Modbus TCP.

يرجى ملاحظة أن استهداف الأنظمة الصناعية يمكن أن يكون له تأثير شديد على الأشخاص والعمليات الصناعية والمباني، وأنه يجب استخدام بوف بحذر.

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.

بدء الاستخدام

بوف هي مكتبة بلغة بايثون 3.6+ يجب استيرادها في البرامج النصية.

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

هناك ثلاث طرق لاستخدام بوف، وليست جميعها متاحة اعتمادًا على الطبقة:

  • آلي: استيراد أو استدعاء وظائف عالية المستوى مباشرة من الطبقات. لا حاجة لمعرفة البروتوكول. على سبيل المثال، تحتوي وحدة اكتشاف على بعض الوظائف لاكتشاف الأجهزة باستخدام عدة بروتوكولات شبكات صناعية.

  • قياسي: صياغة حزم من الطبقات للتفاعل مع الأجهزة البعيدة. مطلوب معرفة أساسية بالبروتوكول.

  • مرح: اللعب بالحزم، إساءة استخدام البروتوكول (نقوم بتشويش الأجهزة به). يجب أن يكون المستخدم النهائي قد بدأ في التعمق في مواصفات البروتوكول.

الآن يمكنك البدء في استخدام بوف!

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() # قد ينتج هذا شيئًا غريبًا

من المحتمل ألا يستجيب الجهاز المستلم لذلك، ولكن على الأقل أنت تعلم أن بوف لن يمنعك من العبث بحزمك.

التفاعل مع Scapy

يعتمد بوف على Scapy لتطبيقات البروتوكول، مع طبقة إضافية تترجم كود بوف إلى تغييرات على حزم Scapy وحقولها. لماذا؟ لأن بوف قد يعدل أو يتجاوز السلوك الداخلي لـ Scapy بشكل طفيف.

لست بحاجة إلى معرفة كيفية استخدام Scapy لاستخدام بوف، ومع ذلك إذا كنت تعرف ذلك، فأنت حر في التفاعل مع حزمة Scapy مباشرة أيضًا.

root@kitploit:~
packet = KNXPacket(type=connect_request)
packet.field1 = 1 # تطبيق عمليات بوف إضافية (مثال: تغيير الأنواع)
packet.scapy_pkt.field1 = 1 # وصول مباشر إلى كائن Packet في Scapy

التوثيق الكامل

made-with-sphinx-doc

رابط التوثيق: https://bof.readthedocs.io

يمكن بناء دليل المستخدم بصيغة HTML وتوثيق كود المصدر من المستودع:

  1. $> cd docs && make html
  2. انتقل إلى [path to repository]/docs/_build/html/index.html

البرامج النصية النموذجية موجودة في مجلد examples.

المساهمة

المساهمون مرحب بهم! بوف لا يزال مشروعًا جاريًا، يعتمد على تطبيقات بروتوكول الشبكات الصناعية بصيغة Scapy. يمكنك المساهمة أولاً عن طريق المساهمة في Scapy وإضافة بروتوكولات جديدة ("طبقات"). أو يمكنك المساهمة عن طريق دمج بروتوكول Scapy في بوف. يشرح التوثيق كيفية القيام بذلك. علاوة على ذلك، سيكون هناك مجال لوظائف عالية المستوى ستجعل الاختبارات أسهل أو تنفذ هجومًا معروفًا ضد البروتوكولات أو تطبيقاتها.

إليك بعض الأشياء التي يجب معرفتها مسبقًا:

  • نحب الكود النظيف ونتوقع أن تكون المساهمات متوافقة مع PEP-8 قدر الإمكان (حتى لو لم نختبر ذلك). يجب أن يكون الكود الجديد قابلًا للقراءة بسهولة وقابلًا للصيانة. وتذكر: إذا كنت بحاجة إلى استخدام "و" أثناء شرح ما تفعله وظيفتك، فمن المحتمل أنك تستطيع تقسيمها.

  • يرجى كتابة اختبارات الوحدة والتأكد من أن الاختبارات الحالية لا تزال تعمل! توجد في tests/. يمكنك تشغيل جميع اختبارات الوحدة باستخدام: python -m unittest discover -s tests

الإبلاغ عن المشكلات

أبلغ عن الأخطاء، اطرح أسئلة، أو اطلب توثيقًا مفقودًا وميزات جديدة عن طريق تقديم مشكلة على GitHub. بالنسبة للأخطاء، يرجى وصف مشكلتك بأوضح ما يمكنك.

تنزيل الأداة
آليقياسيمرح
KNXXXX
LLDPX
ModbusXXX
Profinet DCPX