Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
writeup-cve-2019-19194 — Uma análise e Prova de Conceito teórica para CVE-2019-19194 | Kitploit
Ferramentas/GitHubGitHub/louisabricot/writeup-cve-2019-19194
Segurança de Sistemas EmbarcadosSegurança BluetoothSegurança IoTAnálise de VulnerabilidadesExploraçãoSegurança Sem Fio
GitHublouisabricot/writeup-cve-2019-19194

writeup-cve-2019-19194

Uma análise e Prova de Conceito teórica para CVE-2019-19194

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
Ver Repositório
119há 3 anosAinda não revisado

Análise da CVE-2019-19194

Esta é uma análise e Prova-de-Conceito teórica da CVE-2019-19194.

⚠️ Esta CVE foi encontrada por https://asset-group.github.io/disclosures/sweyntooth/

Tabela de Conteúdo

  • Resumo

  • Software e versão vulneráveis

  • Visão Geral

    • Pilha de Protocolos e Arquitetura
    • Procedimento de emparelhamento
  • Prova-de-Conceito

  • Referências

Resumo

Este relatório descreve como a vulnerabilidade Zero LTK Initialisation (CVE-2019-19194) permite a um atacante o controle total da comunicação sobre aplicações Bluetooth Low Energy (BLE) ao ignorar o procedimento de emparelhamento Secure Connections.

Software e versão vulneráveis

Esta vulnerabilidade afeta produtos que utilizam implementações Telink SMP que suportam o procedimento de emparelhamento Secure Connections.

Visão Geral

BLE é um sistema de comunicação por rádio de baixo consumo e curto alcance. Consiste em um conjunto de protocolos padronizados que fornecem conectividade remota e segurança entre dois dispositivos.

Pilha de Protocolos e Arquitetura

A pilha BLE é distribuída em dois blocos arquiteturais: Host e Controller.

A distribuição da pilha permite implementar cada bloco em componentes fisicamente separados.

Uma interface lógica padrão chamada Host Controller Interface (HCI) permite a comunicação entre os dois blocos.

Acima do bloco Host está a aplicação BLE.

Bluetooth Low Energy protocol stack and architecture

Camada Física (PHY)

A camada física opera na banda de rádio Industrial, Científica e Médica (ISM), no espectro de 2,4 GHz. Utiliza 40 canais: 3 canais de advertising e 37 canais de data.

Camada de Enlace (LL)

A camada de enlace (LL) tem muitas responsabilidades que não serão descritas aqui. Ela é governada por uma máquina de estados que define papéis e estados importantes:

  • Um dispositivo advertising transmite pacotes de anúncio pelos canais de advertising. Ao anunciar, um dispositivo informa se é ou não connectable.
  • Um dispositivo scanner ouve pacotes de anúncio de outros dispositivos.
  • Assim que um scanner recebe pacotes de anúncio de outro dispositivo, pode iniciar um procedimento de conexão se o anunciante for connectable.

Protocolo de Controle de Enlace Lógico e Adaptação (L2CAP)

O protocolo de controle de enlace lógico e adaptação atua como uma camada de multiplexação de protocolos. Ele lida com fragmentação e recombinação de pacotes entre as camadas inferior e superior.

Perfil de Acesso Genérico (GAP)

O Perfil de Acesso Genérico diz respeito à descoberta e conexão de dispositivos. Em outras palavras, o GAP define procedimentos para a transmissão de pacotes de anúncio e sua recepção através de scanning.

Perfil de Atributo Genérico (GATT)

Uma vez estabelecida uma conexão entre dois dispositivos BLE, o GATT usa um modelo cliente/servidor para trocar dados entre os dois dispositivos. E tanto o cliente quanto o servidor usam o Protocolo de Atributo (ATT).

  • Servidor: o dispositivo que expõe dados aceita comandos e emite respostas, notificações ou indicações.
  • Cliente: o dispositivo que solicita a leitura de dados envia comandos, aceita respostas, notificações e indicações recebidas.

