Isenção de responsabilidade
A ferramenta ainda está ativamente em construção. O utilitário Sniffer deve estar funcionando bem com a largura de banda de 125kHz, então fique à vontade para testá -la. Observe que os recursos de transmissão exigem mais testes, pois atualmente não possuo um gateway de Lorawan.
Se você encontrar algum problema, fique à vontade para levantar um problema.
Lorattack
Este repositório fornece um kit de ferramentas para avaliar a segurança da rede de Lorawan. Aqui está o que oferece:
- Sniffing multicanal: capture o tráfego de Lorawan em vários canais usando um SDR (Rádio definido por software).
- Captura baseada em sessão: Crie e gerencie sessões. Os apertos de mão capturados dentro de uma sessão são armazenados automaticamente para análises adicionais.
- Derivação -chave: Derive as chaves criptográficas dos dados capturados de handshake específicos para uma sessão, permitindo a descriptografia de pacotes pertencentes a essa sessão.
- Compatibilidade do Wireshark: as lojas capturaram o tráfego em arquivos PCAP com um número DLT modificado, garantindo uma análise perfeita com o Wireshark.
- Teste de vulnerabilidade: reproduza cargas úteis específicas para investigar as vulnerabilidades conhecidas de Lorawan durante as avaliações de segurança.
- Orientação de ataque: Acesse descrições detalhadas de ataques e guias passo a passo para otimizar seu processo de teste.

Índice
- Instalação
- Uso
- Sessão
- Sniffer
- Sniff
- Configure
- Decodificação e descriptografia
- Armazenamento de pacotes
- Analisador
- Ataque
- Replay
- Pacotes de artesanato
- Saída
Instalação
Requisitos:
- Sistema Linux (testado com Ubuntu, Debian)
- Radio de software USRP pela Ettus Research (testado com B200, B205MINI)
1. Instale o Rádio GNU e as dependências:
Siga as instruções no Wiki de rádio GNU para sua distribuição Linux: https://wiki.gnuradio.org/index.php/installinggr
2. Instale os drivers de hardware USRP:
Adicione o Repositório de USRP da pesquisa ETTUS:
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host
3. Clone o repositório de kit de ferramentas de ataque Lora:
git clone https://github.com/konicst1/lorattack.git
4. Instale dependências:
Navegue até o diretório do kit de ferramentas e instale dependências:
cd lorattack
source venv/bin/activate
pip install -r requirements.txt
sudo apt-get update
sudo apt-get install bittwist
Instale também as bibliotecas GR-Lora de:
- https://github.com/rpp0/gr-lora
- https://github.com/tapparelj/gr-lora_sdr
5. Atualize os caminhos do Python (se estiver usando o ambiente virtual):
Esta etapa garante que o ambiente virtual possa acessar o gnuradio instalado fora do ambiente.
export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:/usr/lib/python3.10/site-packages: $PYTHONPATH
export PYTHONPATH= " /usr/lib/python3/dist-packages: $PYTHONPATH "
# Update library path (if necessary)
export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH
Nota: Substitua /usr/local/lib/python3.10 pelo caminho real para o diretório de instalação do Python 3, se for diferente. Ajuste a atualização do caminho da biblioteca ( export LD_LIBRARY_PATH... ) somente se encontrar problemas relacionados à falta de bibliotecas.
6. Execute o Lora Ataque Toolkit:
Nota: Consulte a documentação do kit de ferramentas (se disponível) para obter instruções de uso detalhadas.
Uso
Sessão
- Nova sessão: Crie uma nova sessão com um nome descritivo sempre que começar a cheirar o tráfego de Lorawan. Isso garante que cada captura tenha seu próprio conjunto de chaves para descriptografia posteriormente.
- Escolha sessão: selecione uma sessão existente para ativá -la para análises adicionais ou reprodução de ataques. O Lorattack usa dados de handshake da sessão escolhida para derivar chaves de descriptografia específicas para essa captura.
Sessões separadas são importantes para descriptografia. Cada sessão no Lorattack extrai dados de handshake para derivar teclas exclusivas para pacotes capturados nessa sessão, permitindo análises detalhadas.
Para editar dados da sessão, edite o arquivo Session/Data/<Session_Name> /data.json .
Sniffer
A Sniffer de Lorattack captura o tráfego de Lorawan em vários canais em torno de uma frequência central especificada, permitindo decodificar e descriptografia em tempo real (se estiverem as chaves disponíveis).

