
Implementazione dell'exploit per CVE-2023-45866 che consente l'iniezione non autenticata di tasti Bluetooth tramite payload DuckyScript su Raspberry Pi.
CVE-2023-45866 - Implementazione BluetoothDucky (Utilizzo DuckyScript)
Questa è un'implementazione della CVE scoperta da marcnewlin [https://github.com/marcnewlin/hi_my_name_is_keyboard]
Ho creato un ducky_convert.py per cercare di non modificare il file hid.py il più possibile per un uso futuro.
Sto ancora lavorando su alcune idee per i payload.
Lo sto eseguendo su un Raspberry Pi 4 utilizzando il modulo Bluetooth predefinito. L'ho testato contro ogni singolo telefono dei miei amici e funziona. L'unico problema che ho riscontrato è con un marchio di telefoni neozelandese chiamato Vodafone che lo blocca di default anche se il telefono non è stato acceso da anni (richiede l'accoppiamento), il che è divertente perché è quello più sicuro.
Devo ancora adattare tutta la terminologia relativa a ducky, ma ho dispositivi limitati per i test.
REM questo è solo un commento
string test123
ENTER
Questo dovrebbe digitare test123 in un campo di testo e poi premere INVIO.
Metto questo codice a disposizione per chiunque voglia aiutare.
Istruzioni di installazione (Rubate da marcnewlin)
# aggiorna apt
sudo apt-get update
sudo apt-get -y upgrade
# installa le dipendenze da apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
git gcc python3-pip python3-setuptools \
python3-pydbus
# installa pybluez dal sorgente
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
# compila bdaddr dal sorgente bluez
cd ~/
git clone --depth=1 https://github.com/bluez/bluez.git
gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
sudo cp bdaddr /usr/local/bin/
Poi semplicemente
git clone https://github.com/pentestfunctions/BluetoothDucky
cd BluetoothDucky
sudo python3 BluetoothDucky.py -i hci0 -t 00:00:00:00:00:00
sudo python3 BluetoothDucky.py --scan
Cercherà un file payload.txt nella stessa directory che può essere semplicemente uno script ducky - prova qualcosa di semplice fornito in questo repository per iniziare.
Implementare una funzione step per controllare l'ultima lettera della riga del payload inviata, così da poter rinviare/continuare da lì in caso di errore invece dell'intera riga
Galaxy A14/SM-A14F
GUI + D (desktop)
GUI + E (Email)
GUI + F (CERCA)
GUI + H (Audio Samsung?)
GUI + K (calendario)
GUI + M (Mappa)
GUI + N (Notifiche)
GUI + T (Musica?)
GUI + Q (Notifiche complete)
GUI + R (File recenti)
GUI + S (messaggi?)
GUI + U (Accessibilità)
GUI + V (volume)
GUI + Z (Impostazioni)
ALT + A (Cassetto app)
Alt + Spazio (Cerca)