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
btlejuice — Framework Man-in-the-Middle per BLE che intercetta, riproduce e modifica il traffico GATT tra dispositivi Bluetooth Smart e app mobili tramite un proxy di intercettazione basato sul web. | Kitploit
Strumenti/GitHubGitHub/virtualabs/btlejuice
Sniffing e Analisi dei PacchettiSicurezza BluetoothSicurezza IoTStrumenti di ImpersonificazioneSicurezza WirelessPenetration TestingRed TeamingArchived
GitHubvirtualabs/btlejuice

btlejuice

Framework Man-in-the-Middle per BLE che intercetta, riproduce e modifica il traffico GATT tra dispositivi Bluetooth Smart e app mobili tramite un proxy di intercettazione basato sul web.

Vedi Repository
87 anni faNon ancora revisionato

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

BtleJuice Framework

===================

Introduzione

BtleJuice è un framework completo per eseguire attacchi Man-in-the-Middle su dispositivi Bluetooth Smart (noti anche come Bluetooth Low Energy). È composto da:

  • un core di intercettazione
  • un proxy di intercettazione
  • un'interfaccia web dedicata
  • binding Python e Node.js

Come installare BtleJuice?

Installare BtleJuice è un gioco da ragazzi. Prima di tutto, assicurati che il tuo sistema utilizzi una versione recente di Node.js (>=4.3.2) e npm. Quindi, assicurati di installare tutte le dipendenze richieste:

Ubuntu/Debian/Raspbian

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

Fedora / Altre distribuzioni basate su RPM

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

Infine, installa BtleJuice usando :

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

Se tutto è andato bene, BtleJuice è pronto all'uso!

Come usare BtleJuice?

BtleJuice è composto da due componenti principali: un proxy di intercettazione e un core. Questi due componenti devono essere eseguiti su macchine indipendenti per poter gestire simultaneamente due adattatori bluetooth 4.0+. Il proxy BtleJuice non funziona in un contenitore Docker.

L'uso di una macchina virtuale può aiutare a far funzionare questo framework su un singolo computer.

Dalla tua macchina virtuale, installa btlejuice e assicurati che il tuo adattatore USB BT4 sia disponibile dalla macchina virtuale:

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

Quindi, assicurati che la tua macchina virtuale abbia un indirizzo IP raggiungibile dall'host.

Avvia il proxy nella tua macchina virtuale:

root@kitploit:~
$ sudo btlejuice-proxy

Sulla tua macchina host, non dimenticare di fermare il servizio bluetooth e assicurati che il dispositivo HCI rimanga aperto/inizializzato:

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

Infine, esegui il seguente comando sulla tua macchina host:

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

Il flag -w dice a BtleJuice di avviare l'interfaccia web, mentre l'opzione -u specifica l'indirizzo IP del proxy.

L'interfaccia utente web è ora disponibile all'indirizzo http://localhost:8080. Nota che la porta del server web può essere modificata tramite riga di comando.

Uso dell'interfaccia web

L'interfaccia web di BtleJuice fornisce nell'angolo in alto a destra una serie di collegamenti per controllare il core di intercettazione, come mostrato di seguito.

Interfaccia web principale di BtleJuice

Selezione del target

Per prima cosa, fai clic sul pulsante Select target e apparirà una finestra di dialogo che mostra tutti i dispositivi Bluetooth Low Energy disponibili rilevati dal core di intercettazione:

Popup di selezione target di BtleJuice

Fai doppio clic sul target desiderato e attendi che l'interfaccia sia pronta (l'aspetto del pulsante bluetooth cambierà). Una volta che il dispositivo fittizio è pronto, usa l'applicazione mobile associata o un altro dispositivo (a seconda di ciò che ci si aspetta) per connetterti al dispositivo fittizio. Se la connessione riesce, un evento Connected verrà mostrato nell'interfaccia principale.

Popup di selezione target di BtleJuice