- Sniff: Este submenu permite capturar o tráfego de Lorawan:
- Sniff Up/Down Link (bidirecional): começa a capturar o tráfego Uplink (dispositivos para rede) e downlink (rede para dispositivos). Nota: A captura bidirecional pode resultar em pacotes duplicados se os mesmos dados forem enviados em ambas as direções.
- Sniff Uplink: começa a capturar apenas tráfego de uplink.
- Sniff Downlink: começa a capturar apenas tráfego de downlink.
- Configurar: Este submenu permite editar o arquivo de configuração do Sniffer (
config/sniffer.config ) que define as configurações de captura:- Frequência (frequência central): especifique a frequência central (por exemplo, "868.6e6") para farejar. Lorattack também capturará canais em torno dessa frequência central com base na largura de banda escolhida.
- Largura de banda: defina a largura de banda do canal (por exemplo, "125000") para definir a faixa de frequências capturadas em torno da frequência central.
- Taxa de amostragem: Defina a taxa de amostragem (por exemplo, "1000000") para o hardware SDR.
- Fator de espalhamento: especifique o fator de espalhamento (7 - 12) usado pela rede Lorawan (afeta a taxa de dados e o intervalo).
- Ganho (dB): defina o ganho (por exemplo, "10 dB") da antena SDR para ajustar a força do sinal.
Decodificação e descriptografia:
- Os pacotes capturados são decodificados em tempo real, fornecendo informações sobre a estrutura de comunicação de Lorawan.
- Decripção é possível e realizada automaticamente se as chaves criptográficas estiverem presentes no arquivo de configuração da sessão:
- As chaves podem ser especificadas manualmente.
- As chaves podem ser derivadas automaticamente se a solicitação e a participação de participação são capturadas (AppKey deve ser configurado manualmente)

Armazenamento de pacotes:
- Todos os pacotes farejados são armazenados no formato PCAP no diretório da sessão atual.
- PCAPS com prefixo Wireshark têm o cabeçalho UDP despojado e o DLT está definido como Lorawan (147) para facilitar a análise com o Wireshark.
Analisador
O submenu do analisador exibe uma lista de arquivos PCAP associados à sua sessão ativa. A seleção de um arquivo PCAP inicia um processo de análise:

- Análise de tráfego: o analisador examina a estrutura do pacote e decodifica os Lorawan Communication e atualiza os valores da sessão se forem encontrados mensagens de solicitação/aceitação.
- Decripção (se aplicável): Se a configuração da sessão contiver as chaves criptográficas necessárias (NWKSKEY e APPSKEY), o analisador tenta descriptografar as cargas de pagamento do pacote.
Ataque

Replay:
- No PCAP: selecione um arquivo PCAP (contendo pacotes capturados) nas opções listadas para reproduzir uma sequência de pacotes.
- Editar sequência de reprodução: edite manualmente a sequência de pacotes do PCAP escolhido a ser reproduzido.
Pacotes de artesanato:
- Solicitação de junção de paródia: cria uma mensagem de solicitação de junção com base nos valores da sessão atual (JOINEUI, DEVEUI) e a transmite com SDR. Se alguns deles não estiverem presentes, os valores padrão serão aplicados. AppKey/NWKKEY é obrigado a calcular o microfone.
- AS SPOOF JONE ACEITO: CRAVA UMA MENSAGEM DE SOLITE DE JONADO Com base nos valores da sessão atual (NetID, Devaddr) e a transmite com SDR. Se alguns deles não estiverem presentes, os valores padrão serão aplicados. AppKey/NWKKEY é necessário para calcular o microfone e a criptografia.
- Mensagem de Spoof ACK: Crafts e Mensagem ACK com base nos valores dos dados da sessão (Devaddr, FCNT é definido como 0xfff0 para boas chances para o DOS) e o transmite com SDR. O NWKSKEY é necessário para a computação de microfones.
Configurar o transmissor: consulte a seção de configuração do Sniffer para obter detalhes sobre a configuração de parâmetros do transmissor usados durante ataques de reprodução (por exemplo, frequência, ganho).
Diretrizes de simulação de ataque
TBD