
IEEE 802.15.4/ZigBee Kit de recherche en sécurité
KillerBee est un Framework et des Outils pour Tester et Auditer les Réseaux ZigBee et IEEE 802.15.4
Notice
- Le support d'usb0.x est déprécié/supprimé
- Le support d'Apimote v1 est déprécié/supprimé
Si vous avez besoin de ces fonctionnalités, veuillez créer un ticket pour expliquer votre cas d'utilisation et vos besoins.
Mise à jour KillerBee 3.0.0-beta
Bonjour à tous, merci pour votre soutien continu et votre intérêt pour KillerBee.
Alors que nous mettons de nouveaux efforts dans le nettoyage du code, la migration vers Python 3, l'ajout de fonctionnalités, de capacités et de cohérence, nous profitons de cette refonte pour revoir les objectifs et les utilisations du projet et la meilleure façon de les atteindre.
Cet effort se traduira par une mise à jour majeure de version alors que nous déprécions les anciennes fonctions et dépendances et restructurons le code pour aider à organiser les fonctionnalités et permettre leur extension.
C'est aussi une tentative de définir les éléments qui composent KillerBee, visant à tracer des lignes plus distinctes autour des fonctionnalités de KillerBee et à le traiter comme une bibliothèque. Voir ARCHITECTURE.md pour les détails sur ce sujet et les objectifs futurs.
Distribué sous licence BSD, voir LICENSE.txt pour les détails. Tous droits réservés.
La boîte à outils principale a été/est créée par :
Nous apprécions les nombreux contributeurs du framework, y compris les suivants qui ont apporté des capacités :
KillerBee est développé et testé sur des systèmes Linux. L'utilisation sur MacOS est possible mais non supportée.
Nous nous sommes efforcés d'utiliser un minimum de dépendances logicielles, cependant, il est nécessaire d'installer les modules Python suivants avant l'installation. L'installation détectera et vous demandera ce qui est nécessaire.
Sur les systèmes Ubuntu, vous pouvez installer les dépendances nécessaires avec les commandes suivantes :
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
Sur Mac OS, vous pouvez installer les dépendances avec les commandes suivantes :
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Les paquets python-dev et libgcrypt sont requis pour le correctif d'extension Scapy.
Notez également qu'il s'agit d'une plateforme d'attaque assez avancée et peu conviviale. Ce n'est pas Cain & Abel. Elle est destinée aux développeurs et analystes avancés qui attaquent les réseaux ZigBee et IEEE 802.15.4. Je recommande d'acquérir une certaine compréhension du protocole ZigBee (le livre ZigBee Wireless Networks and Transceivers by Shahin Farahani est raisonnable, bien que pas excellent) et une familiarité avec le langage Python avant de plonger dans ce framework.
KillerBee utilise le fichier d'installation standard Python 'setup.py', une fois les dépendances installées.
Installez KillerBee avec la commande suivante :
# python3 setup.py install
La structure des répertoires du code KillerBee est décrite comme suit :
Le framework KillerBee est en cours d'extension pour prendre en charge plusieurs périphériques. Actuellement, il prend en charge River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer, et divers matériels exécutant le firmware Silicon Labs Node Test.
Voir firmware/README.md pour les détails sur le support matériel et la programmation du firmware.
Le support du Freakduino de Freaklab avec matériel ajouté et du sketch arduino de Dartmouth
ainsi que des cartes Zigduino est disponible mais n'est pas listé car non maintenu.
Vous devez les activer pour qu'ils soient recherchés dans killerbee/config.py puis réinstaller KillerBee.
KillerBee inclut plusieurs outils conçus pour attaquer les réseaux ZigBee et IEEE 802.15.4, construits à l'aide du framework KillerBee. Chaque outil a ses propres instructions d'utilisation documentées en exécutant l'outil avec l'argument "-h", et résumées ci-dessous.
Des outils supplémentaires, destinés à des cas particuliers ou instables, sont stockés dans le dépôt du projet Api-Do : http://code.google.com/p/zigbee-security/ et sur https://github.com/riverloopsec/beekeeperwids.
KillerBee est conçu pour simplifier le processus de capture de paquets depuis l'interface radio ou depuis un fichier de capture de paquets supporté (libpcap), et pour injecter des paquets arbitraires. Des fonctions d'aide comprenant des décodeurs de trames IEEE 802.15.4, ZigBee NWK et ZigBee APS sont également disponibles.
L'API KillerBee est documentée au format epydoc, avec une documentation HTML dans
le répertoire doc/ de cette distribution. Si vous avez epydoc installé, vous pouvez
également générer un PDF pratique pour l'impression, si vous le souhaitez, comme indiqué :
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
Le répertoire pdf/ contiendra un fichier appelé "api.pdf" qui inclut la documentation du framework.
Pour commencer à utiliser le framework KillerBee, jetez un coup d'œil aux outils inclus (zbdump et zbreplay sont de bons exemples pour commencer).
Puisque KillerBee est une bibliothèque Python, elle s'intègre bien avec d'autres logiciels Python également. Par exemple, la bibliothèque Sulley est un framework de fuzzing écrit en Python par Pedram Amini. En utilisant les fonctionnalités de mutation de Sulley et les fonctionnalités d'injection de paquets de KillerBee, il est simple de construire un mécanisme pour générer et transmettre des données ZigBee malformées à une cible.
Veuillez utiliser le système de tickets sur https://github.com/riverloopsec/killerbee/issues.
La version originale a été écrite par : [email protected]. La version actuelle, les correctifs, etc. sont gérés par : [email protected]. (Voir la liste ci-dessus pour tous les contributeurs/crédits.)
Pour les contributeurs/développeurs, voir DEVELOPMENT.md pour les détails et les conseils.
sample/zigbee-network-key-ota.dcfDISPLAY est correctement définie.