Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
laf — Этот проект предназначен для предоставления набора инструментов для создания, разбора, отправки, анализа и взлома набора пакетов LoRaWAN с целью аудита или тестирования на проникновение безопасности инфраструктуры LoRaWAN. | Kitploit
Инструменты/GitHubGitHub/ioactive/laf
Сниффинг и анализ пакетовБезопасность IoTАнализ уязвимостейЭксплуатацияФаззингБезопасность беспроводных сетейКриптографияТестирование на Проникновение
GitHubioactive/laf

laf

Этот проект предназначен для предоставления набора инструментов для создания, разбора, отправки, анализа и взлома набора пакетов LoRaWAN с целью аудита или тестирования на проникновение безопасности инфраструктуры LoRaWAN.

18737534 лет назадПроверено Kitploit
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

LoRaWAN Auditing Framework - АЛЬФА-ВЕРСИЯ

Развертывания IoT продолжают расти, и значительная часть этого роста состоит из миллионов LPWAN-сенсоров (маломощные сети с большим радиусом действия), развернутых в сотнях городов (Умные города) по всему миру, а также в промышленности и домах. Одной из наиболее используемых LPWAN-технологий является LoRa, для которой LoRaWAN является сетевым стандартом (MAC-уровень). LoRaWAN — это безопасный протокол со встроенным шифрованием, но проблемы реализации и уязвимости влияют на безопасность большинства текущих развертываний.

Этот проект предоставляет набор инструментов для создания, разбора, отправки, анализа и взлома набора пакетов LoRaWAN с целью аудита или пентеста безопасности инфраструктуры LoRaWAN.

Ниже представлена структура этого репозитория:

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

Начало работы

Мы предоставляем различные варианты для запуска вашей среды аудита LoRaWAN:

  1. Первый — для тех, кто хочет установить его локально. Мы рекомендуем этот вариант, если ваша основная цель — использовать инструменты пентеста из папки tools/, чтобы избежать проблем с пробросом портов Docker.
  2. Второй вариант — для тех, кто хочет запустить его в контейнере Docker, избегая ручной установки зависимостей. Мы рекомендуем этот вариант, если вы хотите использовать анализаторы и у вас нет времени на ручную настройку окружения.
  3. Конечно, вы можете запускать LAF локально и использовать БД PostgreSQL из контейнера Docker вместо sqlite ;). LAF попытается подключиться к PostgreSQL через localhost. Инструкции по настройке Docker ниже.

Установка LAF в локальную среду

Эти инструкции помогут вам получить копию проекта и его зависимостей на вашем локальном компьютере. Команды ниже предназначены для окружения на основе Debian:

  1. Клонируйте этот репозиторий: git clone --recurse-submodules https://github.com/IOActive/laf.git

  2. Установите python3:

    1. sudo apt-get update
    2. sudo apt-get install python3.6
  3. Загрузите и установите зависимости Python:

    1. sudo pip3 install paho-mqtt && sudo pip3 install sqlalchemy && sudo pip3 install psycopg2-binary &&sudo pip3 install python-dateutil
  4. Установите PYTHONPATH и ENVIRONMENT

    1. cd laf && export PYTHONPATH=$(pwd) && export ENVIRONMENT='DEV'
  5. Установите и настройте golang:

    1. Загрузите golang с https://golang.org/dl/ в зависимости от вашей операционной системы.
    2. Перейдите в папку, куда был загружен установщик go: cd ~/Downloads
    3. Распакуйте установщик: sudo tar -C /usr/local -xvzf YOUR_GOLANG_FILE
    4. Добавьте в PATH: export PATH=$PATH:/usr/local/go/bin
    5. Установите GOPATH: export GOPATH="$HOME/go"
  6. Скомпилируйте библиотеку 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. В зависимости от того, какую БД вы хотите использовать:

    a. PostgreSQL: Следуйте инструкциям «Установка LAF с помощью Docker» до 3-го шага.

    b. SQLite:

    1. cd laf/auditing/db
    2. Измените __init__.py с помощью вашего текстового редактора, закомментируйте строки для использования с PostgreSQL (подключение к БД и переменные окружения) и раскомментируйте строку для использования с sqlite.

Вот и всё!

Установка LAF с помощью Docker

Этот подход позволяет избежать установки зависимостей и запускает базу данных PostgreSQL, где инструменты сохраняют пакеты и данные. Контейнеры:

  • Инструменты.
  • PostgreSQL.
  • PgAdmin4.

Шаги:

  1. Клонируйте этот репозиторий: git clone https://github.com/IOActive/laf.git
  2. Перейдите в cd laf/
  3. Запустите контейнеры: docker-compose up --build
  4. Если вы хотите использовать инструменты внутри контейнера: docker exec -ti laf_tools_1 /bin/bash
  5. Наслаждайтесь!

Подключение к базе данных через pgAdmin

Вы можете проверить данные в БД с помощью pgAdmin:

Сначала откройте pgAdmin:

  • URL: http://localhost:5001
  • Пользователь: pgadmin
  • Пароль: pgadmin

Затем добавьте сервер:

  • Хост: db
  • Порт: 5432
  • Пользователь: postgres
  • Пароль: postgres

Описание инструментов

Здесь приведено описание директорий и инструментов/функций внутри них.

/tools

Основная цель инструментов в этой папке — облегчить выполнение пентеста инфраструктуры LoRaWAN.

UdpSender.py

Этот инструмент предназначен для отправки восходящих пакетов (на сетевой сервер или gatewayBridge, в зависимости от инфраструктуры) или нисходящих пакетов (на packet-forwarder). Опционально пакеты могут быть фаззированы, а также может быть вычислен корректный MIC.

Необязательные аргументы:

-h, --help            показать это справочное сообщение и выйти
--lcl-port LCL_PORT   Исходный порт, например --lcl-port=623.
--timeout TIMEOUT     Время в секундах между отправкой каждого пакета. По умолчанию 1с. За это время отправитель будет ожидать ответы.
--repeat              Отправить сообщение несколько раз
--fuzz-out FUZZ_OUT [FUZZ_OUT ...]
                        Фаззить данные, отправляемые на целевой порт (см. режимы фаззинга в utils/fuzzer.py), например --fuzz-out 1 2.
--key KEY             Укажите ключ (в шестнадцатеричном формате, всего 32 символа / 16 байт) для подписи пакетов (вычисление и добавление нового MIC). Обратите внимание, что для JoinRequests это должен быть AppKey, а для Data-пакетов — NwkSKey. Это не может быть проверено заранее этой программой. Например: 00112233445566778899AABBCCDDEEFF
-a DEVADDR, --devaddr DEVADDR
                        DeviceAddress для подмены, заданный в шестнадцатеричном формате (всего 8 символов), например AABB0011.
--fcnt FCNT           Счетчик кадров, который будет установлен в данном пакете данных. Это не сработает для JoinRequest/JoinAccept, так как эти пакеты не имеют fCnt

Обязательные аргументы:

Скачать инструмент