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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BootStomp — BootStomp: ブートローダの脆弱性発見ツール | Kitploit
ツール/GitHubGitHub/ucsb-seclab/bootstomp
Androidセキュリティ脆弱性分析エクスプロイトファジングバイナリ解析ファームウェア解析
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: ブートローダの脆弱性発見ツール

リポジトリを見る
41666137年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

BootStomp

License

BootStompはブートローダーのバグファインダーです。メモリ破損と状態ストレージの脆弱性という2種類のバグを検出します。詳細については、BootStompの論文(https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017 )を参照してください。

BootStompの解析を実行するには、以下の手順をお読みください。BootStompはARMアーキテクチャ(32ビットおよび64ビットの両方)向けにコンパイルされたブートローダーで動作し、結果はangrやZ3のバージョンによって多少異なる場合があることに注意してください。これは、angrが基本ブロックを解析するのにかかる時間と、Z3の式の具体化結果に依存するためです。


ディレクトリ構造

  • analysis: さまざまなデバイスのブートイメージの解析結果(例:IDA idbなど)が含まれます。
  • tools: さまざまなイメージを扱うためのツールが含まれます。

前提条件

  • angr (http://angr.io/)

$ pip install angr

  • IDA PRO (https://www.hex-rays.com/products/ida/)
  • IDA Decompiler (https://www.hex-rays.com/products/decompiler/)

実行方法

Dockerを使ったBootStompの実行

BootStompを最も簡単に使用する方法は、Dockerコンテナ内で実行することです。 dockerフォルダには適切なDockerfileが含まれています。 使用するためのコマンドは以下の通りです。

root@kitploit:~
cd docker
# Dockerイメージをビルド
docker build -t bootstomp .
# Dockerイメージを実行(永続的な変更や共有ファイルが必要な場合は適切なオプションを使用)
docker run -it bootstomp

# これでDockerコンテナ内に入ります
cd BootStomp
# サンプルの1つでBootStompの汚染解析を実行
# これには約30分かかります
python taint_analysis/bootloadertaint.py config/config.huawei
# 出力の最終行は次のようになります:
# INFO    | 2017-10-14 01:54:10,617 | _CoreTaint | Results in /tmp/BootloaderTaint_fastboot.img_.out

# 結果を「プリティプリント」するには、次を使用:
python taint_analysis/result_pretty_print.py /tmp/BootloaderTaint_fastboot.img_.out

出力は次のようになります:

root@kitploit:~
...
17)
===================== Start Info path =====================
Dereference address at: 0x5319cL
Reason: at location 0x5319cL a tainted variable is dereferenced and used as address.
...
Tainted Path 
----------------
0x52f3cL -> 0x52f78L -> 0x52f8cL -> 0x52fb8L -> 0x52fc8L -> 0x52fecL -> 0x53000L -> 0x53014L -> 0x5301cL -> 0x53030L -> 0x53044L -> 0x53050L -> 0x5305cL -> 0x53068L
===================== End Info path =====================
# Total sinks related alerts: 5
# Total loop related alerts: 8
# Total dereference related alerts: 4

BootStompの手動実行

汚染ソースとシンクの自動検出

  1. ブートローダーバイナリをIDAにロードします(v6.95を使用しました)。抽出元の電話のCPUアーキテクチャに応じて、32ビットまたは64ビットのIDAが必要です。
  2. メニューバーから「File」→「Script file」→find_taint.pyを実行します。
  3. 出力は、ブートローダー自体と同じディレクトリにあるtaint_source_sink.txtファイルに表示されます。

設定ファイル

ブートローダーバイナリ用のJSON設定ファイルを作成します(config/の例を参照)。設定項目は次の通りです:

  • bootloader: ブートローダーファイルのパス
  • info_path: ブートローダーのソース/シンク情報ファイルのパス(例:taint_source_sink.txt)
  • arch: アーキテクチャのビット数(使用可能なオプションは32と64)
  • enable_thumb: 解析中にThumbモードを考慮するかどうか(必要な場合)
  • start_with_thumb: Thumbモードを有効にして解析を開始するかどうか
  • exit_on_dec_error: 一部の命令がデコードできない場合に解析を停止するかどうか
  • unlock_addr: ロック解除関数のアドレス。このフィールドは、安全でない状態ストレージの脆弱性を見つける場合にのみ必要です。

メモリ破損の脆弱性を見つける

実行:

python bootloadertaint.py 設定ファイルのパス

結果は/tmp/BootloaderTaint_[ブートローダー].outに保存されます。ここで[ブートローダー]は解析されたブートローダーの名前です。ループを含むパスは複数回表示される可能性があることに注意してください。

安全でない状態ストレージの脆弱性を見つける

実行:

python unlock_checker.py 設定ファイルのパス

結果は/tmp/UnlockChecker_[ブートローダー].outに保存されます。ここで[ブートローダー]は解析されたブートローダーの名前です。ループを含むパスは複数回表示される可能性があることに注意してください。

結果の確認

BootStompの結果を確認するには、スクリプトresult_pretty_print.pyを次のように使用します:

python result_pretty_print.py 結果ファイル

CVE-2017-2729のエクスプロイト

その他の参考文献

  • Kernel and lk source for MediaTek MT65x2
  • MediaTek details: Partitions and Preloader
  • Reverse Engineering Android's Aboot
  • (L)ittle (K)ernel based Android bootloader
  • Little Kernel Boot Loader Overview by Qualcomm
  • android: arm: bootloader: how (L)ittle (K)ernel loads boot.img
  • BootUnlocker for Nexus Devices
  • Verifying Boot
  • Freeing my tablet (Android hacking, SW and HW)
  • How to lock the samsung download mode using an undocumented feature of aboot
  • BIOS and Secure Boot Attacks Uncovered
  • Apple IOS Security
  • Debugging HTC phone boot-laoders
  • Debugger for HBOOT
  • Analysing HBOOT
ツールをダウンロード