NOTÍCIAS

[ANONYMOUS][grids]

KillerBee - IEEE 802.15.4/ZigBee Security Research Toolkit

KillerBee - IEEE 802.15.4/ZigBee Security Research Toolkit

Este é o KillerBee - Framework e Ferramentas para Atacar as Redes ZigBee and IEEE 802.15.4 networks.

REQUISITOS O

KillerBee é desenvolvido e testado em sistemas Linux. O uso do OS X é 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 do Python antes da instalação:
  • serial
  • USB
  • criptografia (para algumas funções)
  • pygtk (para uso de ferramentas que possuem GUIs)
  • cairo (para uso de ferramentas que possuem GUIs)
  • scapy (para algumas ferramentas que utilizam extensões 802.15.4 Scapy)
Nos sistemas Ubuntu, você pode instalar as dependências necessárias com os seguintes comandos:


# apt-get install python-gtk2 python-cairo python-usb python-crypto python-serial python-dev libgcrypt-dev
# git clone https://github.com/secdev/scapy
# cd scapy
# python setup.py install

O python-dev e o libgcrypt são necessários para o patch de extensão do Scapy. 
Note também que esta é uma plataforma de ataque bastante avançada e não amigável. Isso não é Caim e Abel. Destina-se a desenvolvedores e analistas avançados que estão atacando as redes ZigBee e IEEE 802.15.4. Eu recomendo que você ganhe alguma compreensão do protocolo ZigBee (o livro ZigBee Wireless Networks e Transceivers by Shahin Farahani é razoável, embora ainda não seja ótimo) e familiaridade com a linguagem Python antes de entrar neste framework.




INSTALAÇÃO O

KillerBee usa o arquivo de instalação padrão do Python 'setup.py'. Instale o KillerBee com o seguinte comando:
# python setup.py install

DIRETÓRIOS
A estrutura de diretório para o código KillerBee é descrita da seguinte maneira:
  • doc - Documentação HTML na biblioteca KillerBee, cortesia do epydoc.
  • firmware - Firmware para dispositivos de hardware KillerBee suportados.
  • killerbee - fonte da biblioteca Python.
  • amostra - captura de pacotes de amostra, referenciada abaixo.
  • scripts - scripts do shell usados ​​no desenvolvimento.
  • tools - Ferramentas de ataque ZigBee e IEEE 802.15.4 desenvolvidas usando esta estrutura.

HARDWARE REQUERIDO
O framework KillerBee está sendo expandido para suportar múltiplos dispositivos. Atualmente, há suporte para o River Loop ApiMote, o Atmel RZ RAVEN USB Stick, o MoteIV Tmote Sky, o mote TelosB e o Sewino Sniffer. 
O suporte para o Freakduino da Freaklab com hardware adicional e o esboço arduino de Dartmouth, Zigduino e a placa Sewio Sniffer estão disponíveis, mas não estão listados abaixo, pois não são mantidos. 


ApiMote v4beta (e v3):
Os dispositivos normalmente vêm pré-carregados e não precisam ser reflashed para uso básico. 
O hardware é de código aberto em https://github.com/riverloopsec/apimote . Ele está disponível por meio de contato com a equipe no riverloopsecurity dot com.
Isso é atualmente suportado para beta e suporta sniffing, injeção e interferência. 

Texas Instruments CC2530 / 1 EMK:
Este dongle USB é produzido pela Texas Instruments e é vendido como um kit de avaliação para seu circuito integrado CC2530 ou CC2531. 
Ele pode ser comprado de distribuidores de eletrônicos ou diretamente deles aqui . 
No momento, isso é compatível com beta e suporta apenas sniffing. 


Modo MoteIV Tmote Sky ou TelosB:
Este dispositivo pode ser carregado com firmware via USB. Anexe o dispositivo e, em seguida, no killerbee / firmware, execute:


$ ./flash_telosb.sh

Estas placas podem ser obtidas através de múltiplos distribuidores, no entanto este fornecedor afirmou que o seu "clone" do hardware original é compatível. Nós não testamos nem endossamos nenhum "clone" específico. 
Atmel RZ RAVEN USB Stick:
consulte http://www.atmel.com/tools/RZUSBSTICK.aspx . Esse hardware é conveniente, pois o firmware base é de código aberto com um IDE disponível gratuitamente. O firmware KillerBee para o RZ RAVEN incluído no firmware/diretório é uma versão modificada do firmware padrão distribuído pela Atmel para incluir a funcionalidade de ataque. 
O RZ RAVEN USB Stick está disponível em revendedores eletrônicos comuns por aproximadamente US $ 40 / USD:
O firmware de estoque fornecido com esse hardware permite que você aproveite a funcionalidade passiva incluída nas ferramentas e na estrutura KillerBee (como o recebimento de quadros), mas não permite a injeção de pacotes nem a representação de dispositivos na rede. 
Para obter a funcionalidade completa incluída no KillerBee, o RZ RAVEN USB Stick deve ser exibido com o firmware personalizado incluído no firmware/diretório. Veja firmware/README.mdpara detalhes. 

