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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
nOBEX — nOBEX allows emulating the PBAP, MAP, and HFP profiles to test vehicle infotainment systems and similar devices using these profiles | Kitploit
أدوات/GitHubGitHub/nccgroup/nobex
Embedded Systems SecurityBluetooth SecurityFuzzingWireless SecurityPenetration Testing
GitHubnccgroup/nobex

nOBEX

nOBEX allows emulating the PBAP, MAP, and HFP profiles to test vehicle infotainment systems and similar devices using these profiles

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

الأكثر شعبية

عرض الكل →

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

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

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

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

nOBEX

مقدمة

يتيح nOBEX محاكاة ملفات PBAP وMAP وHFP لاختبار أنظمة الترفيه المعلوماتي في المركبات والأجهزة المماثلة التي تستخدم هذه الملفات. يوفر nOBEX عملاء PBAP وMAP لاستنساخ أنظمة الملفات الافتراضية الأصلية لهذه الملفات من هاتف حقيقي. وهذا يعني تنزيل دليل الهاتف بالكامل وجميع الرسائل النصية. يتم تخزين بطاقات vcards الخام وقوائم XML وهياكل MAP BMSG، ويمكن تعديلها حسب الرغبة للاختبار السلبي. يمكن لـ nOBEX بعد ذلك العمل كخادم PBAP وMAP، مما يسمح للمركبات والأجهزة الأخرى بالاتصال به واسترجاع معلومات الهاتف والرسائل. يتم إرسال بطاقات Vcards وBMSGs وقوائم XML تمامًا كما تم حفظها، مما يسمح بمرور البيانات المعدلة من قبل المستخدم والمشوهة. نظرًا لأن معظم وحدات الرأس في المركبات تتطلب دعم HFP قبل محاولة استخدام PBAP وMAP، يوفر nOBEX أيضًا دعمًا أساسيًا لـ HFP. سيعيد إرسال استجابات مسبقة قابلة للتخصيص من قبل المستخدم لأوامر AT القادمة من وحدة رأس المركبة. وهذا يسمح بمحاكاة هاتف خلوي حقيقي.

nOBEX مبني على مشروع PyOBEX من تأليف David Boddie. لم تكن هذه الأداة ممكنة لولا جهود David العظيمة في جعل OBEX سهل الفهم والتعامل معه. يوسع nOBEX PyOBEX بإضافة دعم لرسائل OBEX متعددة الأجزاء الكبيرة، ومحاكاة HFP، وخوادم PBAP وMAP، وعميل MAP، وعميل PBAP محسّن.

يستخدم nOBEX (وPyOBEX) مجموعة BlueZ للبلوتوث للإعلان عبر بروتوكول اكتشاف الخدمات (SDP) وإنشاء اتصالات RFCOMM. يحتوي nOBEX/PyOBEX على تطبيقات مستقلة لمواصفات OBEX لأدوار العميل والخادم. يتم دعم كل من Python 2 و3.

في وضع العميل، يستخدم nOBEX BlueZ للاستعلام عن الخدمات التي يقدمها الخادم. إذا اكتشف أن الخدمة المطلوبة متاحة، فإنه يتصل بالخادم عبر RFCOMM على المنفذ المحدد عبر SDP. يتم إنشاء طلبات OBEX وإرسالها إلى الخادم وفقًا للملف الجانبي المستخدم. يتم تفسير الاستجابات وحفظها على القرص. يمكن استخدام أوضاع العميل لـ PBAP وMAP لاستنساخ هاتف حقيقي.

في وضع الخادم، يعلن nOBEX عن الخدمات المتاحة عبر SDP. عندما يقوم عميل بإنشاء اتصال RFCOMM على المنفذ المعلن عنه، سيقبل الخادم طلبات OBEX ويتعامل معها. سيتم إرسال استجابات OBEX للطلبات باستخدام البيانات الموجودة على القرص. تخدم خوادم PBAP وMAP هياكل الملفات/المجلدات المطابقة لتلك التي تم إنشاؤها بواسطة العملاء المعنيين.

تعليمات التثبيت

