Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
writeup-cve-2019-19194 — Ein Writeup und ein theoretischer Proof-of-Concept für CVE-2019-19194 | Kitploit
Tools/GitHubGitHub/louisabricot/writeup-cve-2019-19194
Embedded-System-SicherheitBluetooth-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationDrahtlose Sicherheit
GitHublouisabricot/writeup-cve-2019-19194

writeup-cve-2019-19194

Ein Writeup und ein theoretischer Proof-of-Concept für CVE-2019-19194

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
1vor 3 JahrenNoch nicht geprüft

Writeup CVE-2019-19194

Dies ist ein Writeup und ein theoretischer Proof-of-Concept der CVE-2019-19194.

⚠️ Diese CVE wurde gefunden von https://asset-group.github.io/disclosures/sweyntooth/

Inhaltsverzeichnis

  • Zusammenfassung

  • Gefährdete Software und Version

  • Übersicht

    • Protokollstack und Architektur
    • Pairing-Verfahren
  • Proof of Concept

  • Referenzen

Zusammenfassung

Dieser Bericht beschreibt, wie die Zero LTK Initialisation-Schwachstelle (CVE-2019-19194) es einem Angreifer ermöglicht, die volle Kommunikationskontrolle über eine Bluetooth Low Energy (BLE)-Anwendung zu erlangen, indem das Secure Connections-Pairing-Verfahren umgangen wird.

Gefährdete Software und Version

Diese Schwachstelle betrifft Produkte, die Telink-SMP-Implementierungen verwenden, die das Secure Connections-Pairing-Verfahren unterstützen.

Übersicht

BLE ist ein stromsparendes, kurzreichweitiges Funkkommunikationssystem. Es besteht aus einem Satz standardisierter Protokolle, die eine Fernverbindung und Sicherheit zwischen zwei Geräten bieten.

Protokollstack und Architektur

Der BLE-Stack ist auf zwei Architekturblöcke verteilt: Host und Controller.

Die Verteilung des Stacks ermöglicht die Implementierung jedes Blocks in physisch getrennten Komponenten.

Eine standardisierte logische Schnittstelle namens Host Controller Interface (HCI) ermöglicht die Kommunikation zwischen den beiden Blöcken.

Über dem Host-Block befindet sich die BLE-Anwendung.

Bluetooth Low Energy protocol stack and architecture

Physical Layer (PHY)

Die Bitübertragungsschicht arbeitet im Industrial, Scientific and Medical (ISM)-Funkband im 2,4-GHz-Spektrum. Sie verwendet 40 Kanäle: 3 Advertising-Kanäle und 37 Daten-Kanäle.

Link Layer (LL)

Die Sicherungsschicht (LL) hat viele Aufgaben, die hier nicht beschrieben werden. Sie wird durch eine Zustandsmaschine gesteuert, die wichtige Rollen und Zustände definiert:

  • Ein Advertising-Gerät sendet Werbepakete über Advertising-Kanäle. Beim Werben teilt ein Gerät mit, ob es connectable (verbindbar) ist oder nicht.
  • Ein Scanner-Gerät hört auf Werbepakete von anderen Geräten.
  • Sobald ein Scanner Werbepakete von einem anderen Gerät empfangen hat, kann es einen Verbindungsaufbau einleiten, wenn der Werbende connectable ist.

Logical Link Control and Adaptation Protocol (L2CAP)

Das Logical Link Control and Adaptation Protocol fungiert als Protokollmultiplexing-Schicht. Es behandelt Fragmentierung und Rekombination von Paketen zwischen den darunter- und darüberliegenden Schichten.

Generic Access Profile (GAP)

Das Generic Access Profile betrifft die Geräteentdeckung und Verbindung. Mit anderen Worten: GAP definiert Verfahren für das Senden von Werbepaketen und deren Empfang durch Scannen.

Generic Attribute Profile (GATT)

Sobald eine Verbindung zwischen zwei BLE-Geräten hergestellt wurde, verwendet GATT ein Client/Server-Modell zum Datenaustausch zwischen den beiden Geräten. Und sowohl Client als auch Server verwenden das Attribute Protocol (ATT).

  • Server: Das Gerät, das Daten bereitstellt, akzeptiert Befehle und sendet Antworten, Benachrichtigungen oder Hinweise.
  • Client: Das Gerät, das das Lesen von Daten anfordert, sendet Befehle und empfängt eingehende Antworten, Benachrichtigungen und Hinweise.

