IEEE 802.15.4/ZigBee Kit de investigación de seguridad
KillerBee es un Framework y conjunto de herramientas para probar y auditar redes ZigBee e IEEE 802.15.4
Aviso
- El soporte para usb0.x está siendo descontinuado/eliminado
- El soporte para ApiMote v1 está siendo descontinuado/eliminado
Si necesitas estas funciones, por favor crea un issue para explicar tu caso de uso y requisitos.
Actualización de KillerBee 3.0.0-beta
Hola a todos, gracias por su continuo apoyo e interés en KillerBee.
A medida que estamos poniendo nuevos esfuerzos en limpiar el código, migrar a Python 3, agregar características, funcionalidad y consistencia, estamos aprovechando esta reestructuración como una oportunidad para revisitar los objetivos y usos del proyecto y la mejor manera de lograrlos.
Este esfuerzo resultará en una actualización de versión mayor a medida que descontinuamos funciones y dependencias antiguas y reestructuramos el código para ayudar a organizar las características y permitir que la funcionalidad se amplíe.
También es un intento de definir las piezas que componen KillerBee, con el objetivo de trazar líneas más claras alrededor de las características en KillerBee y tratarlo como una biblioteca. Consulta ARCHITECTURE.md para más detalles sobre esto y objetivos futuros.
Distribuido bajo una licencia BSD, consulta LICENSE.txt para más detalles. Todos los derechos reservados.
El kit de herramientas principal fue/es creado por:
Agradecemos a los muchos contribuyentes del framework, incluyendo a los siguientes que han aportado funcionalidades:
KillerBee se desarrolla y prueba en sistemas Linux. El uso en macOS es posible pero no está soportado.
Nos hemos esforzado por usar un número mínimo de dependencias de software, sin embargo, es necesario instalar los siguientes módulos de Python antes de la instalación. La instalación detectará y te pedirá lo que se necesita.
En sistemas Ubuntu, puedes instalar las dependencias necesarias con los siguientes comandos:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
En Mac OS, puedes instalar las dependencias con los siguientes comandos:
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Se requieren python-dev y libgcrypt para el Parche de Extensión Scapy.
También ten en cuenta que esta es una plataforma de ataque bastante avanzada y poco amigable. Esto no es Cain & Abel. Está destinada a desarrolladores y analistas avanzados que estén atacando redes ZigBee e IEEE 802.15.4. Recomiendo adquirir cierto conocimiento del protocolo ZigBee (el libro ZigBee Wireless Networks and Transceivers de Shahin Farahani es razonable, aunque no excelente) y familiaridad con el lenguaje Python antes de adentrarse en este framework.
KillerBee utiliza el archivo de instalación estándar de Python 'setup.py', una vez instaladas las dependencias.
Instala KillerBee con el siguiente comando:
# python3 setup.py install
La estructura de directorios del código de KillerBee se describe a continuación:
El framework KillerBee se está expandiendo para soportar múltiples dispositivos. Actualmente hay soporte para River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer y varios hardware que ejecutan firmware Silicon Labs Node Test.
Consulta firmware/README.md para más detalles sobre soporte de hardware y programación de firmware.
El soporte para Freaklab's Freakduino con hardware adicional y el sketch Arduino de Dartmouth
y las placas Zigduino está disponible pero no se enumera porque no se mantienen.
Debes habilitarlos para que sean buscados en killerbee/config.py y luego reinstalar KillerBee.
KillerBee incluye varias herramientas diseñadas para atacar redes ZigBee e IEEE 802.15.4, construidas utilizando el framework KillerBee. Cada herramienta tiene sus propias instrucciones de uso documentadas al ejecutar la herramienta con el argumento "-h", y se resumen a continuación.
sample/zigbee-network-key-ota.dcf se puede usar para demostrar
esta funcionalidad.DISPLAY esté configurada correctamente.Herramientas adicionales, que son para casos especiales o no son estables, se almacenan en el repositorio del proyecto Api-Do: http://code.google.com/p/zigbee-security/ y en https://github.com/riverloopsec/beekeeperwids.
KillerBee está diseñado para simplificar el proceso de capturar paquetes desde la interfaz aérea o desde un archivo de captura de paquetes compatible (libpcap), y para inyectar paquetes arbitrarios. También están disponibles funciones auxiliares que incluyen decodificadores de paquetes IEEE 802.15.4, ZigBee NWK y ZigBee APS.
La API de KillerBee está documentada en formato epydoc, con documentación HTML en
el directorio doc/ de esta distribución. Si tienes instalado epydoc, también puedes
generar un PDF conveniente para imprimir, si lo deseas, como se muestra:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
El directorio pdf/ tendrá un archivo llamado "api.pdf" que incluye la documentación del framework.
Para empezar a usar el framework KillerBee, echa un vistazo a las herramientas incluidas (zbdump y zbreplay son buenos ejemplos para comenzar).
Dado que KillerBee es una biblioteca Python, también se integra bien con otro software Python. Por ejemplo, la biblioteca Sulley es un framework de fuzzing escrito en Python por Pedram Amini. Usando las características de mutación de Sulley y las características de inyección de paquetes de KillerBee, es sencillo construir un mecanismo para generar y transmitir datos ZigBee malformados a un objetivo.
Por favor, utiliza el sistema de tickets en https://github.com/riverloopsec/killerbee/issues.
La versión original fue escrita por: [email protected]. La versión actual, correcciones, etc., son manejadas por: [email protected]. (Consulta la lista anterior para todos los contribuyentes/créditos.)
Para contribuyentes/desarrolladores, consulta DEVELOPMENT.md para más detalles y orientación.