تم اختبار تعليمات الإعداد التالية على Fedora 24 و27 و29. قد تعمل التوزيعات الحديثة الأخرى أيضًا، لكن التجارب قد تختلف. قد تحتاج إلى تثبيت أدوات bluez القديمة (بما في ذلك sdptool) إذا كانت توزيعتك لا تتضمن sdptool. انتبه أيضًا إلى أن خوادم OBEX تميل إلى عدم العمل داخل الأجهزة الافتراضية التي تحتوي على محولات بلوتوث مشتركة. إما أن تشغل Linux بشكل أصلي، أو امتلك محول بلوتوث USB مخصصًا يستخدمه الجهاز الافتراضي فقط.

جرب استكشاف الخدمات المحلية المعلن عنها على SDP:

root@kitploit:~
sudo sdptool browse local

إذا كنت تستخدم توزيعة حديثة، فمن المحتمل أن يفشل ذلك بسبب بعض تغييرات API الجذرية في BlueZ 5. يمكنك إصلاح ذلك بتشغيل bluetoothd في وضع التوافق. افعل ذلك عن طريق تحرير خدمة systemd الخاصة بـ bluetoothd.

root@kitploit:~
sudo vi /usr/lib/systemd/system/bluetooth.service

أضف --compat إلى سطر ExecStart:

root@kitploit:~
ExecStart=/usr/libexec/bluetooth/bluetoothd --compat

الآن أعد تشغيل bluetoothd:

root@kitploit:~
sudo service bluetooth stop
sudo systemctl daemon-reload
sudo service bluetooth start
sudo hciconfig -a hci0 reset

اختبر تصفح خدمات SDP المحلية مرة أخرى (يجب أن يعمل هذه المرة):

root@kitploit:~
sudo sdptool browse local

احصل على nOBEX وقم بتثبيته:

root@kitploit:~
git clone https://github.com/nccgroup/nOBEX.git
cd nOBEX
sudo python3 setup.py install

تعليمات الاستخدام

PBAP

ابحث عن عنوان MAC لهاتف ترغب في استنساخ دليل هاتفه:

root@kitploit:~
hcitool scan

استنسخ محتويات PBAP لهاتف موجود (استخدم عنوان MAC الصحيح الخاص بك ويفضل أن يكون دليل الوجهة فارغًا أو غير موجود من اختيارك):

root@kitploit:~
python3 examples/pbapclient.py 5C:51:88:8A:EC:5B ~/pbap_root/

بدلاً من ذلك، استخدم شجرة بيانات العينة الخاصة بـ PBAP الموجودة في مجلد examples/pbap_root.

عدّل بطاقات vcards وXML الخاصة بالقوائم في دليل تفريغ PBAP الخاص بك حسب الرغبة. الآن شغّل خادم PBAP باستخدام دليل الهاتف المستنسخ:

root@kitploit:~
sudo python3 examples/multiserver.py --pbap ~/pbap_root/

ستحتاج أيضًا إلى إقران عميل PBAP بالكمبيوتر (خادم PBAP).

MAP

اسحب بيانات الرسائل من هاتفك لإنشاء شجرة MAP للاختبار:

root@kitploit:~
python3 examples/mapclient.py 5C:51:88:8A:EC:5B ~/map_root/

بدلاً من ذلك، إذا كان هاتفك لا يدعم MAP بشكل صحيح، فاستخدم شجرة بيانات العينة الخاصة بـ MAP الموجودة في مجلد examples/map_root.

عدّل بيانات العينة حسب الرغبة. ثم شغّل الخادم، مع الإشارة إلى المكان الذي يجب أن يبحث فيه عن جذر شجرة MAP.

root@kitploit:~
sudo python3 examples/multiserver.py --map ~/map_root/

HFP HF

عميل HFP (جهاز حر اليدين، محاكي طقم السيارة) يوفر واجهة أوامر AT للتواصل مع HFAG الخاص بك (هاتف/مودم). أسميه "عميل HFP" على الرغم من كونه خادم RFCOMM لأنه "عميل" لـ HFAG (هاتف/مودم). أنت تستخدم محاكي HF ("العميل") لإرسال أوامر AT إلى HFAG، على الرغم من أن "الخادم" (HFAG) هو من يبدأ اتصال RFCOMM.

