
Kit di strumenti per la ricerca sulla sicurezza IEEE 802.15.4/ZigBee
KillerBee è un framework e strumenti per testare e auditare reti ZigBee e IEEE 802.15.4
Avviso
- Il supporto per usb0.x è stato deprecato/rimosso
- Il supporto per Apimote v1 è stato deprecato/rimosso
Se hai bisogno di queste funzionalità, per favore crea un issue per spiegare il tuo caso d'uso e i requisiti.
Aggiornamento KillerBee 3.0.0-beta
Ciao a tutti, grazie per il vostro continuo supporto e interesse in KillerBee.
Mentre stiamo dedicando nuovi sforzi per ripulire il codice, migrare a Python 3, aggiungere funzionalità, caratteristiche e coerenza, stiamo usando questa revisione come opportunità per rivedere gli obiettivi e gli utilizzi del progetto e il modo migliore per raggiungerli.
Questo sforzo comporterà un aggiornamento della versione principale mentre deprechiamo vecchie funzioni e dipendenze e ristrutturiamo il codice per aiutare a organizzare le funzionalità e permettere di estendere le capacità.
Questo è anche un tentativo di definire i pezzi che compongono KillerBee, con l'obiettivo di tracciare linee più distinte attorno alle funzionalità di KillerBee e trattandolo come una libreria. Vedi ARCHITECTURE.md per dettagli su questo e sugli obiettivi futuri.
Distribuito sotto licenza BSD, vedi LICENSE.txt per i dettagli. Tutti i diritti riservati.
Il toolkit principale è stato/è stato creato da:
Apprezziamo i molti contributori al framework, inclusi i seguenti che hanno contribuito con funzionalità:
KillerBee è sviluppato e testato su sistemi Linux. L'uso su MacOS è possibile ma non supportato.
Abbiamo cercato di utilizzare un numero minimo di dipendenze software, tuttavia è necessario installare i seguenti moduli Python prima dell'installazione. L'installazione rileverà e ti chiederà cosa è necessario.
Su sistemi Ubuntu, puoi installare le dipendenze necessarie con i seguenti comandi:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
Su Mac OS, puoi installare le dipendenze con i seguenti comandi
# brew install libusb libgcrypt
# pip3 install pyusb scapy
python-dev e libgcrypt sono necessari per il Patch di Estensione Scapy.
Nota anche che questa è una piattaforma di attacco abbastanza avanzata e non amichevole. Questo non è Cain & Abel. È destinata a sviluppatori e analisti avanzati che attaccano reti ZigBee e IEEE 802.15.4. Ti consiglio di acquisire una certa comprensione del protocollo ZigBee (il libro ZigBee Wireless Networks and Transceivers di Shahin Farahani è ragionevole, anche se non eccezionale) e familiarità con il linguaggio Python prima di addentrarti in questo framework.
KillerBee utilizza il file di installazione standard Python 'setup.py', una volta installate le dipendenze.
Installa KillerBee con il seguente comando:
# python3 setup.py install
La struttura delle directory per il codice KillerBee è descritta come segue:
Il framework KillerBee è in fase di espansione per supportare più dispositivi. Attualmente c'è supporto per River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer e vari hardware che eseguono il firmware Silicon Labs Node Test.
Vedi firmware/README.md per dettagli sul supporto hardware e la programmazione del firmware.
Il supporto per Freaklab's Freakduino con hardware aggiuntivo e lo sketch Dartmouth arduino e le schede Zigduino sono disponibili ma non sono elencati poiché non sono mantenuti. Devi abilitarli nella ricerca in killerbee/config.py e poi reinstallare KillerBee.
KillerBee include diversi strumenti progettati per attaccare reti ZigBee e IEEE 802.15.4, costruiti utilizzando il framework KillerBee. Ogni strumento ha le proprie istruzioni d'uso documentate eseguendo lo strumento con l'argomento "-h", e riassunte di seguito.
sample/zigbee-network-key-ota.dcf può essere utilizzata per dimostrare questa funzionalità.Strumenti aggiuntivi, che sono per casi speciali o non sono stabili, sono memorizzati nel repository del progetto Api-Do: http://code.google.com/p/zigbee-security/ e su https://github.com/riverloopsec/beekeeperwids.
KillerBee è progettato per semplificare il processo di sniffing dei pacchetti dall'interfaccia aerea o da un file di cattura pacchetti supportato (libpcap), e per iniettare pacchetti arbitrari. Sono disponibili anche funzioni helper tra cui decodificatori di pacchetti IEEE 802.15.4, ZigBee NWK e ZigBee APS.
L'API di KillerBee è documentata in formato epydoc, con documentazione HTML nella directory doc/ di questa distribuzione. Se hai epydoc installato, puoi anche generare un comodo PDF per la stampa, se desiderato, come mostrato:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
Quindi la directory pdf/ avrà un file chiamato "api.pdf" che include la documentazione del framework.
Per iniziare a utilizzare il framework KillerBee, dai un'occhiata agli strumenti inclusi (zbdump e zbreplay sono buoni esempi per iniziare).
Poiché KillerBee è una libreria Python, si integra bene anche con altri software Python. Ad esempio, la libreria Sulley è un framework di fuzzing scritto in Python da Pedram Amini. Utilizzando le funzionalità di mutazione di Sulley e le funzionalità di iniezione di pacchetti di KillerBee, è semplice costruire un meccanismo per generare e trasmettere dati ZigBee malformati a un target.
Per favore usa il sistema di ticketing su https://github.com/riverloopsec/killerbee/issues.
La versione originale è stata scritta da: [email protected]. La versione corrente, le correzioni, ecc. sono gestite da: [email protected]. (Vedi l'elenco sopra per tutti i contributori/crediti.)
Per contributori/sviluppatori, vedi DEVELOPMENT.md per dettagli e indicazioni.
DISPLAY sia impostata correttamente.