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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AppEnumGuard — CVE-2025-31207の緩和策と、iOS 15〜18.4.1のrootlessおよびrootHide脱獄向けサンドボックス化テスター。 | Kitploit
ツール/GitHubGitHub/kolbicz/appenumguard
防御ツールiOSセキュリティ脆弱性分析モバイルセキュリティプライバシー
GitHubkolbicz/appenumguard

AppEnumGuard

CVE-2025-31207の緩和策と、iOS 15〜18.4.1のrootlessおよびrootHide脱獄向けサンドボックス化テスター。

リポジトリを見る
521811日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

AppEnumGuard

AppEnumGuard は、CVE-2025-31207 として追跡されているインストール済みアプリケーション列挙のサイドチャネルに対する防御用ツイークです。iOS 15.0〜18.4.1 の従来の rootless および rootHide 脱獄環境に対応しています。 このリポジトリには、脆弱な結果を実証し、緩和策を検証する通常のサンドボックス化された iOS テストアプリケーションも含まれています。

CVE-2025-31207

CVE-2025-31207 は、Apple の FrontBoard アプリケーション起動ロジックにおける情報漏洩の脆弱性です。サンドボックス化されたアプリケーションは、プライベートな SpringBoardServices 起動関数を通じて任意のバンドル識別子を送信し、異なるリターンコードを使用してインストール済みアプリケーションと存在しないアプリケーションを区別できます。これにより、銀行、メッセージング、セキュリティ、サイドローディング、脱獄関連アプリなど、ユーザーがインストールしたアプリケーションに関するプライベート情報が明らかになる可能性があります。

Apple はこの問題を、アプリケーションがインストール済みアプリを列挙できる可能性があるロジックの問題として説明しています。Apple は iOS および iPadOS 18.5 でチェックを改善して修正しました。その結果、iOS 18.5 より前のシステムは OS レベルで影響を受け続けます。

互換性

コンポーネント対応ターゲット
iOS15.0〜18.4.1
脱獄従来の rootless または rootHide 脱獄環境
ブートストラップ/パッケージアーキテクチャrootless / iphoneos-arm64; rootHide / iphoneos-arm64e
デバイスアーキテクチャarm64 および arm64e (rootless); arm64e (rootHide)
パッケージデバイスのブートストラップに一致するパッケージをインストール

デフォルトのビルドは従来の rootless Theos を使用し、arm64 および arm64e スライスを含みます。rootHide バリアントは rootHide Theos でビルドされ、必要な rootHide .jbroot ローダーパスを含みます。両方のパッケージは firmware (>= 15.0) および firmware (<< 18.5) を宣言しています。Apple が CVE-2025-31207 を修正した iOS 18.5 以降では緩和策は不要です。

SpringBoard 側の v1.1 ツイークとサンドボックス化されたテスターは、テスターのインジェクションを無効にした状態で iOS 17.3.1 ビルド 21D61 で一緒に検証されました。テスターはツイークを削除した状態でリークを検出し、ツイークをインストールした後に緑色の合格を返しました。

仕組み

公開されたプリミティブは、プライベートな SpringBoardServices 関数 SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions を呼び出します。脆弱なシステムでは、インストール済みアプリケーションと存在しないアプリケーションで異なるエラーを返します:

  • 9: ターゲットは存在するが、ポリシーにより起動が拒否される
  • 7: ターゲットが存在しない

AppEnumGuard 1.1 は SpringBoard にのみインジェクションし、一般的な FBSystemService 信頼検証メソッドをフックします。不正な起動リクエストが FBSOpenApplicationErrorDomain セキュリティポリシーエラー 3 を返す場合、ツイークはそれをアプリケーション未検出エラー 4 に変更します。外側の SpringBoardServices API は、インストール済みと存在しないターゲットの両方に対して 7 を返します。

プライベートメソッドの引数数と Objective-C タイプエンコーディングは、フックがインストールされる前に検証されます。Apple が ABI を変更した場合、AppEnumGuard は未知の SpringBoard メソッドをフックする代わりにフェイルオープンします。

