Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
laf — يهدف هذا المشروع إلى توفير مجموعة من الأدوات لصياغة وتحليل وإرسال وفحص واختراق مجموعة من حزم LoRaWAN بهدف تدقيق أو اختبار أمان البنية التحتية لـ LoRaWAN. | Kitploit
أدوات/GitHubGitHub/ioactive/laf
التقاط وتحليل الحزمأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيأمن الشبكات اللاسلكيةالتشفيراختبار الاختراق
GitHubioactive/laf

laf

يهدف هذا المشروع إلى توفير مجموعة من الأدوات لصياغة وتحليل وإرسال وفحص واختراق مجموعة من حزم LoRaWAN بهدف تدقيق أو اختبار أمان البنية التحتية لـ LoRaWAN.

عرض المستودع
1873754منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

إطار عمل تدقيق LoRaWAN - نسخة ألفا

تستمر عمليات نشر إنترنت الأشياء في النمو، وجزء من هذا النمو الكبير يتكون من ملايين أجهزة الاستشعار منخفضة الطاقة واسعة النطاق (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 محليًا واستخدام قاعدة بيانات Postgres من حاوية Docker بدلاً من sqlite ;). سيحاول LAF الاتصال بـ Postgres عبر 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. تنزيل وتثبيت تبعيات بايثون:

    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' حتى الخطوة الثالثة.

    b. SQLite:

    1. cd laf/auditing/db
    2. قم بتعديل __init__.py باستخدام محرر النصوص المفضل لديك وقم بتعليق الأسطر الخاصة باستخدام Postgres (اتصال قاعدة البيانات ومتغيرات البيئة) وقم بإلغاء تعليق السطر الخاص باستخدام 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:

  • الرابط: 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، وبالنسبة لحزم البيانات NwkSKey.
                        لا يمكن التحقق من ذلك مسبقًا بواسطة هذا البرنامج. على سبيل المثال
                        00112233445566778899AABBCCDDEEFF
-a DEVADDR, --devaddr DEVADDR
                        عنوان الجهاز للانتحال، معطى بتنسيق سداسي عشري (إجمالي 8 أحرف)،
                        على سبيل المثال AABB0011.
--fcnt FCNT           عداد الإطار الذي سيتم تعيينه في حزمة البيانات المعطاة.
                        لن يعمل هذا في JoinRequest/JoinAccept لأن هذه الحزم لا تحتوي على fCnt

الوسائط المطلوبة:

تنزيل الأداة