
Kit de Pesquisa em Segurança IEEE 802.15.4/ZigBee
KillerBee é um Framework e Ferramentas para Testar e Auditar Redes ZigBee e IEEE 802.15.4
Aviso
- O suporte a usb0.x está sendo descontinuado/removido
- O suporte ao Apimote v1 está sendo descontinuado/removido
Se você precisar desses recursos, crie uma issue para explicar seu caso de uso e requisitos.
Atualização KillerBee 3.0.0-beta
Olá a todos, obrigado pelo contínuo suporte e interesse no KillerBee.
Como estamos dedicando novos esforços para limpar o código, migrar para Python 3, adicionar recursos, funcionalidades e consistência, estamos aproveitando essa reformulação para revisitar os objetivos e usos do projeto e a melhor maneira de alcançá-los.
Esse esforço resultará em uma atualização de versão principal, à medida que descontinuamos funções e dependências antigas e reestruturamos o código para ajudar a organizar recursos e permitir que a funcionalidade seja estendida.
Esta também é uma tentativa de definir as partes que compõem o KillerBee, visando traçar linhas mais distintas em torno dos recursos do KillerBee e tratá-lo como uma biblioteca. Veja ARCHITECTURE.md para detalhes sobre isso e objetivos futuros.
Distribuído sob uma licença BSD, consulte LICENSE.txt para detalhes. Todos os direitos reservados.
O kit de ferramentas principal foi/é criado por:
Agradecemos aos muitos colaboradores do framework, incluindo os seguintes que contribuíram com funcionalidades:
O KillerBee é desenvolvido e testado em sistemas Linux. O uso em MacOS é possível, mas não suportado.
Nós nos esforçamos para usar um número mínimo de dependências de software, no entanto, é necessário instalar os seguintes módulos Python antes da instalação. A instalação detectará e solicitará o que for necessário.
Em sistemas Ubuntu, você pode instalar as dependências necessárias com os seguintes comandos:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
No Mac OS, você pode instalar as dependências com os seguintes comandos
# brew install libusb libgcrypt
# pip3 install pyusb scapy
O python-dev e o libgcrypt são necessários para o Scapy Extension Patch.
Observe também que esta é uma plataforma de ataque bastante avançada e pouco amigável. Isto não é Cain & Abel. É destinada a desenvolvedores e analistas avançados que estão atacando redes ZigBee e IEEE 802.15.4. Recomendo que você obtenha algum entendimento do protocolo ZigBee (o livro ZigBee Wireless Networks and Transceivers de Shahin Farahani é razoável, embora ainda não seja excelente) e familiaridade com a linguagem Python antes de mergulhar neste framework.
O KillerBee usa o arquivo de instalação padrão 'setup.py' do Python, uma vez que as dependências estejam instaladas.
Instale o KillerBee com o seguinte comando:
# python3 setup.py install
A estrutura de diretórios do código KillerBee é descrita a seguir:
O framework KillerBee está sendo expandido para suportar múltiplos dispositivos. Atualmente há suporte para River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer, e vários hardwares executando firmware Silicon Labs Node Test.
Veja firmware/README.md para detalhes sobre suporte de hardware e programação de firmware.
Suporte para Freaklab's Freakduino com hardware adicional e o sketch arduino de Dartmouth
e placas Zigduino estão disponíveis, mas não são listados por não serem mantidos.
Você deve habilitá-los para serem pesquisados em killerbee/config.py e então reinstalar o KillerBee.
O KillerBee inclui várias ferramentas projetadas para atacar redes ZigBee e IEEE 802.15.4 , construídas usando o framework KillerBee. Cada ferramenta tem suas próprias instruções de uso documentadas executando a ferramenta com o argumento "-h", e resumidas abaixo.
sample/zigbee-network-key-ota.dcf pode ser usada para demonstrar
esta funcionalidade.Ferramentas adicionais, que são para casos especiais ou não são estáveis, estão armazenadas no repositório do projeto Api-Do: http://code.google.com/p/zigbee-security/ e em https://github.com/riverloopsec/beekeeperwids.
O KillerBee é projetado para simplificar o processo de sniffing de pacotes da interface aérea ou de um arquivo de captura de pacotes suportado (libpcap), e para injetar pacotes arbitrários. Funções auxiliares incluindo decodificadores de pacotes IEEE 802.15.4, ZigBee NWK e ZigBee APS também estão disponíveis.
A API do KillerBee é documentada no formato epydoc, com documentação HTML no
diretório doc/ desta distribuição. Se você tiver o epydoc instalado, você também pode
gerar um PDF conveniente para impressão, se desejar, conforme mostrado:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
O diretório pdf/ terá um arquivo chamado "api.pdf" que inclui a documentação do framework.
Para começar a usar o framework KillerBee, dê uma olhada nas ferramentas incluídas (zbdump e zbreplay são bons exemplos para começar).
Como o KillerBee é uma biblioteca Python, ele também se integra bem com outros softwares Python. Por exemplo, a biblioteca Sulley é um framework de fuzzing escrito em Python por Pedram Amini. Usando os recursos de mutação do Sulley e os recursos de injeção de pacotes do KillerBee, é direto construir um mecanismo para gerar e transmitir dados ZigBee malformados para um alvo.
Use o sistema de tickets em https://github.com/riverloopsec/killerbee/issues.
A versão original foi escrita por: [email protected]. A versão atual, correções, etc são tratadas por: [email protected]. (Veja a lista acima para todos os colaboradores/créditos.)
Para colaboradores/desenvolvedores, veja DEVELOPMENT.md para detalhes e orientações.
DISPLAY esteja configurada corretamente.