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
btlejuice — BLE-Man-in-the-Middle-Framework, das GATT-Datenverkehr zwischen Bluetooth-Smart-Geräten und mobilen Apps über einen webbasierten Abfang-Proxy abfängt, wiedergibt und modifiziert. | Kitploit
Tools/GitHubGitHub/virtualabs/btlejuice
Paket-Sniffing & AnalyseBluetooth-SicherheitIoT-SicherheitImpersonations-ToolsDrahtlose SicherheitPenetrationstestsRed TeamingArchived
GitHubvirtualabs/btlejuice

btlejuice

BLE-Man-in-the-Middle-Framework, das GATT-Datenverkehr zwischen Bluetooth-Smart-Geräten und mobilen Apps über einen webbasierten Abfang-Proxy abfängt, wiedergibt und modifiziert.

Repository anzeigen
8vor 7 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BtleJuice Framework

Einführung

BtleJuice ist ein vollständiges Framework zur Durchführung von Man-in-the-Middle-Angriffen auf Bluetooth-Smart-Geräte (auch bekannt als Bluetooth Low Energy). Es besteht aus:

  • einem Interception-Core
  • einem Interception-Proxy
  • einer dedizierten Weboberfläche
  • Python- und Node.js-Bindings

Wie installiere ich BtleJuice?

BtleJuice zu installieren ist kinderleicht. Stellen Sie zunächst sicher, dass Ihr System eine aktuelle Version von Node.js (>=4.3.2) und npm verwendet. Stellen Sie dann sicher, dass alle erforderlichen Abhängigkeiten installiert sind:

Ubuntu/Debian/Raspbian

root@kitploit:~
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

Fedora / Andere auf RPM basierende Systeme

root@kitploit:~
sudo yum install bluez bluez-libs bluez-libs-devel npm

Installieren Sie BtleJuice zuletzt mit :

npm
root@kitploit:~
sudo npm install -g btlejuice

Wenn alles gut gegangen ist, ist BtleJuice bereit zur Verwendung!

Wie verwende ich BtleJuice?

BtleJuice besteht aus zwei Hauptkomponenten: einem Interception-Proxy und einem Core. Diese beiden Komponenten müssen auf unabhängigen Maschinen laufen, um gleichzeitig zwei Bluetooth-4.0+-Adapter betreiben zu können. BtleJuice Proxy funktioniert nicht in einem Docker-Container.

Die Verwendung einer virtuellen Maschine kann helfen, dieses Framework auf einem einzelnen Computer zum Laufen zu bringen.

Installieren Sie btlejuice auf Ihrer virtuellen Maschine und stellen Sie sicher, dass Ihr USB-BT4-Adapter von der virtuellen Maschine aus verfügbar ist:

root@kitploit:~
$ sudo hciconfig
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 10:02:B5:18:07:AD  ACL MTU: 1021:5  SCO MTU: 96:6
	DOWN
	RX bytes:1433 acl:0 sco:0 events:171 errors:0
	TX bytes:30206 acl:0 sco:0 commands:170 errors:0
$ sudo hciconfig hci0 up

Stellen Sie dann sicher, dass Ihre virtuelle Maschine eine vom Host aus erreichbare IP-Adresse hat.

Starten Sie den Proxy in Ihrer virtuellen Maschine:

root@kitploit:~
$ sudo btlejuice-proxy

Vergessen Sie auf Ihrem Host-Rechner nicht, den Bluetooth-Dienst zu stoppen und sicherzustellen, dass das HCI-Gerät geöffnet/initialisiert bleibt:

root@kitploit:~
$ sudo service bluetooth stop
$ sudo hciconfig hci0 up

Führen Sie schließlich den folgenden Befehl auf Ihrem Host-Rechner aus:

root@kitploit:~
$ sudo btlejuice -u <Proxy-IP-Adresse> -w

Das -w-Flag teilt BtleJuice mit, die Weboberfläche zu starten, während die -u-Option die IP-Adresse des Proxys angibt.

Die Webbenutzeroberfläche ist nun unter http://localhost:8080 verfügbar. Beachten Sie, dass der Port des Webservers über die Befehlszeile geändert werden kann.

Verwendung der Weboberfläche

Die Weboberfläche von BtleJuice bietet in der oberen rechten Ecke eine Reihe von Links zur Steuerung des Interception-Cores, wie unten gezeigt.

BtleJuice main web UI

Zielauswahl