لتشغيل محاكي HF:

root@kitploit:~
sudo python3 examples/hfpclient.py

قد تحتاج إلى تشغيل محاكي HF للإعلان عبر SDP بأنك جهاز HF قبل إقران هاتفك. عندما يكون محاكي HF قيد التشغيل، سيبدأ هاتفك اتصال RFCOMM لأوامر AT مع نص المحاكي. لتسريع هذه العملية، يمكنك النقر على الكمبيوتر المقترن في إعدادات البلوتوث بهاتفك لتشغيل اتصال/إعادة اتصال.

بمجرد أن يبدأ HFAG (هاتف/مودم) اتصالًا، يكون لديك عادةً نافذة زمنية محدودة (30 ثانية إلى دقيقة) لتكوين جلسة HFP. قبل أن تتمكن من إرسال أوامر AT مفيدة (مثل بدء المكالمات الهاتفية)، يجب عليك إرسال سلسلة من أوامر AT خلال النافذة المحدودة، وإلا فقد يفصل منك HFAG. يجب أن تعمل سلسلة أوامر AT الأولية التالية مع معظم الهواتف:

root@kitploit:~
AT+BRSF=39
AT+CIND=?
AT+CIND?
AT+CMER=3,0,0,1
AT+CHLD=?
AT+CCWA=1
AT+CLIP=1
AT+NREC=0

HFP HFAG

خادم HFP (بوابة الصوت) أساسي إلى حد ما، حيث يعيد إرسال ردود مكوّنة مسبقًا لأوامر محددة. تم إعداد الخادم لدعم أوامر HFP الشائعة مباشرة، ولكن من المرجح أن تتطلب كل مركبة بعض الأوامر الإضافية و/أو تغييرات في الاستجابات. يمكن تكوين الاستجابات المخصصة من خلال ملف نصي بتنسيق أزواج الأوامر والاستجابات في كل سطر، حيث يتم فصل الأمر والاستجابة بعلامة تبويب. يمكن العثور على ملفات إعدادات عينة في مجلد examples/bbeast.

على عكس الخوادم الأخرى، فإن تطبيق nOBEX لـ HFP AG لا يقبل فعليًا اتصالات RFCOMM. معيار HFP غامض حول كيفية إنشاء الاتصالات، وبالتالي يُسمح لكل من HF وAG بقبول الاتصالات وبدءها. تتصرف وحدات الرأس المختلفة بشكل مختلف عندما يتعلق الأمر بممارسات إنشاء الاتصال. ومع ذلك، تميل معظم أجهزة HF إلى قبول الاتصال بها من قبل AG إذا كان AG لا يقبل الاتصالات على منفذه الخاص. وبالتالي، فإن "خادم" nOBEX لـ HFP AG يبحث فقط بين الأجهزة المقترنة عن تلك التي تدعم خدمة HF، ثم يتصل nOBEX بجهاز HF.

