Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
laf — Este projeto pretende fornecer um conjunto de ferramentas para criar, interpretar, enviar, analisar e quebrar um conjunto de pacotes LoRaWAN, a fim de auditar ou realizar pentest na segurança de uma infraestrutura LoRaWAN. | Kitploit
Ferramentas/GitHubGitHub/ioactive/laf
Sniffing e Análise de PacotesSegurança IoTAnálise de VulnerabilidadesExploraçãoFuzzingSegurança Sem FioCriptografiaTestes de Penetração
GitHubioactive/laf

laf

Este projeto pretende fornecer um conjunto de ferramentas para criar, interpretar, enviar, analisar e quebrar um conjunto de pacotes LoRaWAN, a fim de auditar ou realizar pentest na segurança de uma infraestrutura LoRaWAN.

1873754há 4 anosRevisado pelo Kitploit
Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

LoRaWAN Auditing Framework - VERSÃO ALFA

As implementações de IoT continuam crescendo e uma parte desse crescimento significativo é composta por milhões de sensores LPWAN (rede de longa distância de baixa potência) implantados em centenas de cidades (Cidades Inteligentes) ao redor do mundo, também em indústrias e residências. Uma das tecnologias LPWAN mais utilizadas é LoRa, para a qual LoRaWAN é o padrão de rede (camada MAC). LoRaWAN é um protocolo seguro com criptografia embutida, mas problemas de implementação e fraquezas afetam a segurança da maioria das implementações atuais.

Este projeto pretende fornecer uma série de ferramentas para criar, analisar, enviar, analisar e quebrar um conjunto de pacotes LoRaWAN, a fim de auditar ou testar a segurança de uma infraestrutura LoRaWAN.

Abaixo, a estrutura deste repositório:

|-- tools 
    |-- UdpSender.py
    |-- UdpProxy.py
    |-- TcpProxy.py
    |-- lorawan
        |-- BruteForcer.py
        |-- MicGenerator.py
        |-- PacketCrafter.py
        |-- PacketParser.py
        |-- SessionKeysGenerator.py 
        |-- Loracrack (https://github.com/matiassequeira/Loracrack/tree/master) 
    |-- utils
        |-- DevAddrChanger.py
        |-- Fuzzer.py    
        |-- FileLogger.py
|-- auditing
    |-- datacollectors
        |-- MqttCollector.py
        |-- UdpForwarderProxy.py
    |-- analyzers
        |-- LafProcessData.py
        |-- bruteForcer
            |-- LafBruteforcer.py
            |-- keys
        |-- dataanalysis
            |-- LafPacketAnalysis.py
        |-- printer
            |-- LafPrinter.py
    |-- db
        |-- __init__.py
        |-- Models.py
        |-- Service.py
|-- lorawanwrapper 
        |-- LorawanWrapper.py
        |-- utils 
            |-- jsonUnmarshaler.go
            |-- lorawanWrapper.go
            |-- micGenerator.go
            |-- sessionKeysGenerator.go
|-- scripts
    |-- gateway_channel_changer
        |-- LoRa-GW-Installer.sh
        |-- Continuous-Channel-Switch.sh
        |-- LoRa-GW-Channel-Setup.sh

Primeiros Passos

Fornecemos diferentes opções para ter seu LoraWAN Auditing Framework em funcionamento:

  1. A primeira é para aqueles que desejam instalá-lo localmente. Recomendamos esta opção se seu objetivo principal é usar ferramentas de pentest localizadas no diretório tools/, para evitar problemas com mapeamento de portas do Docker.
  2. A outra opção é para aqueles que desejam executá-lo em um contêiner Docker, evitando assim a instalação manual de qualquer dependência. Recomendamos esta opção caso queira usar os analisadores e não tenha muito tempo para configurar o ambiente manualmente.
  3. Claro, você pode executar o LAF localmente e usar o banco de dados Postgres do contêiner Docker em vez do sqlite ;). O LAF tentará conectar ao Postgres através de localhost. Veja as instruções abaixo para configurar o Docker.

Instalar o LAF em seu ambiente local