Klicken Sie zunächst auf die Schaltfläche Select target. Daraufhin wird ein Dialog angezeigt, der alle verfügbaren Bluetooth-Low-Energy-Geräte auflistet, die vom Interception-Core erkannt wurden:

BtleJuice Target Selection Popup

Doppelklicken Sie auf das gewünschte Ziel und warten Sie, bis die Oberfläche bereit ist (das Erscheinungsbild der Bluetooth-Schaltfläche ändert sich). Sobald das Dummy-Gerät bereit ist, verwenden Sie die zugehörige mobile Anwendung oder ein anderes Gerät (je nachdem, was erwartet wird), um eine Verbindung zum Dummy-Gerät herzustellen. Wenn die Verbindung erfolgreich ist, wird ein Connected-Ereignis auf der Hauptoberfläche angezeigt.

BtleJuice Target Selection Popup

Alle abgefangenen GATT-Operationen werden dann mit den entsprechenden Service- und Characteristic-UUIDs sowie natürlich den zugehörigen Daten angezeigt. Die Daten werden standardmäßig im HexII-Format angezeigt (einer Variante des von Ange Albertini entworfenen Formats). Sie können jedoch von HexII zu Hex (und zurück) wechseln, indem Sie auf die Daten selbst klicken. Sowohl das Hex- als auch das HexII-Format werden von BtleJuice unterstützt.

GATT-Operationen wiedergeben

Es ist möglich, jede GATT-Operation wiederzugeben, indem Sie mit der rechten Maustaste darauf klicken und dann die Option Replay auswählen, wie unten gezeigt:

Replay Popup

Replay dialog

Klicken Sie auf die Schaltfläche Write (oder Read), um die entsprechende GATT-Operation wiederzugeben. Dieser Vorgang wird in der Hauptoberfläche protokolliert.

Datenänderung in Echtzeit

Nicht zuletzt kann die Oberfläche jede GATT-Operation lokal oder global abfangen und eine Datenänderung in Echtzeit ermöglichen. Sie können entweder die globale Abfangfunktion verwenden, indem Sie auf die Schaltfläche Intercept in der oberen rechten Ecke klicken, oder das Kontextmenü verwenden, um einen Hook für einen bestimmten Service und eine bestimmte Characteristic zu aktivieren oder zu deaktivieren. Jedes Mal, wenn eine GATT-Operation abgefangen wird, erscheint der folgende Dialog:

Interceptr dialog

Daten in eine Datei exportieren

Seit Version 1.0.6 bietet die Oberfläche eine Datenexportfunktion, die lesbare und JSON-Exporte ermöglicht. Diese Exporte werden auf der Grundlage der abgefangenen GATT-Operationen erzeugt, enthalten aber auch Informationen über das Zielgerät. Wenn die Schaltfläche Export angeklickt wird, erscheint der folgende Dialog:

Export dialog

Klicken Sie auf die Schaltfläche Export am unteren Rand des Dialogfelds, um eine JSON- (oder Text-)Version der abgefangenen Daten herunterzuladen.

Einstellungen

Der Einstellungsdialog bietet derzeit eine einzige Option, mit der der Proxy automatisch neu verbunden werden kann, wenn sich das Zielgerät trennt. Dies kann nützlich sein, wenn Sie es mit Geräten zu tun haben, die nur für kurze Zeit aktiv sind.

Settings dialog

Trennung

Wenn Sie auf die Schaltfläche Select Target oben rechts klicken, während der Proxy aktiv ist, wird dieser gestoppt und die Zielauswahl wieder ermöglicht.

Installation der Bindings

Die Node.js-Bindings von BtleJuice können ebenfalls über npm installiert werden:

root@kitploit:~
$ sudo npm install -g btlejuice-bindings

Weitere Informationen zur Verwendung der Node.js-Bindings finden Sie in der Paketdokumentation.

Danksagungen

Ein besonderer Dank geht an Slawomir Jasek, der viele noble/bleno-Tricks aufgezeigt hat, um Probleme mit mobilen Anwendungen zu vermeiden, und während der DEF CON 24 BLE-MITM-Strategien geteilt hat =). Er ist auch der Autor von Gattacker.

Lizenz

Copyright (c) 2016 Econocom Digital Security

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Beschränkung der Rechte zur Verwendung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "OHNE MÄNGELGEWÄHR" BEREITGESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER IMPLIZITE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR ANSPRÜCHE, SCHÄDEN ODER SONSTIGE HAFTUNG VERANTWORTLICH, SEI ES AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE SICH AUS DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ERGEBEN.

Tool herunterladen