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
BLESuite — BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device | Kitploit
Strumenti/GitHubGitHub/nccgroup/blesuite
Packet Sniffing & AnalysisBluetooth SecurityVulnerability AnalysisInformation GatheringFuzzingWireless SecurityPenetration TestingHardware & IoT Security
GitHubnccgroup/blesuite

BLESuite

BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device

Vedi Repository
191435 anni faRevisionato da Kitploit

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

BLESuite README

Panoramica

BLESuite è un pacchetto Python per rendere la comunicazione con dispositivi Bluetooth Low Energy (BLE) più user-friendly e consente test rapidi dei dispositivi BLE. La versione 2 di BLESuite rimuove la dipendenza da PyGattlib e BlueZ e utilizza invece una versione modificata di PyBT (https://github.com/mikeryan/PyBT) per implementare e gestire la propria pila BLE. Questa versione aumenta l'affidabilità della comunicazione, incrementa la flessibilità di comunicazione, migliora la scansione dei dispositivi e consente il fuzzing dei dispositivi ai livelli host della pila Bluetooth. La pila utilizzata da BLESuite consente intenzionalmente l'invio di richieste/risposte malformate ai dispositivi al fine di consentire il test dei dispositivi.

Caratteristiche:

  • Include 2 strumenti CLI per facilitare le operazioni BLE di base di BLESuite: blesuite e ble-replay
  • Supporto per i ruoli BLE Central e Peripheral
  • Supporta più dispositivi HCI (come un adattatore Bluetooth USB)
  • Con un dispositivo HCI utilizzato per il ruolo central, supporto per numerose connessioni simultanee a periferiche (limitate dal numero massimo di connessioni del controller HCI)
  • Scansione dei dispositivi BLE
  • Scansione dei dispositivi BLE per tutte le entità GATT
  • Inviare rapidamente e facilmente richieste ATT a un dispositivo periferico peer
  • Costruire e inviare pacchetti L2CAP e ATT accuratamente costruiti (o intenzionalmente malformati) a dispositivi target
  • Supporta l'associazione LE Legacy JustWorks. Ulteriori metodi di associazione saranno disponibili in una versione successiva
  • Avviare rapidamente un server GATT utilizzando una definizione astratta di oggetti e numerose funzioni helper
  • Supporto per l'importazione e l'esportazione del server GATT
  • Supporto per l'importazione e l'esportazione del database delle chiavi a lungo termine (LTK) del Security Manager
  • Opzionalmente, installare una versione dell'utilità BDADDR di BlueZ compatibile con l'API Python (https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/bdaddr.c) che consente a un utente di falsificare l'BD_ADDR dell'adattatore Bluetooth del proprio host (supporta solo alcuni chipset. Questa è una versione modificata del bdaddr.c di BlueZ)

Nota per il lettore:

Per accedere alla funzionalità Bluetooth Low Energy, è necessario disporre di un adattatore Bluetooth che la supporti.

Perché BLESuite?

L'obiettivo di BLESuite è fornire un metodo semplificato per scrivere rapidamente script di comunicazione con dispositivi BLE target per valutazioni di sicurezza. Grazie al passaggio da PyGattlib e BlueZ a PyBT, ora abbiamo più controllo sulla pila BLE e possiamo usarla per testare vari livelli della pila BLE di un dispositivo target.

Inoltre, BLESuite non è più limitato al solo ruolo Central. BLESuite ora supporta il ruolo Peripheral e consente agli utenti di configurare e avviare rapidamente un server GATT utilizzabile per testare dispositivi BLE con ruolo Central (o dispositivi a doppio ruolo).

Installazione

Le seguenti sono istruzioni per l'installazione del pacchetto Python BLESuite.

Prerequisiti

Sistemi operativi supportati:

BLESuite è stato sviluppato e testato su Debian 9.3. La libreria può essere supportata da altre distribuzioni Linux, tuttavia il supporto non è attualmente garantito.

Nota: I recenti tentativi di utilizzare BLESuite con Fedora 28 hanno avuto successo installando i seguenti elementi:

  • dnf install bluez-libs-devel python2-devel python2-sphinx python2-gevent
  • seguire il resto delle istruzioni di installazione per installare la versione fornita di Scapy e BLESuite

Con Fedora 28, è stato segnalato un problema non ripetibile con BLESuite relativo a un TypeError che non è presente nelle installazioni Debian 9.3 quando si tenta di gestire una richiesta ATT in arrivo.

Contributi per la correzione benvenuti!

Software richiesto

I seguenti sono i requisiti per utilizzare BLESuite:

  • libbluetooth-dev
  • libpython-dev
  • python-sphinx
  • gevent (https://pypi.org/project/gevent/)
  • Scapy (https://github.com/secdev/scapy/) (DEVE ESSERE INSTALLATO PER ORA DALLA COPIA IN QUESTO REPOSITORY)
    • Questa versione di Scapy include diverse modifiche al livello bluetooth.py che supporta diversi nuovi tipi di pacchetto e chiude correttamente BluetoothUserSocket. Queste modifiche non sono attualmente disponibili nella versione principale di Scapy.
  • pycrypto (https://pypi.org/project/pycrypto/)
  • pyshark (https://github.com/KimiNewt/pyshark/)
  • prettytable (https://pypi.org/project/PrettyTable/)
  • sphinx_rtd_theme (https://pypi.org/project/sphinx_rtd_theme/) - Per la compilazione della documentazione

Dopo aver installato libbluetooth-dev, libpython-dev e python-sphinx, eseguire quanto segue per installare le rimanenti dipendenze Python:

root@kitploit:~
pip install -r requirements.txt

Documentazione

Dalla cartella docs, eseguire:

root@kitploit:~
make html

Quindi in docs/_build/html sarà disponibile un set completo di documentazione e guide di riferimento.

Installare tutto

Eseguire il seguente comando per installare il pacchetto Python:

root@kitploit:~
python setup.py install

Se non si desidera installare l'API Python BDADDR o si riscontrano problemi nell'installazione, commentare la seguente riga in setup.py e rieseguire il comando precedente:

root@kitploit:~
ext_modules = [c_ext],

Piani futuri

Supporto completo per l'associazione (pairing)

Attualmente, BLESuite supporta solo l'associazione LE Legacy JustWorks. Il Security Manager è stato per lo più delineato, ma la programmazione crittografica rimanente per LESC e i modelli di associazione alternativi devono ancora essere implementati.

Supporto per la scrittura firmata (Signed Write)

L'operazione di scrittura firmata (signed write) ATT non è attualmente supportata da BLESuite. Non è un'operazione comunemente usata, tuttavia per supportare la modalità di sicurezza 2 dovrebbe essere supportata.

Ulteriore supporto per gli indirizzi privati

BLESuite attualmente supporta solo indirizzi Public e Random (statici). Tuttavia, gli indirizzi Random possono essere di due sottotipi: Static o Private. Un indirizzo Random Private può anche essere suddiviso in due sottotipi non attualmente supportati da BLESuite: indirizzo Private non risolvibile e indirizzo Private risolvibile (risolto utilizzando l'IRK scambiata durante l'associazione).

Di conseguenza, la funzionalità per impostare questi tipi di indirizzi sull'adattatore host non è attualmente esposta da BLESuite. Inoltre, la capacità di risolvere indirizzi Random risolvibili di un peer basata su un'IRK scambiata non è ancora implementata.

Strumenti aggiuntivi realizzati con BLESuite

Con la libreria creata, il passo successivo è costruire strumenti di valutazione della sicurezza che utilizzino questa libreria.

Un esempio di questo tipo che abbiamo incluso con questa libreria è ble-replay, che può ricevere una cattura di pacchetti BLE e riprodurre il traffico GATT verso un dispositivo target. ble-replay può aiutare rapidamente a identificare difetti di sicurezza a livello applicativo legati agli attacchi di replay.

Questi tipi di strumenti riducono il tempo speso ad analizzare manualmente le catture di pacchetti e a scrivere manualmente script per i casi di test di comunicazione BLE.

Scarica lo strumento