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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BLESuite — BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device | Kitploit
أدوات/GitHubGitHub/nccgroup/blesuite
Packet Sniffing & AnalysisBluetooth SecurityVulnerability AnalysisInformation GatheringFuzzingWireless SecurityPenetration TestingHardware & IoT Security
GitHubnccgroup/blesuite

BLESuite

BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device

عرض المستودع
19143منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

BLESuite README

نظرة عامة

BLESuite هي حزمة بايثون تهدف إلى جعل التواصل مع أجهزة البلوتوث منخفض الطاقة (BLE) أكثر سهولة للمستخدم وتمكّن من إجراء اختبارات سريعة لأجهزة BLE. الإصدار 2 من BLESuite يزيل الاعتماد على PyGattlib وBlueZ ويستخدم بدلاً من ذلك نسخة معدّلة من PyBT (https://github.com/mikeryan/PyBT) لتنفيذ وإدارة حزمة BLE الخاصة بنا. هذا الإصدار يزيد من موثوقية الاتصال، ويعزز مرونة الاتصال، ويحسّن فحص الأجهزة، ويتيح اختبار التشويش (fuzzing) على الأجهزة في الطبقات المضيفة من حزمة البلوتوث. حزمة الاتصال التي تستخدمها BLESuite تسمح عمداً بإرسال طلبات/استجابات غير صحيحة البنية إلى الأجهزة بهدف تمكين اختبار الأجهزة.

الميزات:

  • تتضمن أداتين لسطر الأوامر (CLI) لتسهيل عمليات BLESuite الأساسية: blesuite وble-replay
  • دعم أدوار BLE المركزية (Central) والطرفية (Peripheral)
  • تدعم أجهزة HCI متعددة (مثل محول بلوتوث USB)
  • مع جهاز HCI يُستخدم في الدور المركزي، دعم لعدة اتصالات متزامنة مع الأجهزة الطرفية (محدود بالحد الأقصى لعدد الاتصالات لوحدة تحكم HCI)
  • فحص أجهزة BLE
  • فحص أجهزة BLE بحثاً عن جميع كيانات GATT
  • إرسال طلبات ATT بسرعة وسهولة إلى جهاز طرفي مقابل
  • إنشاء وإرسال حزم L2CAP وATT مبنية بعناية (أو غير صحيحة البنية عمداً) إلى الأجهزة المستهدفة
  • تدعم الاقتران (pairing) JustWorks LE Legacy. وستتوفر طرق اقتران إضافية في إصدار لاحق
  • تشغيل خادم GATT بسرعة باستخدام تعريف كائن مجرّد وعدد كبير من الدوال المساعدة
  • دعم استيراد وتصدير خادم GATT
  • دعم استيراد وتصدير قاعدة بيانات المفاتيح طويلة الأمد (Long Term Key) الخاصة بمدير الأمان
  • اختيارياً، تثبيت نسخة من أداة BDADDR الخاصة بـ BlueZ متوافقة مع واجهة برمجة تطبيقات بايثون (https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/bdaddr.c) تتيح للمستخدم انتحال عنوان BD_ADDR لمحول البلوتوث الخاص بالمضيف (تدعم بعض شرائح الاتصال فقط. هذه نسخة معدّلة من bdaddr.c الخاصة بـ BlueZ)

ملاحظة للقارئ:

للوصول إلى وظائف البلوتوث منخفض الطاقة، يجب أن يتوفر لديك محول بلوتوث يدعمها.

لماذا BLESuite؟

الهدف من BLESuite هو توفير طريقة مبسّطة لبرمجة الاتصال بسرعة مع أجهزة BLE المستهدفة لأغراض تقييمات الأمان. وبالاقتران مع الانتقال من PyGattlib وBlueZ إلى PyBT، أصبح بإمكاننا الآن التحكم بشكل أكبر في حزمة BLE واستخدامها لاختبار طبقات حزمة BLE المختلفة لجهاز مستهدف.

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

التثبيت

فيما يلي تعليمات تثبيت حزمة بايثون BLESuite.

المتطلبات الأساسية

أنظمة التشغيل المدعومة:

تم تطوير BLESuite واختباره على Debian 9.3. قد تكون المكتبة مدعومة على توزيعات لينكس أخرى، ومع ذلك لا يُضمن الدعم حالياً.

ملاحظة: تمت المحاولات الحديثة لاستخدام BLESuite مع Fedora 28 بنجاح من خلال تثبيت العناصر التالية:

  • dnf install bluez-libs-devel python2-devel python2-sphinx python2-gevent
  • اتبع بقية تعليمات التثبيت لتثبيت النسخة المرفقة من Scapy وBLESuite

مع Fedora 28، تم الإبلاغ عن مشكلة واحدة غير قابلة للتكرار في BLESuite تتعلق بـ TypeError غير موجودة في تثبيتات Debian 9.3 عند محاولة معالجة طلب ATT وارد.

المساهمات لإصلاح هذه المشكلة مرحب بها!

البرمجيات المطلوبة

فيما يلي المتطلبات اللازمة لاستخدام BLESuite:

  • libbluetooth-dev
  • libpython-dev
  • python-sphinx
  • gevent (https://pypi.org/project/gevent/)
  • Scapy (https://github.com/secdev/scapy/) (يجب تثبيته من النسخة الموجودة في هذا المستودع حالياً)
    • تتضمن هذه النسخة من Scapy عدة تعديلات على طبقة bluetooth.py تدعم عدة أنواع جديدة من الحزم وتغلق BluetoothUserSocket بشكل سليم. هذه التغييرات غير متاحة حالياً في الفرع الرئيسي لـ Scapy.
  • pycrypto (https://pypi.org/project/pycrypto/)
  • pyshark (https://github.com/KimiNewt/pyshark/)
  • prettytable (https://pypi.org/project/PrettyTable/)
  • sphinx_rtd_theme (https://pypi.org/project/sphinx_rtd_theme/) - لبناء التوثيق

بعد تثبيت libbluetooth-dev وlibpython-dev وpython-sphinx، نفّذ الأمر التالي لتثبيت تبعيات بايثون المتبقية:

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

التوثيق

من مجلد docs، نفّذ:

root@kitploit:~
make html

بعد ذلك، ستتوفر مجموعة كاملة من التوثيق والأدلة المرجعية في docs/_build/html.

تثبيت كل شيء

نفّذ الأمر التالي لتثبيت حزمة بايثون:

root@kitploit:~
python setup.py install

إذا كنت لا تريد تثبيت واجهة برمجة تطبيقات BDADDR الخاصة ببايثون أو تواجه مشاكل في تثبيتها، قم بتعليق السطر التالي في setup.py وأعد تنفيذ الأمر أعلاه:

root@kitploit:~
ext_modules = [c_ext],

الخطط المستقبلية

دعم كامل للاقتران

حتى الآن، تدعم BLESuite اقتران LE Legacy JustWorks فقط. تم تحديد مدير الأمان (Security Manager) في معظمه، لكن ما تزال البرمجة التشفيرية المتبقية لـ LESC ونماذج الارتباط البديلة بحاجة إلى التنفيذ.

دعم الكتابة الموقّعة

عملية الكتابة الموقّعة (Signed Write) في ATT غير مدعومة حالياً من قبل BLESuite. هذه ليست عملية شائعة الاستخدام، ومع ذلك فمن أجل دعم وضع الأمان 2 (Security Mode 2)، ينبغي دعمها.

دعم إضافي للعناوين الخاصة

تدعم BLESuite حالياً العناوين العامة (Public) والعناوين العشوائية (Random) الثابتة فقط. ومع ذلك، يمكن أن تكون العناوين العشوائية من نوعين فرعيين: ثابتة (Static) أو خاصة (Private). ويمكن أيضاً تقسيم العنوان العشوائي الخاص إلى نوعين فرعيين غير مدعومين حالياً من BLESuite: العنوان الخاص غير القابل للحل (Non-resolvable Private Address) والعنوان الخاص القابل للحل (Resolvable Private Address) (يُحل باستخدام IRK المتبادل أثناء الاقتران).

وبالتالي، فإن وظيفة تعيين هذه الأنواع من العناوين لمحول المضيف غير متاحة حالياً من خلال BLESuite. كما أن القدرة على حل العناوين العشوائية القابلة للحل لجهاز مقابل بناءً على IRK متبادل لم تُنفَّذ بعد.

أدوات إضافية مبنية باستخدام BLESuite

مع اكتمال بناء المكتبة، تتمثل الخطوة التالية في بناء أدوات تقييم أمان تستخدم هذه المكتبة.

أحد الأمثلة على ذلك التي أدرجناها مع هذه المكتبة هو ble-replay، والذي يمكنه استيعاب التقاط حزم BLE وإعادة تشغيل حركة مرور GATT إلى جهاز مستهدف. يمكن لـ ble-replay المساعدة بسرعة في تحديد ثغرات أمان طبقة التطبيق المتعلقة بهجمات إعادة التشغيل (Replay Attacks).

هذه الأنواع من الأدوات تقلل الوقت المستغرق في تحليل التقاطات الحزم يدوياً وبرمجة حالات اختبار اتصالات BLE يدوياً.

تنزيل الأداة