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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/virtualabs/btlejuice
التقاط وتحليل الحزمأمن البلوتوثأمان إنترنت الأشياءأدوات انتحال الشخصيةأمن الشبكات اللاسلكيةاختبار الاختراقالفريق الأحمرArchived
GitHubvirtualabs/btlejuice

btlejuice

إطار عمل وسيط (Man-in-the-Middle) لتقنية BLE يعترض حركة GATT بين أجهزة Bluetooth Smart وتطبيقات الهاتف المحمول ويعيد تشغيلها ويعدّلها عبر وكيل اعتراض قائم على الويب.

عرض المستودع
منذ 7 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

إطار عمل BtleJuice

مقدمة

BtleJuice هو إطار عمل متكامل لتنفيذ هجمات الرجل في المنتصف (Man-in-the-Middle) على أجهزة Bluetooth الذكية (المعروفة أيضًا باسم Bluetooth Low Energy). يتكون من:

  • نواة اعتراض (interception core)
  • وكيل اعتراض (interception proxy)
  • واجهة ويب مخصصة
  • روابط Python وNode.js

كيفية تثبيت BtleJuice ؟

تثبيت BtleJuice سهل جدًا. أولاً، تأكد من أن نظامك يستخدم إصدارًا حديثًا من Node.js (>=4.3.2) وnpm. ثم تأكد من تثبيت جميع التبعيات المطلوبة:

Ubuntu/Debian/Raspbian

root@kitploit:~
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

Fedora / Other-RPM based

root@kitploit:~
sudo yum install bluez bluez-libs bluez-libs-devel npm

أخيرًا، ثبّت BtleJuice باستخدام npm:

root@kitploit:~
sudo npm install -g btlejuice

إذا سار كل شيء على ما يرام، فإن BtleJuice جاهز للاستخدام !

كيفية استخدام BtleJuice ؟

يتكون BtleJuice من مكوّنين رئيسيين: وكيل اعتراض (interception proxy) ونواة (core). يجب تشغيل هذين المكوّنين على جهازين مستقلين لتشغيل محولي Bluetooth 4.0+ في الوقت نفسه. لا يعمل BtleJuice Proxy داخل حاوية Docker.

قد يساعد استخدام آلة افتراضية على جعل هذا الإطار يعمل على جهاز واحد.

من جهازك الافتراضي، ثبّت btlejuice وتأكد من أن محوّل USB BT4 متاح من الجهاز الافتراضي:

root@kitploit:~
$ sudo hciconfig
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 10:02:B5:18:07:AD  ACL MTU: 1021:5  SCO MTU: 96:6
	DOWN
	RX bytes:1433 acl:0 sco:0 events:171 errors:0
	TX bytes:30206 acl:0 sco:0 commands:170 errors:0
$ sudo hciconfig hci0 up

بعد ذلك، تأكد من أن جهازك الافتراضي لديه عنوان IP يمكن الوصول إليه من المضيف.

شغّل الوكيل في جهازك الافتراضي:

root@kitploit:~
$ sudo btlejuice-proxy

على جهازك المضيف، لا تنسَ إيقاف خدمة bluetooth والتأكد من بقاء جهاز HCI مفتوحًا/مهيأً:

root@kitploit:~
$ sudo service bluetooth stop
$ sudo hciconfig hci0 up

أخيرًا، نفّذ الأمر التالي على جهازك المضيف:

root@kitploit:~
$ sudo btlejuice -u <Proxy IP address> -w

يخبر الخيار -w BtleJuice بتشغيل الواجهة الويب، بينما يحدد الخيار -u عنوان IP الخاص بالوكيل.

واجهة المستخدم الويب متاحة الآن على http://localhost:8080. لاحظ أنه يمكن تغيير منفذ خادم الويب عبر سطر الأوامر.

استخدام الواجهة الويب

توفر واجهة الويب الخاصة بـ BtleJuice في الزاوية العلوية اليمنى مجموعة من الروابط للتحكم في نواة الاعتراض، كما هو موضح أدناه.

واجهة BtleJuice الرئيسية

اختيار الهدف

أولاً، انقر فوق الزر Select target وستظهر نافذة حوار تعرض جميع أجهزة Bluetooth Low Energy المتاحة التي اكتشفتها نواة الاعتراض:

نافذة اختيار الهدف في BtleJuice

