Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
efi_fuzz — कवरेज-निर्देशित फ़ज़र UEFI NVRAM वेरिएबल्स के लिए Qiling एमुलेशन और AFL++ का उपयोग करके स्वचालित इनपुट म्यूटेशन और क्रैश डिटेक्शन के माध्यम से फर्मवेयर कमजोरियों का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/sentinel-one/efi_fuzz
एम्बेडेड सिस्टम सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणफज़िंगबाइनरी विश्लेषणफर्मवेयर विश्लेषणArchived
GitHubsentinel-one/efi_fuzz

efi_fuzz

कवरेज-निर्देशित फ़ज़र UEFI NVRAM वेरिएबल्स के लिए Qiling एमुलेशन और AFL++ का उपयोग करके स्वचालित इनपुट म्यूटेशन और क्रैश डिटेक्शन के माध्यम से फर्मवेयर कमजोरियों का पता लगाता है।

रिपॉजिटरी देखें
1541981 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Gitter chat


efi_fuzz

UEFI NVRAM चरों के लिए एक सरल, कवरेज-निर्देशित फ़ज़र। 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 वातावरण तैयार करें (आपको ROM इमेज प्रदान करनी होगी):
    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. Unicorn मोड समर्थन के साथ AFL++ स्थापित करें।
    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

Triton दाग प्रसार (taint propagation) के लिए आवश्यक है।
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
टूल डाउनलोड करें

pip install -r efi_fuzz/requirements.txt