Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hazel-cve-2026-43499 — ファームウェア固有の一時的ルートエクスプロイト。Toshiba/Amazon Fire TV(hazel)向けで、CVE-2026-43499を利用します。ARM32 futex-PI UAF、カーネルアドレスリーク、mm_structリクレーム、資格情報パッチを実装し、ADB経由でUID 0を達成します。 | Kitploit
ツール/GitHubGitHub/dorlow/hazel-cve-2026-43499
Androidセキュリティ組み込みシステムセキュリティ特権昇格エクスプロイトフレームワークエクスプロイトポストエクスプロイトハードウェアとIoTセキュリティペイロード開発バイナリエクスプロイト
GitHubdorlow/hazel-cve-2026-43499

hazel-cve-2026-43499

ファームウェア固有の一時的ルートエクスプロイト。Toshiba/Amazon Fire TV(hazel)向けで、CVE-2026-43499を利用します。ARM32 futex-PI UAF、カーネルアドレスリーク、mm_structリクレーム、資格情報パッチを実装し、ADB経由でUID 0を達成します。

12682ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

Hazel Fire TV 一時的 root

Amazon hazel Fire TV プラットフォーム向けの一時的 root エクスプロイトで、CVE-2026-43499 に基づいています。このエクスプロイトは、複数のメーカーの Hazel テレビで共有されている ARM32 Linux 4.9 ファームウェアを対象としています。プロファイルは現在、PS7657.3645N から PS7716.5665N までのファームウェアをカバーしています。

現在ハードウェアでテスト済みの構成は次のとおりです:

デバイスToshiba Fire TV (hazel)
Fire OS ビルドPS7716.5665N
カーネルLinux 4.9.113
製品モデルAFTHA004 (C350)

[!WARNING] このエクスプロイトは複数の Hazel リリースをサポートしていますが、依然としてファームウェア固有です。カーネルアドレス、構造体オフセット、および再利用設定は厳格なプロファイルから読み込まれます。PS7716.5665N はハードウェアでテスト済みです。同梱されている古いプロファイルは静的なファームウェア解析に基づいており、一致するテレビからの報告がまだ必要です。

プロファイルのマッチングを回避したり、無関係なファームウェアにアドレスを手動でコピーしたりしないでください。静的に生成されたプロファイルは、一致するハードウェアでの確認が依然として必要です。

ヒープ再利用に失敗すると、パニックが発生してテレビが再起動する可能性があります。root は一時的なものであり、再起動後に失われます。テレビがフリーズした場合は、いつでも電源を入れ直すことができます。

機能概要

このエクスプロイトは CVE-2026-43499 を使用して、通常の ADB シェル環境から一時的な UID 0 を取得します。

エクスプロイトチェーンには以下が含まれます:

  • ARM32 futex-PI UAF エクスプロイト
  • カーネルアドレスのリーク
  • mm_struct のクロスキャッシュ再利用
  • 制御されたカーネルオブジェクトの再利用
  • カーネル読み書きプリミティブ
  • 現在のタスクの探索
  • 資格情報のパッチ適用
  • ローカル root コマンドサーバー/クライアント
  • 厳格なファームウェアプロファイル選択と読み取り後のランタイム検証

実行に成功すると、エクスプロイトは root パスに必要なカーネルオブジェクトを維持したまま、ローカルコマンドデーモンを起動します。

SELinux は強制 (Enforcing) のままです。root デーモンを介して実行されるコマンドは、shell SELinux ドメインと、このファームウェアで利用可能なケーパビリティバウンディングセットを保持します。

ファイル

  • hazel_root.c メインのエクスプロイト、カーネル読み書きステージ、資格情報のパッチ適用、および root コマンドクライアント/サーバー
  • hazel_reclaim.h カーネルアドレスのリークと mm_struct のクロスキャッシュ再利用
  • hazel_profile.c、hazel_profile.h 厳格なプロファイルパーサーとランタイムマッチャー
  • profiles/ レビュー済みおよび生成済みのファームウェアプロファイル
  • tools/profile_creator/ Python/uv によるファームウェアアナライザーと互換プロファイル作成ツール
  • tools/device_scripts/ オプションの OTA、Amazon サービス、およびランチャーユーティリティ

要件

  • ADB
  • Android NDK r27d
  • テレビで ADB デバッグが有効になっていること
  • ARMv7 Android 実行ファイルをビルドできるホスト