Estas instruções fornecerão uma cópia do projeto e suas dependências em sua máquina local. Os comandos abaixo são para um ambiente baseado em Debian:

  1. Clone este repositório: git clone --recurse-submodules https://github.com/IOActive/laf.git

  2. Instale python3:

    1. sudo apt-get update
    2. sudo apt-get install python3.6
  3. Baixe e instale as dependências python:

    1. sudo pip3 install paho-mqtt && sudo pip3 install sqlalchemy && sudo pip3 install psycopg2-binary &&sudo pip3 install python-dateutil
  4. Defina PYTHONPATH e ENVIRONMENT

    1. cd laf && export PYTHONPATH=$(pwd) && export ENVIRONMENT='DEV'
  5. Instale e configure golang:

    1. Baixe golang de https://golang.org/dl/ dependendo do seu sistema operacional.
    2. Mova para a pasta onde o instalador go foi baixado: cd ~/Downloads
    3. Descompacte o instalador: sudo tar -C /usr/local -xvzf YOUR_GOLANG_FILE
    4. Exporte para PATH: export PATH=$PATH:/usr/local/go/bin
    5. Defina GOPATH: export GOPATH="$HOME/go"
  6. Compile a biblioteca go:

    1. cd laf/lorawanwrapper/utils
    2. go build -o lorawanWrapper.so -buildmode=c-shared jsonUnmarshaler.go lorawanWrapper.go micGenerator.go sessionKeysGenerator.go hashGenerator.go
  7. Dependendo de qual banco de dados você deseja usar:

    a. PostreSQL: Siga as instruções 'Instalar LAF usando Docker' até o 3º passo.

    b. SQLite:

    1. cd laf/auditing/db
    2. Modifique __init__.py com seu editor de texto preferido e comente as linhas a serem usadas com Postgres (conexão com o banco e variáveis de ambiente) e descomente a linha a ser usada com sqlite.

E pronto!

Instalar LAF usando Docker

Esta abordagem evita lidar com a instalação de dependências e inicia um banco de dados PostgreSQL onde as ferramentas salvam pacotes e dados. Contêineres:

  • Tools.
  • PostgreSQL.
  • PgAdmin4.

Passos:

  1. Clone este repositório: git clone https://github.com/IOActive/laf.git
  2. Vá para cd laf/
  3. Inicie os contêineres: docker-compose up --build
  4. Se quiser usar as ferramentas dentro do contêiner docker exec -ti laf_tools_1 /bin/bash
  5. Divirta-se!

Conexão com o banco de dados pgAdmin

Você pode verificar os dados no banco usando pgAdmin:

Primeiro, acesse pgAdmin:

  • URL: http://localhost:5001
  • Usuário: pgadmin
  • Senha: pgadmin

Em seguida, você precisa adicionar o servidor:

  • Host: db
  • Porta: 5432
  • Usuário: postgres
  • Senha: postgres

Descrição das ferramentas

Aqui está a descrição dos diretórios e das ferramentas/funções dentro deles.

/tools

O principal objetivo das ferramentas fornecidas neste diretório é facilitar a execução de um teste de penetração em uma infraestrutura LoRaWAN.

UdpSender.py

Esta ferramenta destina-se a enviar pacotes uplink (para o servidor de rede ou gatewayBridge, dependendo da infraestrutura) ou pacotes downlink (para o packet-forwarder). Opcionalmente, os pacotes podem ser "fuzzeados" e um MIC válido pode ser calculado.

Argumentos opcionais:

-h, --help            show this help message and exit
--lcl-port LCL_PORT   Porta de origem, ex. --lcl-port=623.
--timeout TIMEOUT     Tempo em segundos entre cada pacote enviado. Padrão é
                        1s. Neste tempo, o remetente escutará por respostas.
--repeat              Envia a mensagem/s várias vezes
--fuzz-out FUZZ_OUT [FUZZ_OUT ...]
                        Fuzzeia os dados enviados para a porta de destino
                        (veja modos de fuzzing em utils/fuzzer.py),
                        ex. --fuzz-out 1 2.
--key KEY             Insira a chave (em formato hex, total de 32 caracteres
                        / 16 bytes) para assinar pacotes (calcular e adicionar
                        um novo MIC). Observe que para JoinRequests deve ser o
                        AppKey, e para pacotes de dados o NwkSKey. Isso não
                        pode ser validado antecipadamente por este programa.
                        ex. 00112233445566778899AABBCCDDEEFF
-a DEVADDR, --devaddr DEVADDR
                        DeviceAddress para personificar, fornecido em formato
                        hex (8 caracteres no total), ex. AABB0011.
--fcnt FCNT           O contador de quadro a ser definido no pacote de dados
                        fornecido. Isso não funcionaria em um
                        JoinRequest/JoinAccept, pois esses pacotes não
                        possuem fCnt

Argumentos obrigatórios:

Baixar ferramenta