1.0 からの変更点

バージョン 1.0 は、すべての UIKit アプリケーション内で SpringBoardServices をフックしていました。機能しましたが、保護されるすべてのアプリへのインジェクションが必要でした。インジェクションを無効化または検出するアプリは、緩和策をバイパスできました。バージョン 1.1 では強制を SpringBoard に移し、単一の中央フックが AppEnumGuard をプロセスにインジェクションせずに呼び出し元を保護します。

リリースダウンロード

リリース 1.2 は、いずれかのブートストラップ用にビルドできます:

  • AppEnumGuard_1.2_rootless_iphoneos-arm64.deb — 従来の rootless ツイーク
  • AppEnumGuard_1.2_roothide_iphoneos-arm64e.deb — rootHide ツイーク
  • AppEnumGuardTester_1.2_sandboxed.ipa — アイコン付きサンドボックス化検証アプリ

インストールと検証

  1. rootless または rootHide ブートストラップに一致する .deb をインストールし、リースプリングします。
  2. 通常の開発者/サイドローディング署名を使用してテスター IPA をインストールします。
  3. AppEnum Test の AppEnumGuard インジェクションを無効のままにします。v1.1 は SpringBoard から保護します。
  4. インストールされていることがわかっているアプリの WhatsApp、YouTube、または Spotify アイコンをタップします。

選択したターゲットがインストールされている場合の期待される結果:

| 状態 | ターゲット | 存在しない | テスター結果 | |---|---|---|---:|---:|---| | ツイークなし | 9 | 7 | 赤 / FAIL | | ツイーク有効 | 7 | 7 | 緑 / PASS |

テスターは、選択したアプリが検出できない場合に緑を報告し、検出できる場合に赤を報告します。インストールされていることがわかっているアプリのみを選択してください。7 / 7 だけでは、機能する緩和策と存在しないターゲットを区別できません。

デバイステストでは、テスターのインジェクションを無効にして両方の状態を再現しました。ツイークをアンインストールすると赤の 9 / 7 結果が生成され、v1.1 をインストールすると緑の 7 / 7 結果が生成されました。

ツイークのビルド

標準の Theos を使用すると、デフォルトのビルドは従来の rootless です:

root@kitploit:~
cd Tweak
make clean package FINALPACKAGE=1

rootHide の場合、rootHide Theos をインストールして実行します:

root@kitploit:~
cd Tweak
THEOS=/path/to/theos-roothide \
  make clean package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=roothide

テスター IPA のビルド

テスターは Xcode の iPhoneOS SDK でコンパイルされ、脱獄や昇格された権限はありません:

root@kitploit:~
./scripts/build-tester-ipa.sh

結果の IPA は dist/ に配置されます。アドホック署名されているため、インストーラーは通常の開発 ID で再署名できます。テストは通常のアプリケーションサンドボックスから実行することを意図しているため、platform-application や com.apple.private.security.no-sandbox を付与しないでください。

範囲と制限

  • これは公開された SpringBoardServices プリミティブに対するユーザースペースの緩和策であり、Apple の完全な FrontBoard パッチではありません。
  • バージョン 1.1 は保護されたアプリケーションへのインジェクションを必要としません。グローバルまたは SpringBoard 自体のインジェクションを無効にすると、緩和策が無効になります。
  • サーバー側の実装は iOS 17.3.1 ビルド 21D61 で確認されています。他のサポート対象バージョンでは、プライベートセレクターが期待されるランタイム検証済み ABI を持つ場合にのみ、ツイークはフックをインストールします。
  • 7 / 7 テストは、ターゲットアプリケーションがインストールされていることがわかっている場合にのみ意味があります。
  • テスターは意図的に文書化されていないプライベート API を呼び出しており、App Store への提出には適していません。

参照

  • Apple iOS 18.5 セキュリティコンテンツ
  • NVD: CVE-2025-31207
  • 公開された SpringBoardServices の概念実証
  • rootHide 開発者ドキュメント

ライセンス

MIT

ツールをダウンロード