
حزمة Node.js لتقييم أمان BLE (البلوتوث منخفض الطاقة) باستخدام هجمات الوسيط والهجمات الأخرى.

حزمة Node.js لـ BLE (بلوتوث منخفض الطاقة) وسيط التوصيل والمزيد.
انظر:
https://github.com/sandeepmistry/noble
https://github.com/sandeepmistry/bleno
npm install gattacker
لتشغيل كلا المكونين، قم بتعيين المتغيرات في config.env:
إذا قمت بتشغيل وحدتي "central" و "peripheral" على أجهزة منفصلة ببطاقة BT4 واحدة، يمكنك ترك القيم معلقة (بدون تعيين).
sudo node ws-slave
يتصل بالطرف المستهدف ويعمل كخادم websocket.
التصحيح:
DEBUG=ws-slave sudo node ws-slave
node scan
بدون معاملات، يقوم بمسح الإعلانات المبثوثة وتسجيلها كملفات json (.adv.json) في DEVICES_PATH
node scan <peripheral>
استكشاف الخدمات والخصائص للطرف المختار. يحفظ هيكل الخدمة المستكشف في ملف json (.srv.json) في DEVICES_PATH.
للتلاعب النشط بالطلبات/الاستجابات، قم بتكوين دوال الخطاف للخاصية في ملف json للخدمات الخاص بالجهاز.
مثال:
{
"uuid": "06d1e5e779ad4a718faa373789f7d93c",
"name": null,
"properties": [
"write",
"notify"
],
"startHandle": 8,
"valueHandle": 9,
"endHandle": 10,
"descriptors": [
{
"handle": 10,
"uuid": "2902",
"value": ""
}
],
"hooks": {
"dynamicWrite": "dynamicWriteFunction",
"dynamicNotify": "customLog"
}
}
الدوال:
<dynamic|static><Write|Read|Notify>
dynamic: يتصل بالجهاز الأصلي
static: لا يتصل بالجهاز الأصلي، بل يشغل دالة التلاعب محليًا
سيحاول استدعاء الدالة المحددة من hookFunctions، قم بتضمين دوالك الخاصة. بعض الأمثلة موجودة في المجلد الفرعي hookFunctions.
staticValue - قيمة ثابتة
node advertise -a <advertisement_json_file> [ -s <services_json_file> ]
يتصل عبر websocket بـ ws-slave لإعادة توجيه الطلبات إلى الجهاز الأصلي. التشغيل الثابت (-s) يضبط الخدمات محليًا ولا يتصل بـ ws-slave. يجب عليك تكوين الخطافات بشكل صحيح.
بالنسبة للعديد من التطبيقات، من الضروري استنساخ عنوان MAC للجهاز الأصلي. يتم توفير أداة مساعدة bdaddr من Bluez في helpers/bdaddr.
cd helpers/bdaddr
make
النص البرمجي المغلف:
./mac_adv -a <advertisement_json_file> [ -s <services_json_file> ]
يتم حفظ ملفات التفريغ في مسار محدد بواسطة DUMP_PATH في config.env (بشكل افتراضي dump).
المزيد من المعلومات:
https://github.com/securing/gattacker/wiki/Dump-and-replay
أطفئ الجهاز، اشبك أصابعك، حاول مرة أخرى ;)
hciconfig <hci_interface> reset
مع هذا التكوين قد تواجه مشاكل مختلفة.
حاول تبديل NOBLE_HCI_INTERFACE و BLENO_HCI_INTERFACE
hcidump -x -t <hci_interface>
الأسئلة الشائعة: https://github.com/securing/gattacker/wiki/FAQ
المزيد من المعلومات: www.gattack.io
حقوق النشر (C) 2016 Slawomir Jasek, SecuRing [email protected]
يُمنح الإذن بموجب هذا، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج وملفات التوثيق المرتبطة به (البرنامج)، للتعامل مع البرنامج دون قيود، بما في ذلك دون حصر حقوق الاستخدام والنسخ والتعديل والدمج والنشر والتوزيع والترخيص و/أو بيع نسخ البرنامج، والسماح للأشخاص الذين يتم تزويدهم بالبرنامج بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق النشر أعلاه وإذن الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريح أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال لا يكون المؤلفون أو أصحاب حقوق النشر مسؤولين عن أي دعوى أو أضرار أو مسؤولية أخرى، سواء كانت ناشئة عن عقد أو ضرر أو غير ذلك، تنشأ عن أو تتعلق بالبرنامج أو استخدامه أو التعاملات الأخرى في البرنامج.