Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
writeup-cve-2019-19194 — Un análisis y una prueba de concepto teórica para CVE-2019-19194 | Kitploit
Herramientas/GitHubGitHub/louisabricot/writeup-cve-2019-19194
Seguridad de Sistemas EmbebidosSeguridad BluetoothSeguridad IoTAnálisis de VulnerabilidadesExplotaciónSeguridad Inalámbrica
GitHublouisabricot/writeup-cve-2019-19194

writeup-cve-2019-19194

Un análisis y una prueba de concepto teórica para CVE-2019-19194

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
119hace 3 añosAún no revisado

Análisis de CVE-2019-19194

Este es un análisis y una Prueba de Concepto teórica de CVE-2019-19194.

⚠️ Este CVE fue encontrado por https://asset-group.github.io/disclosures/sweyntooth/

Tabla de contenido

  • Resumen

  • Software y versión vulnerable

  • Visión general

    • Pila de protocolos y arquitectura
    • Procedimiento de emparejamiento
  • Prueba de concepto

  • Referencias

Resumen

Este informe describe cómo la vulnerabilidad Zero LTK Initialisation (CVE-2019-19194) permite a un atacante el control total de la comunicación sobre una aplicación Bluetooth Low Energy (BLE) al omitir el procedimiento de emparejamiento Secure Connections.

Software y versión vulnerable

Esta vulnerabilidad afecta a productos que utilizan las implementaciones SMP de Telink que admiten el procedimiento de emparejamiento Secure Connections.

Visión general

BLE es un sistema de comunicación por radio de bajo consumo y corto alcance. Consiste en un conjunto de protocolos estandarizados que proporcionan conectividad remota y seguridad entre dos dispositivos.

Pila de protocolos y arquitectura

La pila BLE se distribuye en dos bloques arquitectónicos: Host y Controller.

La distribución de la pila permite implementar cada bloque en componentes físicamente separados.

Una interfaz lógica estándar denominada Host Controller Interface (HCI) permite la comunicación entre los dos bloques.

Sobre el bloque Host se encuentra la aplicación BLE.

Bluetooth Low Energy protocol stack and architecture

Capa física (PHY)

La capa física opera en la banda de radio Industrial, Científica y Médica (ISM), a lo largo del espectro de 2.4 GHz. Utiliza 40 canales: 3 canales de publicidad y 37 canales de datos.

Capa de enlace (LL)

La capa de enlace (LL) tiene muchas responsabilidades que no se describirán aquí. Está gobernada por una máquina de estados que define roles y estados importantes:

  • Un dispositivo de publicidad transmite paquetes de anuncio a través de los canales de publicidad. Al publicar, un dispositivo informa si es conectable o no.
  • Un dispositivo escáner escucha paquetes de anuncio de otros dispositivos.
  • Una vez que un escáner ha recibido paquetes de anuncio de otro dispositivo, puede iniciar un procedimiento de conexión si el anunciante es conectable.

Protocolo de control y adaptación de enlace lógico (L2CAP)

El protocolo de control y adaptación de enlace lógico actúa como una capa de multiplexación de protocolos. Gestiona la fragmentación y recombinación de paquetes entre las capas inferiores y superiores.

Perfil de acceso genérico (GAP)

El Perfil de acceso genérico se ocupa del descubrimiento y la conexión de dispositivos. En otras palabras, GAP define procedimientos para la transmisión de paquetes de anuncio y su recepción mediante escaneo.

Perfil genérico de atributos (GATT)

Una vez que se ha establecido una conexión entre dos dispositivos BLE, GATT utiliza un modelo cliente/servidor para intercambiar datos entre los dos dispositivos. Tanto el cliente como el servidor utilizan el Protocolo de Atributos (ATT).

  • Servidor: el dispositivo que expone datos acepta comandos y emite respuestas, notificaciones o indicaciones.
  • Cliente: el dispositivo que solicita la lectura de datos envía comandos, acepta respuestas entrantes, notificaciones e indicaciones.

Administrador de seguridad (SM)

El SM admite procedimientos relacionados con la seguridad, como el emparejamiento, la vinculación y la distribución de claves. El emparejamiento de dispositivos se considera la base de la seguridad de Bluetooth: una vez emparejados, los dos dispositivos pueden cifrar su comunicación, autenticarse entre sí, ...

Procedimiento de emparejamiento

Entre los diferentes protocolos involucrados en la comunicación BLE, la vulnerabilidad zero LTK installation ocurre durante el procedimiento de emparejamiento, en el modo Secure Connections.

Overview pairing steps

Modos de emparejamiento

  • Legacy utiliza un proceso simple de intercambio de datos secretos para derivar una clave simétrica con la que cifrar el enlace durante la fase de distribución de claves.
  • Secure Connections (SC) utiliza criptografía de clave pública de curva elíptica para permitir que se derive una clave simétrica. Esa clave se utiliza para cifrar el enlace durante la fase de distribución de claves.

El modo de emparejamiento Secure Connections es el «enfoque más seguro» y fue desarrollado para resolver las debilidades del modo Legacy. Sin embargo, la vulnerabilidad zero LTK installation encontró que las malas implementaciones del emparejamiento SC permiten omitir la seguridad.

Proceso de emparejamiento de Secure Connections

Secure Connections pairing procedure

Fase 1 - Intercambio de información

El dispositivo central envía una solicitud de emparejamiento y ambos dispositivos intercambian sus capacidades y requisitos de seguridad. Esta fase define el modo de emparejamiento.

Fase 2 - Generación de claves
  • Intercambio de claves públicas: el dispositivo central inicia un intercambio de claves públicas. Tanto el periférico como el central verifican que la clave recibida se encuentra en la curva P-256.

  • Cálculo de la DHKey: cada dispositivo utiliza su propia clave privada (SK) y la clave pública del otro dispositivo (PK) para calcular su clave Diffie-Hellman (DHKey). De esta manera, ambos dispositivos poseen el mismo valor DHKey.

      Central: DHKey = p256(SKc, PKp)
      Peripheral: DHKey = p256(SKp, PKc)
      
    
  • Si se solicitó protección contra MITM, se lleva a cabo un procedimiento interactivo para confirmar la autenticidad de los dispositivos emparejados.

  • Cálculo de la Long Term Key (LTK) y confirmación mutua: los dispositivos se autentican entre sí y calculan una clave LTK. Una clave de sesión se deriva de la LTK para cifrar el enlace antes de la Fase 3.

Fase 3 - Distribución de claves

A través del enlace cifrado, los dispositivos pueden distribuir claves.

Prueba de concepto

La causa raíz de zero LTK installation es que no se verifica el estado en el que se encuentran los dos dispositivos en el procedimiento de emparejamiento. De este modo, un dispositivo central atacante puede omitir el paso de generación de claves y autenticación. Esto da como resultado una clave LTK establecida en 0 en el dispositivo periférico y, por lo tanto, una clave de sesión fácilmente derivable.

Exploit skips phase 2 of SC pairing

⚠️ Esta es una Prueba de Concepto totalmente teórica, ya que no pude obtener un pcap de los procedimientos de descubrimiento, anuncio o emparejamiento BLE, ni dispuse de un dispositivo BLE con la implementación SMP de Telink.

Zero LTK installation

Referencias

Descargar herramienta