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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
iomfb-exploit — CVE-2021-30807 のエクスプロイト | Kitploit
ツール/GitHubGitHub/jsherman212/iomfb-exploit
iOSセキュリティメモリフォレンジック脆弱性分析エクスプロイトモバイルセキュリティバイナリエクスプロイト
GitHubjsherman212/iomfb-exploit

iomfb-exploit

CVE-2021-30807 のエクスプロイト

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

解説記事はこちら: https://jsherman212.github.io/2021/11/28/popping_ios14_with_iomfb.html

CVE-2021-30807のエクスプロイトです。これを使ってジェイルブレイクを構築したい場合、デバイスとiOSバージョンに合わせたチューニングが必要です。なぜなら、これに使用できる情報漏洩がないからです。

A11以下向けにチューニングするには、pongoを使用してxnuspyをロードし、SAMPLING_MEMORY=1 make -B でビルドします。これにより、kernel_memory_allocateから返されたメモリを収集し、それらのポインタをソートして範囲を出力するテストが有効になります。次のような出力が表示されます:

root@kitploit:~
sample_kernel_map: 0xffffffe8ebe9c000 [0x10000 bytes from behind]
sample_kernel_map: to add to alloc_averager:
[0xffffffe8ce934000, 0xffffffe8ebf98000],

(警告が出力されますが無視してください)

このテストは、デバイスの起動から30秒後に実行することを想定しています。

内部のalloc_averager.pyには、私が自分の端末で実行したサンプルがいくつか含まれています。各範囲の平均値の平均を計算します。デバイス用の「サンプルリスト」を作成し、その範囲を追加してください。リストに5〜10個のエントリができるまでテストを数回繰り返します。alloc_averager.pyは、リストに基づいて生成された推測の成功率を報告します。成功率が良ければ、その推測値を取得し、IOMobileFramebufferUserClient.cの冒頭にあるGUESSED_OSDATA_BUFFER_PTRの値をそれで置き換えてください。

このリストに外れ値を含めないことが非常に重要です。テストを数回実行すると、既存の範囲から大きく外れた範囲に遭遇する可能性があります。

このテストを実行するには、デバイス/バージョンに応じたオフセットを見つける必要があります。

まず、kernel_memory_allocateを見つけるには、kernel_memory_allocate: VM is not readyをクロスリファレンスします。オフセットを取得したら、install_kernel_memory_alloc_hook内でkmaの値をそれに設定します。

次に、テストをXNUが行う他のアロケーションから分離するために、特定のリターンアドレスをチェックします。そのアドレスはOSData::initWithCapacity内にあります。文字列"OSData"をクロスリファレンスすることで、OSDataのvtableを簡単に見つけられます。その文字列への最初のクロスリファレンスは、OSData::MetaClassのvtableへのクロスリファレンスがある関数内にあります。そのvtableのすぐ上にOSDataのvtableがあり、OSData::initWithCapacityは+0x78にあります。

OSData::initWithCapacityを見つけたら、kernel_memory_allocateへの唯一のBLを見つけ、そのすぐ下の命令のオフセットを取得します。kernel_hooks.c内で、そのファイル内の唯一の関数にある唯一のif文でそのオフセットを使用します。

A12以降では、Correliumのようなものを使う必要があります。

ツールをダウンロード