Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
writeup-cve-2019-19194 — Un writeup e una Proof-of-Concept teorica per CVE-2019-19194 | Kitploit
Strumenti/GitHubGitHub/louisabricot/writeup-cve-2019-19194
Sicurezza Sistemi EmbeddedSicurezza BluetoothSicurezza IoTAnalisi delle VulnerabilitàExploitSicurezza Wireless
GitHublouisabricot/writeup-cve-2019-19194

writeup-cve-2019-19194

Un writeup e una Proof-of-Concept teorica per CVE-2019-19194

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
163 anni faNon ancora revisionato

Writeup CVE-2019-19194

Questa è una writeup e una Proof-of-Concept teorica della CVE-2019-19194.

⚠️ Questa CVE è stata scoperta da https://asset-group.github.io/disclosures/sweyntooth/

Indice dei contenuti

  • Sommario

  • Software vulnerabile e versione

  • Panoramica

    • Stack di protocollo e architettura
    • Procedura di pairing
  • Proof of Concept

  • Riferimenti

Sommario

Questo report descrive come la vulnerabilità Zero LTK Initialisation (CVE-2019-19194) consente a un attaccante il pieno controllo della comunicazione di un'applicazione Bluetooth Low Energy (BLE) aggirando la procedura di pairing Secure Connections.

Software vulnerabile e versione

Questa vulnerabilità colpisce i prodotti che utilizzano le implementazioni SMP di Telink che supportano la procedura di pairing Secure Connections.

Panoramica

Il BLE è un sistema di comunicazione radio a corto raggio e basso consumo. Consiste in un insieme di protocolli standardizzati che forniscono connettività remota e sicurezza tra due dispositivi.

Stack di protocollo e architettura

Lo stack BLE è distribuito su due blocchi architetturali: Host e Controller.

La distribuzione dello stack consente di implementare ciascun blocco in componenti fisicamente separati.

Un'interfaccia logica standard chiamata Host Controller Interface (HCI) consente la comunicazione tra i due blocchi.

Sopra al blocco Host si trova l'applicazione BLE.

Stack e architettura del protocollo Bluetooth Low Energy

Livello fisico (PHY)

Il livello fisico opera nella banda radio Industrial, Scientific and Medical (ISM), nello spettro dei 2.4GHz. Utilizza 40 canali: 3 canali advertising e 37 canali data.

Livello di collegamento (LL)

Il livello di collegamento (LL) ha molte responsabilità che non verranno descritte qui. È governato da una macchina a stati che definisce ruoli e stati importanti:

  • Un dispositivo advertising trasmette pacchetti di advertising sui canali advertising. Quando fa advertising, un dispositivo comunica se è connetibile o meno.
  • Un dispositivo scanner ascolta i pacchetti di advertising provenienti da altri dispositivi.
  • Una volta che uno scanner ha ricevuto pacchetti di advertising da un altro dispositivo, può avviare una procedura di connessione se l'advertiser è connetibile.

Logical Link Control and Adaptation Protocol (L2CAP)

Il logical link control and adaptation protocol agisce come livello di multiplexing dei protocolli. Gestisce la frammentazione e la ricombinazione dei pacchetti tra i livelli sottostanti e sovrastanti.

Generic Access Profile (GAP)

Il Generic Access Profile riguarda la scoperta e la connessione dei dispositivi. In altre parole, GAP definisce le procedure per la trasmissione dei pacchetti di advertising e la loro ricezione tramite scansione.

Generic Attribute Profile (GATT)

Una volta stabilita una connessione tra due dispositivi BLE, GATT utilizza un modello client/server per scambiare dati tra i due dispositivi. Sia il client che il server utilizzano l'Attribute Protocol (ATT).

  • Server: il dispositivo che espone i dati accetta comandi ed emette risposte, notifiche o indicazioni.
  • Client: il dispositivo che richiede la lettura dei dati invia comandi, accetta risposte in arrivo, notifiche e indicazioni.

Security Manager (SM)

Lo SM supporta procedure relative alla sicurezza come pairing, bonding e distribuzione delle chiavi. Il pairing dei dispositivi è considerato il fondamento della sicurezza Bluetooth: una volta effettuato il pairing, i due dispositivi possono cifrare la propria comunicazione, autenticarsi a vicenda, ...

Procedura di pairing

Tra i diversi protocolli coinvolti nella comunicazione BLE, la CVE zero LTK installation si verifica durante la procedura di pairing, nella modalità Secure Connections.

Panoramica dei passaggi del pairing

Modalità di pairing

  • Legacy utilizza un semplice processo di scambio di dati segreti per derivare una chiave simmetrica con cui cifrare il collegamento durante la fase di distribuzione delle chiavi.
  • Secure Connections (SC) utilizza la crittografia a chiave pubblica a curve ellittiche per consentire la derivazione di una chiave simmetrica. Tale chiave viene utilizzata per cifrare il collegamento durante la fase di distribuzione delle chiavi.

La modalità di pairing Secure Connections è l'"approccio più sicuro" ed è stata sviluppata per risolvere le debolezze della modalità Legacy. Tuttavia, la CVE zero LTK installation ha scoperto che implementazioni errate del pairing SC consentono di aggirare la sicurezza.

Processo di pairing Secure Connections

Procedura di pairing Secure Connections

Fase 1 - Scambio di informazioni

Il dispositivo centrale invia una richiesta di pairing ed entrambi i dispositivi si scambiano le proprie capacità e i propri requisiti di sicurezza. Questa fase definisce la modalità di pairing.

Fase 2 - Generazione delle chiavi
  • Scambio di chiavi pubbliche: lo scambio di chiavi pubbliche viene avviato dal dispositivo centrale. Sia il periferico che il centrale verificano che la chiave ricevuta sia sulla curva P-256.

  • Calcolo della DHKey: ciascun dispositivo utilizza la propria chiave privata (SK) e la chiave pubblica dell'altro dispositivo (PK) per calcolare la propria chiave Diffie-Hellman (DHKey). In questo modo entrambi i dispositivi possiedono lo stesso valore di DHKey.

    root@kitploit:~
      Central: DHKey = p256(SKc, PKp)
      Peripheral: DHKey = p256(SKp, PKc)
      
    
  • Se è stata richiesta la protezione MITM, viene eseguita una procedura interattiva per confermare l'autenticità dei dispositivi in pairing.

  • Calcolo della Long Term Key (LTK) e conferma reciproca: i dispositivi si autenticano a vicenda e calcolano una chiave LTK. Dalla LTK viene derivata una chiave di sessione per cifrare il collegamento prima della Fase 3.

Fase 3 - Distribuzione delle chiavi

Attraverso il collegamento cifrato, i dispositivi possono distribuire le chiavi.

Proof-of-Concept

La causa principale di zero LTK installation è che non viene verificato lo stato in cui si trovano i due dispositivi nella procedura di pairing. Di conseguenza, un dispositivo centrale attaccante può saltare il passaggio di generazione delle chiavi e di autenticazione. Ciò comporta una chiave LTK impostata a 0 nel dispositivo periferico e, di conseguenza, una chiave di sessione facilmente derivabile.

L'exploit salta la fase 2 del pairing SC

⚠️ Questa è una Proof-of-Concept completamente teorica: non sono riuscito a ottenere una pcap delle procedure di discovery, advertisement o pairing BLE, né avevo un dispositivo BLE con implementazione SMP Telink.

Zero LTK installation

Riferimenti

  • 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
Scarica lo strumento