Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
laf — Este proyecto pretende proporcionar una serie de herramientas para crear, procesar, enviar, analizar y descifrar un conjunto de paquetes LoRaWAN con el fin de auditar o realizar pruebas de penetración de la seguridad de una infraestructura LoRaWAN. | Kitploit
Herramientas/GitHubGitHub/ioactive/laf
Sniffing y Análisis de PaquetesSeguridad IoTAnálisis de VulnerabilidadesExplotaciónFuzzingSeguridad InalámbricaCriptografíaPruebas de Penetración
GitHubioactive/laf

laf

Este proyecto pretende proporcionar una serie de herramientas para crear, procesar, enviar, analizar y descifrar un conjunto de paquetes LoRaWAN con el fin de auditar o realizar pruebas de penetración de la seguridad de una infraestructura LoRaWAN.

1873753hace 4 añosRevisado por Kitploit
Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

LoRaWAN Auditing Framework - VERSIÓN ALPHA

Las implementaciones de IoT siguen creciendo y una parte de ese crecimiento significativo está compuesta por millones de sensores LPWAN (red de área amplia de baja potencia) desplegados en cientos de ciudades (Smart Cities) alrededor del mundo, también en industrias y hogares. Una de las tecnologías LPWAN más utilizadas es LoRa, para la cual LoRaWAN es el estándar de red (capa MAC). LoRaWAN es un protocolo seguro con cifrado incorporado, pero problemas de implementación y debilidades afectan la seguridad de la mayoría de las implementaciones actuales.

Este proyecto tiene como objetivo proporcionar una serie de herramientas para crear, analizar, enviar, analizar y descifrar un conjunto de paquetes LoRaWAN con el fin de auditar o realizar pruebas de penetración en la seguridad de una infraestructura LoRaWAN.

A continuación, la estructura de este repositorio:

|-- 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

Primeros pasos

Ofrecemos diferentes opciones para tener tu LoRaWAN Auditing Framework listo y funcionando:

  1. La primera es para aquellas personas que quieran instalarlo localmente. Recomendamos esta opción si tu objetivo principal es usar las herramientas de pentesting ubicadas en el directorio tools/, para evitar problemas con el mapeo de puertos de Docker.
  2. La otra opción es para aquellos que quieran ejecutarlo en un contenedor Docker, evitando así instalar manualmente cualquier dependencia. Recomendamos esta opción en caso de que quieras usar los analizadores y no tengas mucho tiempo para configurar el entorno manualmente.
  3. Por supuesto, puedes ejecutar LAF localmente y usar la base de datos Postgres desde el contenedor Docker en lugar de sqlite ;). LAF intentará conectarse a Postgres a través de localhost. Consulta las instrucciones a continuación para configurar Docker.

Instalar LAF en tu entorno local

Estas instrucciones te darán una copia del proyecto y sus dependencias en tu máquina local. Los comandos a continuación son para un entorno basado en Debian:

  1. Clona este repositorio: git clone --recurse-submodules https://github.com/IOActive/laf.git

  2. Instala python3:

    1. sudo apt-get update
    2. sudo apt-get install python3.6
  3. Descarga e instala las dependencias de Python:

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

    1. cd laf && export PYTHONPATH=$(pwd) && export ENVIRONMENT='DEV'
  5. Instala y configura golang:

    1. Descarga golang desde https://golang.org/dl/ según tu sistema operativo.
    2. Muévete a la carpeta donde se descargó el instalador de go: cd ~/Downloads
    3. Descomprime el instalador: sudo tar -C /usr/local -xvzf TU_ARCHIVO_GOLANG
    4. Exporta a PATH: export PATH=$PATH:/usr/local/go/bin
    5. Establece GOPATH: export GOPATH="$HOME/go"
  6. Compila la 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. Dependiendo de la base de datos que desees usar:

    a. PostgreSQL: Sigue las instrucciones 'Instalar LAF usando Docker' hasta el paso 3.

    b. SQLite:

    1. cd laf/auditing/db
    2. Modifica __init__.py con tu editor de texto preferido y comenta las líneas para usar con Postgres (conexión DB y variables de entorno) y descomenta la línea para usar con sqlite.

¡Y eso es todo!

Instalar LAF usando Docker

Este método evita lidiar con la instalación de dependencias e inicia una base de datos PostgreSQL donde las herramientas guardan paquetes y datos. Contenedores:

  • Tools.
  • PostgreSQL.
  • PgAdmin4.

Pasos:

  1. Clona este repositorio: git clone https://github.com/IOActive/laf.git
  2. Ve a cd laf/
  3. Inicia los contenedores: docker-compose up --build
  4. Si deseas usar las herramientas dentro del contenedor docker exec -ti laf_tools_1 /bin/bash
  5. ¡Disfruta!

Conexión a la base de datos pgAdmin

Puedes revisar los datos en la base de datos usando pgAdmin:

Primero, accede a pgAdmin:

  • URL: http://localhost:5001
  • Usuario: pgadmin
  • Contraseña: pgadmin

Luego, debes agregar el servidor:

  • Host: db
  • Puerto: 5432
  • Usuario: postgres
  • Contraseña: postgres

Descripción de herramientas

Aquí se describe el contenido de los directorios y las herramientas/funciones dentro de ellos.

/tools

El propósito principal de las herramientas proporcionadas en este directorio es facilitar la ejecución de una prueba de penetración a una infraestructura LoRaWAN.

UdpSender.py

Esta herramienta está diseñada para enviar paquetes uplink (hacia el servidor de red o gatewayBridge, dependiendo de la infraestructura) o paquetes downlink (hacia el packet-forwarder). Opcionalmente, los paquetes pueden ser sometidos a fuzzing y se puede calcular un MIC válido.

Argumentos opcionales:

-h, --help            muestra este mensaje de ayuda y sale
--lcl-port LCL_PORT   Puerto de origen, ej. --lcl-port=623.
--timeout TIMEOUT     Tiempo en segundos entre cada paquete enviado. Por defecto es
                        1s. Durante este tiempo, el remitente escuchará respuestas.
--repeat              Enviar mensaje/s varias veces
--fuzz-out FUZZ_OUT [FUZZ_OUT ...]
                        Datos de fuzzing enviados al puerto de destino (consulta los modos de fuzzing en
                        utils/fuzzer.py), ej. --fuzz-out 1 2.
--key KEY             Ingresa la clave (en formato hex, un total de 32 caracteres
                        / 16 bytes) para firmar paquetes (calcular y agregar un nuevo
                        MIC). Ten en cuenta que para JoinRequests debe ser la
                        AppKey, y NwkSKey para paquetes de datos. Esto no puede
                        ser validado de antemano por este programa. ej.
                        00112233445566778899AABBCCDDEEFF
-a DEVADDR, --devaddr DEVADDR
                        Dirección de dispositivo a suplantar, en formato hex (8 caracteres
                        en total), ej. AABB0011.
--fcnt FCNT           El contador de trama a establecer en el paquete de datos dado.
                        Esto no funcionaría en un JoinRequest/JoinAccept ya que
                        estos paquetes no tienen un fCnt

Argumentos requeridos:

Descargar herramienta