以下の例では、Linux 上で adb が $PATH に含まれていることを前提としています。

ビルド (オプション)

NDK を Android NDK r27d のディレクトリに設定してください:

export NDK=/path/to/android-ndk-r27d

次にコンパイルします:

"$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" \
    --target=armv7a-linux-androideabi28 \
    -O2 -g0 -Wall -Wextra -Wpedantic -fPIE -pie \
    hazel_root.c hazel_profile.c -o hazel_root \
    -pthread

インストール

ADB を使用して TV に接続します。

ネットワーク ADB を使用する場合:

adb connect <TV_IP>:5555

エクスプロイトをプッシュします:

adb shell mkdir -p /data/local/tmp/profiles
adb push hazel_root /data/local/tmp/hazel_root
adb shell chmod 755 /data/local/tmp/hazel_root
adb push profiles/. /data/local/tmp/profiles/

プロファイル選択をエクスプロイトをトリガーせずに確認する:

adb shell 'cd /data/local/tmp && ./hazel_root --check-profile'

ローダーは ro.product.device、ビルドフィンガープリント、インクリメンタルバージョン、カーネルリリース、およびアーキテクチャの完全一致を要求します。不正な形式のプロファイル、未知のフィールド、サポートされていないエクスプロイトパス、一致が見つからない場合、および複数のプロファイルが一致する場合を拒否します。明示的なプロファイルは次のようにして確認できます:

adb shell 'cd /data/local/tmp && ./hazel_root --check-profile --profile profiles/PROFILE.conf'

実行

クリーンブートから開始します:

adb shell 'cd /data/local/tmp && ./hazel_root'

正常に完了した実行は、次のような出力で終わります:

[root] uid=0 euid=0 gid=0
[ROOT] uid=0 daemon pid=... socket=@hazel_root

回収は確率的です。失敗した試行はクリーンに失敗するか、パニックを起こしてテレビを再起動する可能性があります。

テレビが再起動した場合は、正常に起動させてから再度試行してください。

エクスプロイトが成功したら、別のコピーを起動しないでください。実行中のプロセスを閉じて、次のコマンドに進んでください。

root としてコマンドを実行する

同じバイナリが root デーモンのクライアントとして機能します:

adb shell 'cd /data/local/tmp && ./hazel_root --client id'

例:

adb shell 'cd /data/local/tmp && ./hazel_root --client getenforce'
adb shell 'cd /data/local/tmp && ./hazel_root --client cat /proc/self/status'
adb shell 'cd /data/local/tmp && ./hazel_root --client "id; uname -a"'

成功した root コマンドは次を報告するはずです:

uid=0(root) gid=0(root) context=u:r:shell:s0

UID 0 は SELinux をバイパスしないことに注意してください。SELinux は Enforcing のままです。

OTA アップデートを無効化する

tools/device_scripts/disable_ota.sh を root デーモン経由でプッシュして実行します:

adb push tools/device_scripts/disable_ota.sh /data/local/tmp/disable_ota.sh
adb shell chmod 755 /data/local/tmp/disable_ota.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_ota.sh"'

スクリプトは両方の Fire OS OTA パッケージを無効化し、保留中のアップデータ状態をクリアし、結果として得られる Package Manager の状態を検証します。TV の再起動は行いません。

Amazon パッケージの強制適用、ACR、メトリクスの無効化

tools/device_scripts/disable_amazon_services.sh は、Arcus リモート設定プロキシ、ADEP アプリケーションブロックサービス、Automatic Content Recognition (ACR)、およびテスト済みの Hazel ファームウェアに存在する専用の Amazon メトリクスパッケージを無効化します。ACR は無効化され、その保存データはクリアされますが、読み取り専用のシステム APK は削除されないため、この操作は可逆です。スクリプトは CrashManager や低レベルのログパッケージを無効化しないため、エクスプロイトの開発やトラブルシューティング中もカーネルパニックや Dropbox の診断情報が利用可能なままです。

スクリプトをプッシュし、root デーモン経由で実行します:

adb push tools/device_scripts/disable_amazon_services.sh /data/local/tmp/disable_amazon_services.sh
adb shell chmod 755 /data/local/tmp/disable_amazon_services.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh"'

現在の状態を何も変更せずに表示します:

adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh status"'

後で必要に応じてパッケージを復元します:

adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh restore"'

有効または無効化されたパッケージの状態は、通常は再起動後も維持されます。パッケージを復元しても、無効化中に消去されたパッケージデータは復元されません。

ランチャーヘルパー

ランチャースクリプトも tools/device_scripts/ にあります。Projectivy を選択するには:

adb push tools/device_scripts/set_projectivy_launcher.sh /data/local/tmp/set_projectivy_launcher.sh
adb shell chmod 755 /data/local/tmp/set_projectivy_launcher.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/set_projectivy_launcher.sh"'

ストックランチャーを復元するには:

adb push tools/device_scripts/restore_stock_launcher.sh /data/local/tmp/restore_stock_launcher.sh
adb shell chmod 755 /data/local/tmp/restore_stock_launcher.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/restore_stock_launcher.sh"'

リカバリ

TV を再起動します:

adb reboot

このエクスプロイトは一時的なカーネル状態のみを変更するため、再起動後には root は失われます。

root が有効な間に永続的な Android 設定やデータに対して意図的に行った変更は、もちろん再起動によって必ずしも元に戻るわけではありません。

ファームウェアプロファイル

現在ファームウェアアーカイブに掲載されている 24 個の Hazel ファームウェアバージョンはすべて、PS7657.3645N から PS7716.5665N まで profiles/ 内のプロファイルによって表現されています。デバイス識別情報が一致すれば、これらはすべて自動選択の対象として利用可能です。

ファームウェアファミリープロファイル検証
PS7702.4965N から PS7716.5665N12 プロファイルFire OS 7.7.x.x 以降。静的検証済み。PS7716 は Toshiba AFTHA004 でのハードウェアテストも実施済み。
PS7657.3645N から PS7699.4896N12 プロファイルより古い Fire OS 7.6.x.x リリース。静的再配置済みで、より実験的。一致するハードウェアでのテストは依然として必要。

Toshiba および TCL PS7716

PS7716 プロファイルは TCL の hazel-tm OTA から生成され、その後 Toshiba AFTHA004 で正常に使用されました。生成されたビルドデータにより完全なカーネルハッシュは異なりますが、レビュー済みのコード、アドレス、構造レイアウトは一致しています。

ローダーは実行時に analysis.* ハッシュを比較しません。Toshiba と TCL は同じ製品、フィンガープリント、インクリメンタルビルド、カーネルリリース、アーキテクチャを使用しており、マーケティングモデルはワイルドカード化されています。したがって、1 つの PS7716 プロファイルが両ブランドをカバーします。

古いファームウェア

PS7702.4965N は現在の 99% 類似度のフロンティアです。PS7702 およびそれ以降のすべてのプロファイルは、厳格な静的検証パスに合格しました。古い PS7657 から PS7699 までのプロファイルは独立した再配置を必要としたため、プロファイル作成者がそれら向けのプロファイルを出力するのに十分な証拠を見つけたとしても、より実験的です。

ハードウェアの範囲

エクスプロイトには Toshiba や TCL のモデルチェックはありません。プロファイルは、正確なファームウェアおよびカーネル識別チェックを維持しつつ、マーケティングモデルをワイルドカード化する場合があります。したがって、この設計は、ファームウェアがレビュー済みプロファイルに一致し、カーネルが選択されたエクスプロイトパスをサポートする任意の hazel ボードテレビをサポートできます。

これは、hazel コードネームを報告するすべてのファームウェアが自動的に互換性を持つという意味ではありません。異なるカーネルレイアウト、CPU トポロジ、アロケータの動作、またはベンダーパッチは、別のプロファイルや別のエクスプロイトパスを必要とする場合があります。ローダーは、共有コードネームだけで十分だと仮定せず、一致しないビルドを拒否します。

プロファイル未登録の hazel デバイスとの互換性を仮定しないでください。

エクスプロイトの移植に関心がある場合、有用なターゲット情報には以下が含まれます:

adb shell getprop ro.product.model
adb shell getprop ro.product.device
adb shell getprop ro.product.board
adb shell getprop ro.build.version.incremental
adb shell uname -a

ファームウェアからプロファイルを作成する

cd tools/profile_creator
uv run python profile_creator.py inspect /path/to/update.bin
ツールをダウンロード