انقر نقرًا مزدوجًا على الهدف المطلوب، وانتظر حتى تصبح الواجهة جاهزة (سيتغير مظهر زر bluetooth). بمجرد أن يصبح الجهاز الوهمي جاهزًا، استخدم التطبيق المحمول المرتبط أو جهازًا آخر (اعتمادًا على المتوقع) للاتصال بالجهاز الوهمي. إذا نجح الاتصال، فسيظهر حدث Connected على الواجهة الرئيسية.

نافذة اختيار الهدف في BtleJuice

يتم بعد ذلك عرض جميع عمليات GATT المعترضَة مع UUID الخاص بالخدمات والخصائص المقابلة، وبالطبع البيانات المرتبطة بها. تظهر البيانات افتراضيًا بتنسيق HexII (وهو أحد أشكال التنسيق الذي صممه Ange Albertini)، ولكن قد ترغب في التبديل من HexII إلى Hex (والعكس) بالنقر على البيانات نفسها. يدعم BtleJuice كلاً من تنسيقي Hex وHexII.

إعادة تشغيل عمليات GATT

من الممكن إعادة تشغيل أي عملية GATT بالنقر بزر الماوس الأيمن عليها ثم تحديد خيار Replay، كما هو موضح أدناه:

نافذة Replay المنبثقة

مربع حوار إعادة التشغيل

انقر فوق الزر Write (أو Read) لإعادة تشغيل عملية GATT المقابلة. سيتم تسجيل هذه العملية في الواجهة الرئيسية.

تعديل البيانات أثناء التشغيل

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

مربع حوار الاعتراض

تصدير البيانات إلى ملف

منذ الإصدار 1.0.6، توفر الواجهة ميزة تصدير البيانات التي تتيح تصديرًا قابلًا للقراءة وتصدير JSON. يتم إنشاء هذه الصادرات بناءً على عمليات GATT المعترضَة، ولكنها تتضمن أيضًا معلومات حول الجهاز الهدف. عند النقر على زر Export، سيظهر مربع الحوار التالي:

مربع حوار التصدير

انقر فوق الزر Export أسفل مربع الحوار لتنزيل نسخة JSON (أو نصية) من البيانات المعترضَة.

الإعدادات

يوفر مربع حوار الإعدادات حاليًا خيارًا واحدًا يسمح بإعادة الاتصال تلقائيًا بالوكيل عندما ينقطع الجهاز الهدف. قد يكون هذا مفيدًا عند التعامل مع الأجهزة التي تظل نشطة لفترة قصيرة من الوقت.

مربع حوار الإعدادات

قطع الاتصال

النقر على زر Select Target في الجزء العلوي الأيمن عندما يكون الوكيل نشطًا سيوقفه ويسمح بتحديد الهدف مرة أخرى.

تثبيت الروابط

يمكن أيضًا تثبيت روابط Node.js الخاصة بـ BtleJuice عبر npm:

root@kitploit:~
$ sudo npm install -g btlejuice-bindings

مزيد من المعلومات حول كيفية استخدام روابط Node.js في توثيق الحزمة.

شكرًا

شكر خاص إلى Slawomir Jasek الذي أشار إلى العديد من الحيل المتعلقة بـ noble/bleno لتجنب المشكلات مع تطبيقات الأجهزة المحمولة، وشارك استراتيجيات BLE MITM خلال DEF CON 24 =). وهو أيضًا مؤلف Gattacker.

الرخصة

حقوق الطبع والنشر (c) 2016 Econocom Digital Security

يُمنح الإذن بموجب هذا، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج وملفات التوثيق المرتبطة به ("البرنامج")، للتعامل مع البرنامج دون أي قيود، بما في ذلك دون حصر حقوق الاستخدام والنسخ والتعديل والدمج والنشر والتوزيع والترخيص من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين يُقدم إليهم البرنامج بالقيام بذلك، وفقًا للشروط التالية:

يجب تضمين إشعار الحقوق المذكور أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.

البرنامج مُقدم "كما هو"، دون أي ضمان من أي نوع، صريح كان أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال لا يكون المؤلفون أو أصحاب حقوق الطبع والنشر مسؤولين عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إطار عقد أو ضرر أو غير ذلك، تنشأ عن أو بسبب أو فيما يتعلق بالبرنامج أو الاستخدام أو التعاملات الأخرى مع البرنامج.

تنزيل الأداة