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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
efi_fuzz — مدعّم بتوجيه التغطية لمتغيرات NVRAM في UEFI باستخدام محاكاة Qiling و AFL++ لاكتشاف ثغرات البرامج الثابتة من خلال التغيير الآلي للمدخلات واكتشاف الأعطال. | Kitploit
أدوات/GitHubGitHub/sentinel-one/efi_fuzz
أمان الأنظمة المدمجةالتحليل الديناميكي (عزل)تحليل الثغرات الأمنيةالاختبار العشوائيتحليل الملفات الثنائيةتحليل البرامج الثابتةArchived
GitHubsentinel-one/efi_fuzz

efi_fuzz

مدعّم بتوجيه التغطية لمتغيرات NVRAM في UEFI باستخدام محاكاة Qiling و AFL++ لاكتشاف ثغرات البرامج الثابتة من خلال التغيير الآلي للمدخلات واكتشاف الأعطال.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Gitter chat


efi_fuzz

أداة بسيطة للفحص الموجّه بتغطية لمتغيرات NVRAM في UEFI. مبني على Qiling و AFL++.
كتب بواسطة Itai Liba (@liba2k) و Assaf Carlsbad (@assaf_carlsbad).

الاستخدام

استخدام بيئة Docker

  1. بناء الصورة:
    docker build -t efi_fuzz .

  2. اختبار البيئة:
    docker run -v $PWD:/efi_fuzz -it efi_fuzz sh -c "cd efi_fuzz/tests/ && pytest -s -v -W ignore::DeprecationWarning"

  3. استخدام البيئة:
    docker run -v $PWD:/efi_fuzz -it efi_fuzz sh -c "cd /efi_fuzz ; bash"

  4. تحضير بيئة NVRAM المحاكاة (سيكون عليك توفير صورة الروم):
    python3 scripts/prepare_nvram.py rom.bin nvram.pickle

  5. تحضير المجموعة الأولية لمتغيرات NVRAM:
    python3 scripts/prepare_afl_corpus.py rom.bin afl_inputs

  6. إجراء تشغيل جاف للفاحص:
    python3 efi_fuzz.py <target> <nvram> <varname> <seed>

  7. إذا نجح الأمر، انتقل إلى الفحص الكامل:
    afl-fuzz -i afl_inputs/<varname> -o afl_outputs/ -U -- python3 efi_fuzz.py <target> <nvram> <varname> @@

تثبيت البيئة محلياً

  1. إذا كنت تعمل على Windows، قم بتثبيت WSL. نوصي باستخدام WSL2 بدلاً من WSL الأصلي، لأنه قد يكون بطيئاً أحياناً. يمكن العثور على تعليمات التثبيت الكاملة لنظام Windows 10 هنا: https://docs.microsoft.com/en-us/windows/wsl/install-win10

  2. داخل توزيعة WSL، قم بتثبيت بعض الحزم الضرورية التي ستسمح لنا بتجميع كود المصدر بلغة C:
    sudo apt install build-essential automake

  3. قم بتثبيت AFL++ مع دعم وضع Unicorn.
    3.1. استنساخ المستودع:
    git clone https://github.com/AFLplusplus/AFLplusplus
    3.2. بناء ملفات AFL++ الأساسية:
    make
    3.3. بناء ميزة دعم Unicorn:
    cd unicorn_mode
    ./build_unicorn_support.sh
    3.4. تثبيت كل شيء:
    make install

  4. احصل على البرامج الثابتة UEFI التي ترغب في فحصها وقم بفك ضغطها. للحصول على التفاصيل الفنية الكاملة حول كيفية القيام بذلك عملياً، انظر هنا أو هنا.

  5. استنساخ الفاحص وتثبيت التبعيات المطلوبة:
    git clone https://github.com/Sentinel-One/efi_fuzz
    pip install -r efi_fuzz/requirements.txt

Triton مطلوب لنشر التلوث.
يمكن العثور على تعليمات تثبيت Triton هنا:
https://triton.quarkslab.com/documentation/doxygen/#install_sec

  1. تحضير بيئة NVRAM المحاكاة:
    python scripts/prepare_nvram.py rom.bin nvram.pickle

  2. تحضير المجموعة الأولية لمتغيرات NVRAM:
    python scripts/prepare_afl_corpus.py rom.bin afl_inputs

  3. إجراء تشغيل جاف للفاحص:
    python efi_fuzz.py <target> <nvram> <varname> <seed>

  4. إذا نجح الأمر، انتقل إلى الفحص الكامل:
    afl-fuzz -i afl_inputs/<varname> -o afl_outputs/ -U -- python efi_fuzz.py <target> <nvram> <varname> @@

خيارات سطر الأوامر

  • -e, --end: تحديد عنوان نهاية للمحاكاة.
  • -t, --timeout: تحديد قيمة مهلة جديدة للمحاكاة، بالمللي ثانية.
  • -o, --output: تحديد تنسيق الإخراج لأغراض التصحيح. القيم الصالحة هي: trace، disasm، debug و off (القيمة الافتراضية هي off).
  • -n, --no-sanitize: تعطيل منظف الذاكرة (القيمة الافتراضية هي False).
  • -u, --track-uninitialized: تتبع الذاكرة غير المهيأة عبر Triton ونشر التلوث (تجريبي!).
  • -x, --extra-modules: قائمة بالوحدات الإضافية لتحميلها لتلبية تبعيات الهدف.

قراءة إضافية

يمكن العثور على مزيد من المعلومات حول البرامج الثابتة UEFI بشكل عام و efi_fuzz بشكل خاص هنا:

  • Moving From Common-Sense Knowledge About UEFI To Actually Dumping UEFI Firmware
  • Moving From Manual Reverse Engineering of UEFI Modules To Dynamic Emulation of UEFI Firmware
  • Moving From Dynamic Emulation of UEFI Modules To Coverage-Guided Fuzzing of UEFI Firmware
تنزيل الأداة