FERRAMENTAS
KillerBee inclui várias ferramentas projetadas para atacar redes ZigBee e IEEE 802.15.4, construídas usando a estrutura KillerBee. Cada ferramenta tem suas próprias instruções de uso documentadas executando a ferramenta com o argumento "-h" e resumidas abaixo.
  • zbid - Identifica as interfaces disponíveis que podem ser usadas pelo KillerBee e pelas ferramentas associadas.
  • zbwireshark - Semelhante ao zbdump, mas expõe um pipe nomeado para captura e visualização em tempo real no Wireshark.
  • zbdump - Um tcpdump-like levou para capturar quadros IEEE 802.15.4 para um arquivo de captura de pacote libpcap ou Daintree SNA Não exibe estatísticas em tempo real como o tcpdump quando não está gravando em um arquivo.
  • zbreplay - Implementa um ataque de replay, lendo um arquivo de captura de pacotes Daintree DCF ou libpcap especificado, retransmitindo os quadros. Quadros ACK não são retransmitidos.
  • zbstumbler - Ferramenta de descoberta de rede ativa ZigBee e IEEE 802.15.4 O Zbstumbler envia quadros de requisição de beacon ao passo que o canal salta, registra e exibe informações resumidas sobre os dispositivos descobertos. Também pode registrar resultados em um arquivo CSV.
  • zbpanidconflictflood - Requer duas interfaces killerbee, uma interface killerbee ouve os pacotes e marca seu PAN ID. A outra interface envia constantemente pacotes de beacon com os PAN ID's encontrados. Os pacotes de beacon com o mesmo PAN ID fazem com que o coordenador do PAN acredite que há um conflito de PAN ID e o coordenador inicia o processo de realinhar a rede em um novo PAN ID. O processo se repete ad nauseum. Normalmente, os dispositivos de rede não conseguem acompanhar a rápida mudança e, após alguns segundos, a rede se desfaz.

  •           _NO TARGETING BUILT IN_ This may *destroy* all zigbee networks
              within range on the channel you are performing the attack on. Use
              with caution.
  • zborphannotify - Invade um pacote de notificação órfã do dispositivo de destino para um Coordenador do PAN para testar o comportamento do Coordenador.
  • zbrealign - Invade um quadro de Realinhamento do PAN 802.15.4 do coordenador para um dispositivo de destino. Pode ser possível redefinir o PAN ID ou o canal do dispositivo
  • zbfakebeacon - Voa com quadros de beacon, enviando spam ou respondendo a solicitações de beacons.
  • zbopenear - Auxilia na captura de dados em que os dispositivos estão operando em vários canais ou com salto de frequência rápida. Atribui várias interfaces sequencialmente em todos os canais.
  • zbassocflood - Associada repetidamente ao PANID de destino em um esforço para fazer com que o dispositivo trave de muitas estações conectadas.
  • zbconvert - Converte uma captura de pacote do formato Libpcap para o Daintree SNA, ou vice-versa.
  • zbdsniff - Captura o tráfego do ZigBee, procurando por quadros NWK e provisionamento de chave por via aérea. Quando uma chave é encontrada, o zbdsniff imprime a chave para stdout. A amostra de captura de pacote de amostra / zigbee-network-key-ota.dcf pode ser usada para demonstrar essa funcionalidade.
  • zbfind - Um aplicativo GUI GTK para rastrear a localização de um transmissor IEEE 802.15.4 medindo o RSSI. O Zbfind pode ser passivo na descoberta (apenas escutar pacotes) ou pode estar ativo enviando quadros de Solicitação de Sinal e registrando as respostas dos roteadores e coordenadores do ZigBee. Se você receber um monte de erros depois de iniciar esta ferramenta, verifique se sua variável DISPLAY está configurada corretamente. Se você souber como capturar esses erros para exibir uma mensagem de erro razoável, envie-me uma observação.
  • zbgoodfind - Implementa uma função de pesquisa de chave usando uma captura de pacote criptografado e despejo de memória de um dispositivo legítimo ZigBee ou IEEE 802.15.4. Essa ferramenta acompanha a ferramenta de ataque de hardware GoodFeed do Travis Goodspeed ou outros dados binários que podem conter informações de chave de criptografia, como bus sniffing com chips herdados (como o CC2420). O arquivo de busca do Zbgoodfind deve estar em formato binário (os arquivos hexadecimais do obj não são suportados). Para converter do formato hexadecimal para um arquivo binário, use a ferramenta objcopy: objcopy -I ihex -O binário mem.hex mem.bin
  • zbwardrive - Descobre as interfaces disponíveis e usa uma para injetar solicitações de beacons e ouvir respostas entre os canais. Quando uma rede é encontrada em um canal, ela atribui outro dispositivo para capturar continuamente o tráfego nesse canal para um arquivo PCAP. Scapy deve ser instalado para executar isso.
  • zbscapy - Fornece uma shell Scapy interativa para interação através de uma interface KillerBee. Scapy deve ser instalado para executar isso.
Ferramentas adicionais, que são para casos especiais ou não são estáveis, são armazenadas no repositório do projeto Api-Do: http://code.google.com/p/zigbee-security/ e em https://github.com/riverloopsec / apicultores . 

ESTRUTURA O
KillerBee foi projetado para simplificar o processo de farejar pacotes a partir da interface aérea ou de um arquivo de captura de pacotes suportado (libpcap ou Daintree SNA) e para injetar pacotes arbitrários. Também estão disponíveis funções auxiliares, incluindo os descodificadores de pacotes IEEE 802.15.4, ZigBee NWK e ZigBee APS. 
A API KillerBee está documentada no formato epydoc, com documentação HTML no diretório doc / desta distribuição. Se você tiver o epydoc instalado, também poderá gerar um PDF conveniente para impressão, se desejado, 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 da estrutura. 
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) e nos casos de teste simples no diretório t /. 
Como o KillerBee é uma biblioteca Python, ele também se integra bem com outros softwares Python. Por exemplo, a biblioteca Sulley é uma estrutura de fuzzing escrita em Python por Pedram Amini. Usando os recursos de mutação Sulley e os recursos de injeção de pacotes de KillerBee , é essencial construir um mecanismo para gerar e transmitir dados ZigBee malformados para um destino.