Security Manager (SM)

Der SM unterstützt sicherheitsrelevante Verfahren wie Pairing, Bonding und Schlüsselverteilung. Das Pairing von Geräten gilt als Grundlage der Bluetooth-Sicherheit: Nach dem Pairing können die beiden Geräte ihre Kommunikation verschlüsseln, sich gegenseitig authentifizieren, ...

Pairing-Verfahren

Unter den verschiedenen an der BLE-Kommunikation beteiligten Protokollen tritt die Zero LTK Installation-CVE während des Pairing-Verfahrens im Secure Connections-Modus auf.

Overview pairing steps

Pairing-Modi

  • Legacy verwendet einen einfachen Prozess des Austauschs geheimer Daten, um einen symmetrischen Schlüssel abzuleiten, mit dem die Verbindung während der Schlüsselverteilungsphase verschlüsselt wird.
  • Secure Connections (SC) verwendet elliptische Kurven-Kryptografie mit öffentlichen Schlüsseln, um einen symmetrischen Schlüssel abzuleiten. Dieser Schlüssel wird verwendet, um die Verbindung während der Schlüsselverteilungsphase zu verschlüsseln.

Der Secure Connections-Pairing-Modus ist der "sicherere Ansatz" und wurde entwickelt, um die Schwächen des Legacy-Modus zu beheben. Allerdings hat die Zero LTK Installation-CVE gezeigt, dass schlechte Implementierungen des SC-Pairings es ermöglichen, die Sicherheit zu umgehen.

Secure Connections-Pairing-Prozess

Secure Connections pairing procedure

Phase 1 – Informationsaustausch

Das zentrale Gerät sendet eine Pairing-Anfrage und beide Geräte tauschen ihre Sicherheitsfähigkeiten und -anforderungen aus. Diese Phase definiert den Pairing-Modus.

Phase 2 – Schlüsselerzeugung
  • Öffentlicher Schlüsselaustausch: Ein Austausch öffentlicher Schlüssel wird vom zentralen Gerät initiiert. Sowohl Peripherie als auch Zentrale überprüfen, ob der empfangene Schlüssel auf der P-256-Kurve liegt.

  • Berechnung des DHKey: Jedes Gerät verwendet seinen eigenen privaten Schlüssel (SK) und den öffentlichen Schlüssel des anderen Geräts (PK), um seinen Diffie-Hellman-Schlüssel (DHKey) zu berechnen. Auf diese Weise besitzen beide Geräte denselben DHKey-Wert.

    root@kitploit:~
      Central: DHKey = p256(SKc, PKp)
      Peripheral: DHKey = p256(SKp, PKc)
    
  • Falls MITM-Schutz angefordert wurde, findet ein interaktives Verfahren statt, um die Authentizität der Pairing-Geräte zu bestätigen.

  • Berechnung des Long Term Key (LTK) und gegenseitige Bestätigung: Die Geräte authentifizieren sich gegenseitig und berechnen einen LTK-Schlüssel. Aus dem LTK wird ein Sitzungsschlüssel abgeleitet, um die Verbindung vor Phase 3 zu verschlüsseln.

Phase 3 – Schlüsselverteilung

Über die verschlüsselte Verbindung können die Geräte Schlüssel verteilen.

Proof-of-Concept

Die Grundursache der Zero LTK Installation ist, dass der Zustand, in dem sich die beiden Geräte während des Pairing-Verfahrens befinden, nicht überprüft wird. Dadurch kann ein angreifendes zentrales Gerät den Schritt der Schlüsselerzeugung und Authentifizierung überspringen. Dies führt dazu, dass ein LTK-Schlüssel im Peripheriegerät auf 0 gesetzt wird, und somit zu einem leicht ableitbaren Sitzungsschlüssel.

Exploit skips phase 2 of SC pairing

⚠️ Dies ist ein vollständig theoretischer Proof-of-Concept, da ich keinen Mitschritt (pcap) von BLE-Erkennung, Werbung oder Pairing-Verfahren erhalten konnte und auch kein BLE-Gerät mit Telink-SMP-Implementierung besaß.

Zero LTK installation

Referenzen

  • 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
Tool herunterladen