Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
efi_fuzz — QilingエミュレーションとAFL++を使用し、自動入力ミューテーションとクラッシュ検出を通じてファームウェアの脆弱性を発見する、UEFI NVRAM変数向けのカバレッジガイド型ファザー。 | Kitploit
ツール/GitHubGitHub/sentinel-one/efi_fuzz
組み込みシステムセキュリティ動的分析 (サンドボックス)脆弱性分析ファジングバイナリ解析ファームウェア解析Archived
GitHubsentinel-one/efi_fuzz

efi_fuzz

QilingエミュレーションとAFL++を使用し、自動入力ミューテーションとクラッシュ検出を通じてファームウェアの脆弱性を発見する、UEFI NVRAM変数向けのカバレッジガイド型ファザー。

リポジトリを見る
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をインストールしてください。元のWSLは時々遅くなることがあるため、WSL2を推奨します。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
    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 に関する詳細情報はこちら:

  • UEFIに関する常識的な知識から実際のUEFIファームウェアダンプへ
  • UEFIモジュールの手動リバースエンジニアリングからUEFIファームウェアの動的エミュレーションへ
  • UEFIモジュールの動的エミュレーションからUEFIファームウェアのカバレッジ誘導型ファジングへ
ツールをダウンロード