Tutte le operazioni GATT intercettate vengono quindi visualizzate con i corrispondenti UUID di servizi e caratteristiche e, naturalmente, con i dati associati. I dati vengono mostrati per impostazione predefinita nel formato HexII (una variante del formato progettato da Ange Albertini), ma puoi passare da HexII a Hex (e viceversa) facendo clic sui dati stessi. BtleJuice supporta sia il formato Hex che HexII.

Replay delle operazioni GATT

È possibile riprodurre qualsiasi operazione GATT facendo clic con il tasto destro su di essa e selezionando l'opzione Replay, come mostrato di seguito:

Popup di replay

Finestra di dialogo replay

Fai clic sul pulsante Write (o Read) per riprodurre la corrispondente operazione GATT. Questa operazione verrà registrata nell'interfaccia principale.

Modifica dei dati al volo

Ultimo ma non meno importante, l'interfaccia può intercettare localmente o globalmente qualsiasi operazione GATT e consentire la modifica dei dati al volo. Puoi utilizzare l'intercettazione globale facendo clic sul pulsante Intercept nell'angolo in alto a destra oppure usare il menu contestuale per abilitare o disabilitare un hook su un determinato servizio e caratteristica. Ogni volta che un'operazione GATT viene intercettata, verrà mostrata la seguente finestra di dialogo:

Finestra di dialogo di intercettazione

Esportazione dati su file

A partire dalla versione 1.0.6, l'interfaccia offre una funzionalità di esportazione dei dati che consente esportazioni leggibili e in JSON. Queste esportazioni vengono generate in base alle operazioni GATT intercettate, ma includono anche informazioni sul dispositivo target. Quando si fa clic sul pulsante Export, verrà mostrata la seguente finestra di dialogo:

Finestra di dialogo di esportazione

Fai clic sul pulsante Export in fondo alla finestra di dialogo per scaricare una versione JSON (o di testo) dei dati intercettati.

Impostazioni

La finestra delle impostazioni offre al momento una sola opzione che consente di riconnettere automaticamente il proxy quando il dispositivo target si disconnette. Ciò può essere utile quando si ha a che fare con dispositivi attivi per un breve periodo di tempo.

Finestra di dialogo delle impostazioni

Disconnessione

Facendo clic sul pulsante Select Target in alto a destra quando il proxy è attivo, lo si ferma e si consente nuovamente la selezione del target.

Installazione dei binding

I binding Node.js di BtleJuice possono essere installati anch'essi tramite npm:

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

Maggiori informazioni su come usare i binding Node.js sono disponibili nella documentazione del pacchetto.

Ringraziamenti

Un ringraziamento speciale a Slawomir Jasek, che ha segnalato molti trucchi noble/bleno per evitare problemi con le applicazioni mobili e ha condiviso strategie BLE MITM durante il DEF CON 24 =). È anche l'autore di Gattacker.

Licenza

Copyright (c) 2016 Econocom Digital Security

Con la presente viene concesso gratuitamente a chiunque ottenga una copia di questo software e dei relativi file di documentazione (il "Software"), il diritto di utilizzare il Software senza alcuna restrizione, inclusi, senza limitazione, i diritti di utilizzare, copiare, modificare, fondere, pubblicare, distribuire, concedere in sublicenza e/o vendere copie del Software, e di consentire alle persone a cui il Software è fornito di fare altrettanto, alle seguenti condizioni:

L'avviso di copyright sopra indicato e il presente avviso di autorizzazione devono essere inclusi in tutte le copie o parti sostanziali del Software.

IL SOFTWARE È FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, COMPRESE, SENZA LIMITAZIONE, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RICHIESTA, DANNO O ALTRA RESPONSABILITÀ, SIA IN UN'AZIONE DI CONTRATTO, ILLECITO O ALTRO, DERIVANTE DA, IN RELAZIONE A O IN CONNESSIONE CON IL SOFTWARE O DALL'USO O DA ALTRE OPERAZIONI DEL SOFTWARE.

Scarica lo strumento