Gerenciador de Segurança (SM)

O SM suporta procedimentos relacionados à segurança, como pairing, bonding e key distribution. O emparelhamento de dispositivos é considerado a base da segurança Bluetooth: uma vez emparelhados, os dois dispositivos podem criptografar sua comunicação, autenticar um ao outro, ...

Procedimento de emparelhamento

Entre os diferentes protocolos envolvidos na comunicação BLE, a CVE zero LTK installation ocorre durante o procedimento de emparelhamento, no modo Secure Connections.

Overview pairing steps

Modos de emparelhamento

  • Legacy usa um processo simples de troca de dados secretos para derivar uma chave simétrica com a qual criptografar o enlace durante a fase de distribuição de chaves.
  • Secure Connections (SC) usa criptografia de chave pública de curva elíptica para permitir a derivação de uma chave simétrica. Essa chave é usada para criptografar o enlace durante a fase de distribuição de chaves.

O modo de emparelhamento Secure Connections é a "abordagem mais segura" e foi desenvolvido para resolver as fraquezas do modo Legacy. No entanto, a CVE zero LTK installation descobriu que implementações ruins do emparelhamento SC permitem ignorar a segurança.

Processo de emparelhamento Secure Connections

Secure Connections pairing procedure

Fase 1 - Troca de Informações

O dispositivo central envia uma solicitação de emparelhamento e ambos os dispositivos trocam informações sobre suas capacidades e requisitos de segurança. Esta fase define o modo de emparelhamento.

Fase 2 - Geração de Chaves
  • Troca de chave pública: Uma troca de chaves públicas é iniciada pelo dispositivo central. Tanto o periférico quanto o central verificam se a chave recebida está na curva P-256.

  • Cálculo do DHKey: Cada dispositivo usa sua própria chave privada (SK) e a chave pública do outro dispositivo (PK) para calcular sua chave Diffie-Hellman (DHKey). Dessa forma, ambos os dispositivos possuem o mesmo valor de DHKey.

      Central: DHKey = p256(SKc, PKp)
      Peripheral: DHKey = p256(SKp, PKc)
      
    
  • Se a proteção MITM foi solicitada, um procedimento interativo ocorre para confirmar a autenticidade dos dispositivos de emparelhamento.

  • Cálculo da Long Term Key (LTK) e confirmação mútua: Os dispositivos autenticam um ao outro e calculam uma chave LTK. Uma chave de sessão é derivada da LTK para criptografar o enlace antes da Fase 3.

Fase 3 - Distribuição de Chaves

Através do enlace criptografado, os dispositivos podem distribuir chaves.

Prova-de-Conceito

A causa raiz da zero LTK installation é que não há verificação do estado em que os dois dispositivos se encontram no procedimento de emparelhamento. Dessa forma, um dispositivo central atacante pode pular a etapa de geração de chaves e autenticação. Isso resulta em uma chave LTK definida como 0 no dispositivo periférico e, portanto, uma chave de sessão facilmente derivável.

Exploit skips phase 2 of SC pairing

⚠️ Esta é uma Prova-de-Conceito totalmente teórica, pois não consegui obter um pcap de descoberta BLE, anúncio ou procedimentos de emparelhamento, nem tinha um dispositivo BLE com implementação Telink SMP.

Zero LTK installation

Referências

  • Garbelini, M. E., Wang, C., Chattopadhyay, S., Sun, S., & Kurniawan, E. (2020, July). Sweyntooth: Unleashing mayhem over bluetooth low energy. In Proceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference (pp. 911-925).
  • Claverie, T., Docq, N., & Lopes-Esteves, J. Analyse des propriétés de sécurité dans les implémentations du Bluetooth Low Energy.
  • Bluetooth Core Specification 5.0
  • Developer Study Guide: Bluetooth Low Energy Security
Baixar ferramenta