انتبه إلى أن كود HFP AG سيحاول الاتصال بأي جهاز مدرج تحت /var/lib/bluetooth/*/* يدعي دعم دور HFP HF. لذلك، يجب عليك حذف أي اقترانات خاطئة في هذا الدليل قبل محاولة استخدام خادم HFP.

لتشغيل HFP AG مستقل (ملف الإعداد اختياري):

root@kitploit:~
sudo python3 examples/multiserver.py --hfp [config_file]

يدعم خادم HFP (HFAG) أيضًا التشغيل التفاعلي حيث يمكنك تحرير الاستجابات التلقائية في وقت التشغيل أو إرسال استجابات AT يدويًا. يستمع خادم HFP على المنفذ 7137 من localhost للأوامر. يمكنك الاتصال به باستخدام netcat كما هو موضح أدناه:

root@kitploit:~
nc localhost 7137

يوجد أمران بسيطان فقط لهذه الواجهة:

  • send <atresp> - إرسال atresp كاستجابة AT
  • ursp <atcmd> <atresp> - تحديث/تعيين الاستجابة التلقائية لـ atcmd إلى atresp

أوامر المثال التالية ستحاكي مكالمة هاتفية واردة:

root@kitploit:~
ursp AT+CLCC +CLCC: 1,1,4,0,0,"1234567890",129
send RING

FTP

يتيح لك عميل FTP (ملف نقل الملفات) تصفح الملفات على خادم OBEX FTP، مثل كمبيوتر آخر يشغل nOBEX، أو هاتف Android يشغل تطبيق Bluetooth File Transfer. يوجد برنامج عينة لعميل FTP في مجلد الأمثلة.

root@kitploit:~
python3 examples/ftpclient.py SERVER_MAC_ADDRESS [save_directory]

تشغيل عميل FTP النموذجي مع عنوان MAC للبلوتوث فقط كوسيطة سيطبع قائمة دليل متكررة لجميع الملفات التي يمكن الوصول إليها عبر OBEX FTP على الخادم. إذا تم توفير وسيطة save_directory الاختيارية، فسيقوم البرنامج النصي بتنزيل كل ملف يمكن الوصول إليه على الخادم وحفظه في دليل الحفظ المحدد على جهاز الكمبيوتر الخاص بك.

يسمح خادم FTP للعميل بتصفح الملفات الموجودة على جهاز الكمبيوتر الخاص بك (الخادم) داخل مجلد محدد.

root@kitploit:~
sudo python3 examples/multiserver.py --ftp PATH_TO_FTP_FOLDER

OPP

يسمح عميل OPP (ملف دفع الكائنات) بدفع ملف موجود على جهاز الكمبيوتر الخاص بك إلى خادم OBEX OPP.

root@kitploit:~
python3 examples/pushclient.py SERVER_MAC_ADDRESS FILE_TO_PUSH

يسمح خادم OPP للعميل بدفع الملفات إلى جهاز الكمبيوتر الخاص بك (الخادم) داخل مجلد محدد.

root@kitploit:~
sudo python3 examples/multiserver.py --opp PATH_TO_OPP_FOLDER

دمج الخوادم

تسمح نصوص multiserver.py بتشغيل أي مجموعة من خوادم HFP وMAP وPBAP وFTP وOPP في وقت واحد. فقط ادمج الوسائط من الأمثلة الموضحة أعلاه. لتشغيل HFP وMAP وPBAP في وقت واحد:

root@kitploit:~
python3 examples/multiserver.py --map ~/map_root/ --pbap ~/pbap_root/ --hfp [config_file]

تم اختبار مزيج HFP وPBAP بنجاح على سيارة Ford Focus موديل 2012.

التطبيقات

الغرض الأساسي من nOBEX هو إجراء الاختبار السلبي والتلغيم (fuzzing) لعملاء PBAP وMAP على وحدات الرأس في السيارات. يهدف دعم HFP ودعم عملاء PBAP/MAP إلى تسهيل هذا الهدف. يمكن إجراء التلغيم اليدوي عن طريق تشغيل خادم مع قوائم XML وبطاقات vcards وBMSGs معدلة يدويًا. يعد OBEX هدفًا غنيًا للتلغيم حيث يحتوي على العديد من هياكل TLV المتداخلة التي يمكن أن تمتد عبر رسائل متعددة الأجزاء. تزيد PBAP وMAP بشكل كبير من سطح الهجوم باستخدام محللات vcard وBMSG وXML.

لا يحتوي nOBEX على دعم مدمج للتلغيم الآلي، ولكن نظرًا لأنه مكتوب بلغة Python، فمن السهل توسيعه. يمكن بناء قدرات تلغيم أكثر قوة من خلال إقرانه بمحرك تحوير وتجهيز الجهاز المستهدف بأدوات القياس.

بعيدًا عن تلغيم MAP وPBAP على وحدات الرأس في السيارات، يمكن أيضًا استخدام nOBEX للاختبار الإيجابي العادي لـ PBAP وMAP وملفات OBEX الأخرى (مثل FTP) لكل من أدوار العميل والخادم. تم اختبار خوادم PBAP وMAP مع تطبيق OBEX Commander لنظام Android، حيث يمكن أن تتسبب اتصالات OBEX الخاطئة والبيانات الخاصة بالملف الجانبي المشوهة في العديد من الأعطال. علاوة على ذلك، يمكن استخدام دعم HFP لتلغيم أوامر AT يدويًا.

تنزيل الأداة