
IEEE 802.15.4/ZigBee Security Research Toolkit
================
KillerBee ist ein Framework und Werkzeuge zum Testen und Auditing von ZigBee- und IEEE 802.15.4-Netzwerken
Hinweis
- Der Support für usb0.x wird eingestellt/entfernt
- Der Support für Apimote v1 wird eingestellt/entfernt
Wenn Sie diese Funktionen benötigen, erstellen Sie bitte ein Issue, um Ihren Anwendungsfall und Ihre Anforderungen zu erläutern.
KillerBee 3.0.0-beta Update
Hallo zusammen, vielen Dank für eure anhaltende Unterstützung und euer Interesse an KillerBee.
Da wir neue Anstrengungen unternehmen, um den Code zu bereinigen, auf Python 3 zu migrieren, Funktionen, Funktionalität und Konsistenz hinzuzufügen, nutzen wir diese Überarbeitung als Gelegenheit, die Ziele und Verwendungszwecke des Projekts und den besten Weg, diese zu erreichen, neu zu betrachten.
Diese Bemühungen werden zu einem großen Versionsupdate führen, da wir alte Funktionen und Abhängigkeiten entfernen und den Code umstrukturieren, um Funktionen zu organisieren und die Erweiterbarkeit zu ermöglichen.
Dies ist auch ein Versuch, die Bestandteile von KillerBee zu definieren, um klarere Grenzen um die Funktionen von KillerBee zu ziehen und es als Bibliothek zu behandeln. Siehe ARCHITECTURE.md für Details zu diesen und zukünftigen Zielen.
Verteilt unter einer BSD-Lizenz, siehe LICENSE.txt für Details. Alle Rechte vorbehalten.
Das Hauptwerkzeug wurde/wird verfasst von:
Wir danken den vielen Mitwirkenden am Framework, darunter die folgenden, die Fähigkeiten beigetragen haben:
KillerBee wird auf Linux-Systemen entwickelt und getestet. Die Verwendung unter MacOS ist möglich, wird aber nicht unterstützt.
Wir haben uns bemüht, eine minimale Anzahl von Softwareabhängigkeiten zu verwenden, dennoch ist es notwendig, vor der Installation die folgenden Python-Module zu installieren. Die Installation erkennt und fordert Sie auf, was benötigt wird.
Auf Ubuntu-Systemen können Sie die benötigten Abhängigkeiten mit den folgenden Befehlen installieren:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
Auf Mac OS können Sie die Abhängigkeiten mit den folgenden Befehlen installieren:
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Die Pakete python-dev und libgcrypt werden für den Scapy-Erweiterungs-Patch benötigt.
Beachten Sie auch, dass dies eine ziemlich fortgeschrittene und nicht benutzerfreundliche Angriffsplattform ist. Dies ist nicht Cain & Abel. Es ist für Entwickler und fortgeschrittene Analysten gedacht, die ZigBee- und IEEE 802.15.4-Netzwerke angreifen. Ich empfehle, sich ein Verständnis des ZigBee-Protokolls anzueignen (das Buch ZigBee Wireless Networks and Transceivers von Shahin Farahani ist brauchbar, wenn auch nicht großartig) und sich mit der Python-Sprache vertraut zu machen, bevor Sie sich in dieses Framework vertiefen.
KillerBee verwendet die standardmäßige Python-Installationsdatei 'setup.py', sobald die Abhängigkeiten installiert sind.
Installieren Sie KillerBee mit dem folgenden Befehl:
# python3 setup.py install
Die Verzeichnisstruktur des KillerBee-Codes wird wie folgt beschrieben:
Das KillerBee-Framework wird erweitert, um mehrere Geräte zu unterstützen. Derzeit wird Unterstützung für den River Loop ApiMote, den Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB Mote, Sewino Sniffer und verschiedene Hardware mit Silicon Labs Node Test Firmware bereitgestellt.
Siehe firmware/README.md für Details zur Hardwareunterstützung und Firmware-Programmierung.
Unterstützung für Freaklabs Freakduino mit zusätzlicher Hardware und das Dartmouth-Arduino-Sketch sowie Zigduino-Boards sind verfügbar, werden aber nicht aufgeführt, da sie nicht gewartet werden. Sie müssen diese in killerbee/config.py zur Suche aktivieren und dann KillerBee neu installieren.
KillerBee enthält mehrere Werkzeuge, die zum Angriff auf ZigBee- und IEEE 802.15.4-Netzwerke entwickelt wurden und auf dem KillerBee-Framework basieren. Jedes Werkzeug hat eigene Nutzungsanweisungen, die durch Ausführen des Werkzeugs mit dem Argument "-h" dokumentiert sind, und werden unten zusammengefasst.
sample/zigbee-network-key-ota.dcf kann zur Demonstration dieser Funktionalität verwendet werden.Zusätzliche Werkzeuge, die für Sonderfälle gedacht oder nicht stabil sind, sind im Api-Do-Projekt-Repository gespeichert: http://code.google.com/p/zigbee-security/ und unter https://github.com/riverloopsec/beekeeperwids.
KillerBee ist darauf ausgelegt, den Prozess des Sniffens von Paketen über die Luftschnittstelle oder aus einer unterstützten Paketerfassungsdatei (libpcap) sowie das Injizieren beliebiger Pakete zu vereinfachen. Hilfsfunktionen wie IEEE 802.15.4-, ZigBee-NWK- und ZigBee-APS-Paketdecoder sind ebenfalls verfügbar.
Die KillerBee-API ist im epydoc-Format dokumentiert, mit HTML-Dokumentation im doc/-Verzeichnis dieser Distribution. Wenn Sie epydoc installiert haben, können Sie auch ein praktisches PDF zum Drucken generieren, falls gewünscht, wie gezeigt:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
Das pdf/-Verzeichnis enthält eine Datei namens "api.pdf", die die Framework-Dokumentation enthält.
Um mit der Nutzung des KillerBee-Frameworks zu beginnen, werfen Sie einen Blick auf die enthaltenen Werkzeuge (zbdump und zbreplay sind gute Beispiele für den Einstieg).
Da KillerBee eine Python-Bibliothek ist, lässt es sich auch gut in andere Python-Software integrieren. Zum Beispiel ist die Sulley-Bibliothek ein Fuzzing-Framework, das von Pedram Amini in Python geschrieben wurde. Mit den Mutationsfunktionen von Sulley und den Paketinjektionsfunktionen von KillerBee lässt sich unkompliziert ein Mechanismus zum Erzeugen und Senden fehlerhafter ZigBee-Daten an ein Ziel aufbauen.
Bitte verwenden Sie das Ticketsystem unter https://github.com/riverloopsec/killerbee/issues.
Die Originalversion wurde geschrieben von: [email protected]. Die aktuelle Version, Fehlerbehebungen usw. werden bearbeitet von: [email protected]. (Siehe die Liste oben für alle Mitwirkenden/Anmerkungen.)
Für Mitwirkende/Entwickler siehe DEVELOPMENT.md für Details und Anleitung.
DISPLAY-Variable richtig gesetzt ist.