
Implémentation d'exploit pour CVE-2023-45866 permettant l'injection non authentifiée de frappes clavier Bluetooth à l'aide de payloads DuckyScript sur Raspberry Pi.
CVE-2023-45866 - Implémentation de BluetoothDucky (Utilisation de DuckyScript)
Ceci est une implémentation de la CVE découverte par marcnewlin [https://github.com/marcnewlin/hi_my_name_is_keyboard]
J'ai créé un ducky_convert.py pour essayer de ne pas modifier le fichier hid.py autant que possible pour une utilisation future.
Je travaille encore sur quelques idées de payloads pour cela.
Je l'ai fait tourner sur un Raspberry Pi 4 en utilisant le module Bluetooth par défaut. Je l'ai testé contre tous les téléphones de mes amis, et cela fonctionne. Le seul problème que j'ai rencontré concerne une marque de téléphone néo-zélandaise appelée Vodafone qui le bloque par défaut, même si le téléphone n'a pas été allumé depuis des années (demande un appairage), ce qui est hilarant car c'est le plus sécurisé.
Je dois encore adapter tous les termes liés à Ducky, mais je suis limité en appareils pour les tests.
REM ceci est juste un commentaire
string test123
ENTER
Cela devrait taper test123 dans un champ de texte puis appuyer sur ENTER.
Je mets simplement ce code à disposition pour toute personne souhaitant aider.
Instructions d'installation (Volées à marcnewlin)
# mise à jour d'apt
sudo apt-get update
sudo apt-get -y upgrade
# installation des dépendances depuis apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
git gcc python3-pip python3-setuptools \
python3-pydbus
# installation de pybluez depuis la source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
# compilation de bdaddr depuis la source de 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/
Ensuite, simplement
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
Il recherchera un fichier payload.txt dans le même répertoire, qui peut simplement être un script ducky - essayez quelque chose de simple fourni dans ce dépôt pour commencer.
Implémenter une fonction d'étape pour vérifier la dernière lettre de la ligne de payload envoyée, afin de pouvoir renvoyer/reprendre à partir de là en cas d'échec plutôt que de toute la ligne
Galaxy A14/SM-A14F
GUI + D (bureau)
GUI + E (Email)
GUI + F (RECHERCHER)
GUI + H (audio Samsung ?)
GUI + K (calendrier)
GUI + M (Carte)
GUI + N (Notifications)
GUI + T (Musique ?)
GUI + Q (Notifications complètes)
GUI + R (Fichiers récents)
GUI + S (messages ?)
GUI + U (Accessibilité)
GUI + V (volume)
GUI + Z (Paramètres)
ALT + A (Tiroir d'applications)
Alt + Espace (Recherche)