Фреймворк для атак на ZigBee/IEEE 802.15.4 сети (умный дом, промышленная автоматика, умные счётчики). Сниффинг, воспроизведение пакетов, атаки на шифрование, идентификация устройств. Поддерживает RZUSBSTICK, APIMote, ATUSB.
pip install killerbee # или: git clone https://github.com/riverloopsec/killerbee cd killerbee && sudo python setup.py install # Сканирование ZigBee: zbstumbler # Снифинг 802.15.4: zbdump -w capture.pcap -c 26
================
KillerBee — это фреймворк и инструменты для тестирования и аудита сетей ZigBee и IEEE 802.15.4.
Уведомление * Поддержка usb0.x будет прекращена/удалена * Поддержка Apimote v1 будет прекращена/удалена
Если вам необходимы эти функции, пожалуйста, создайте issue для описания вашего варианта использования и требований.
Обновление KillerBee 3.0.0-beta
Привет всем, спасибо за вашу постоянную поддержку и интерес к KillerBee.
Мы вкладываем усилия в очистку кода, миграцию на Python 3, добавление функций, возможности и единообразие. Мы используем эту переработку как возможность пересмотреть цели и применение проекта, а также лучшие способы их достижения.
Это усилие приведет к обновлению до мажорной версии, так как мы прекращаем поддержку старых функций и зависимостей и реструктурируем код для лучшей организации функционала и обеспечения возможности его расширения.
Это также попытка определить компоненты, составляющие KillerBee, стремясь провести более четкие границы между функциями KillerBee и рассматривая его как библиотеку. Подробности об этом и будущих целях смотрите в ARCHITECTURE.md.
Распространяется под лицензией BSD, подробности см. в LICENSE.txt. Все права защищены.
Основной набор инструментов был/был создан: + 2009, Joshua Wright jwright@willhackforsushi.com + 2010-2019, Ryan Speers ryan@riverloopsecurity.com + 2010-2011, Ricky Melgares ricky@riverloopsecurity.com
Мы благодарим многих контрибьюторов фреймворка, включая следующих, внёсших вклад: + Анонимные контрибьюторы + Spencer McIntyre (расширение scapy) + Bryan Halfpap Bryanhalf@gmail.com (дополнительные инструменты) + Travis Goodspeed + Mike Kershaw (dragorn) + Chris Wang (aikiba) + Nick DePetrillo + Ed Skoudis + Matt Carpenter + Sergey Bratus (исследовательская поддержка в Dartmouth) + Jeff Spielberg + Scytmo (исправления ошибок и поддержка плат CC2530/1 EMK) + Adam Laurie/rfidiot (реализация шифрования APS, прошивка, DFU и BOOTLOADER, SubGHZ, SiLabs NodeTest) + Steve Martin + Taylor Centers taylor@riverloopsecurity.com (перенос на Python 3) + SecureAB (Python 3) + Jan Rude (Python 3, Sewio) + Damien Cauquil (CC2531 BumbleBee)
KillerBee разрабатывается и тестируется на системах Linux. Использование на MacOS возможно, но не поддерживается.
Мы стремимся использовать минимальное количество программных зависимостей, однако перед установкой необходимо установить следующие модули Python. Установщик обнаружит и подскажет, что именно нужно.
На системах Ubuntu вы можете установить необходимые зависимости следующими командами:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
На Mac OS вы можете установить зависимости следующими командами:
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Пакеты python-dev и libgcrypt необходимы для патча расширения Scapy.
Также обратите внимание, что это довольно сложная и не очень дружелюбная платформа для атак. Это не Cain & Abel. Она предназначена для разработчиков и опытных аналитиков, атакующих сети ZigBee и IEEE 802.15.4. Я рекомендую вам сначала получить некоторое понимание протокола ZigBee (книга ZigBee Wireless Networks and Transceivers by Shahin Farahani является приемлемой, хотя и не идеальной) и знакомство с языком Python, прежде чем приступать к использованию этого фреймворка.
KillerBee использует стандартный установочный файл Python setup.py, после установки зависимостей.
Установите KillerBee следующей командой:
# python3 setup.py install
Структура каталогов кода KillerBee описана следующим образом:
Фреймворк KillerBee расширяется для поддержки различных устройств. В настоящее время поддерживаются River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer, а также различные устройства, работающие на прошивке Silicon Labs Node Test.
Подробную информацию о поддержке аппаратного обеспечения и программировании прошивки см. в firmware/README.md.
Поддержка Freaklab Freakduino с дополнительным аппаратным обеспечением и Arduino-скетч от Dartmouth,
а также плат Zigduino доступна, но не перечислена, так как они не поддерживаются.
Для их использования необходимо включить поиск этих плат в файле killerbee/config.py и затем переустановить KillerBee.
KillerBee включает несколько инструментов, предназначенных для атак на сети ZigBee и IEEE 802.15.4, созданных с использованием фреймворка KillerBee. Каждый инструмент имеет собственные инструкции по использованию, документируемые запуском инструмента с аргументом "-h", и кратко описан ниже.
sample/zigbee-network-key-ota.dcf может использоваться для демонстрации
этой функциональности.DISPLAY установлена правильно.Дополнительные инструменты для специальных случаев или нестабильные хранятся в репозитории проекта Api-Do: http://code.google.com/p/zigbee-security/ и на https://github.com/riverloopsec/beekeeperwids.
KillerBee разработан для упрощения процесса перехвата пакетов из эфира или поддерживаемого файла захвата пакетов (libpcap), а также для инъекции произвольных пакетов. Также доступны вспомогательные функции, включая декодеры пакетов IEEE 802.15.4, ZigBee NWK и ZigBee APS.
API KillerBee задокументирован в формате epydoc, с HTML-документацией в
каталоге doc/ данного дистрибутива. Если у вас установлен epydoc, вы можете
также сгенерировать удобный PDF для печати, при необходимости, следующим образом:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
В каталоге pdf/ будет файл "api.pdf", который включает документацию по фреймворку.
Чтобы начать использовать фреймворк KillerBee, посмотрите на включенные инструменты (zbdump и zbreplay — хорошие примеры для начала).
Поскольку KillerBee является библиотекой Python, он хорошо интегрируется с другим программным обеспечением на Python. Например, библиотека Sulley — это фреймворк для тестирования на выносливость (fuzzing), написанный на Python Педрамом Амини. Используя функции мутации Sulley и функции инъекции пакетов KillerBee, легко создать механизм для генерации и передачи искаженных данных ZigBee на цель.
Пожалуйста, используйте систему отслеживания задач по адресу https://github.com/riverloopsec/killerbee/issues.
Оригинальная версия была написана: jwright@willhackforsushi.com. Текущая версия, исправления и т.д. обрабатываются: killerbee@riverloopsecurity.com. (Полный список контрибьюторов/авторов приведен выше.)
Для контрибьюторов/разработчиков подробную информацию и руководства см. в DEVELOPMENT.md.