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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
o3root — Shizuku を利用した CVE-2026-98260 の root 化と、Xiaomi yingtian / lhasa(カーネル 6.18.21)向け KernelSU ランタイム LKM ローダー | Kitploit
ツール/GitHubGitHub/zsw125/o3root
Androidセキュリティ特権昇格エクスプロイトポストエクスプロイトモバイルセキュリティ論文と研究学習と教育ペイロード開発
GitHubzsw125/o3root

o3root

Shizuku を利用した CVE-2026-98260 の root 化と、Xiaomi yingtian / lhasa(カーネル 6.18.21)向け KernelSU ランタイム LKM ローダー

リポジトリを見る
331112日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

O3 Root

verify release license platform devices

中国語訳: README.zh-CN.md — 本ファイルの翻訳です。両者に相違がある場合は、この英語版ファイルが正式版となります。

Xiaomi yingtian(Pad 9 Pro Max)および lhasa(Xiaomi 18 Fold)ファミリー向けの、HyperOS 4(Android 17、カーネル 6.18.21)上でのローカル権限昇格 + KernelSU。チェーン全体は、シェルモードで Shizuku を駆動し、CVE-2026-98260 を悪用し、インストール済みのマネージャー(KernelSU / KernelSU-Next / SukiSU)に一致する KernelSU ファミリーの LKM をロードする、通常の Android アプリとして提供されます。PC 不要、ブートローダーのアンロック不要、パーティションの変更も不要です。

研究 / 教育 / デバイス修理プロジェクトです。ブートのみ(再起動すると消えます)。所有しているデバイスでのみ実行してください。使用前に docs/SECURITY.md をお読みください。

エージェント / 自動コントリビューター: まず AGENTS.md(エントリポイント: 不変条件、ビルド/テスト手順、罠、衛生管理)を読み、次に docs/AGENT_HANDOFF.md(検証済みの状態、失敗した実験、未完了の作業)を読んでください。コミット前に bash scripts/verify.sh を実行してください。ツールチェーン環境が設定されていれば、ペイロード/APK も再ビルドされます。

中文版: AGENTS.zh-CN.md / docs/AGENT_HANDOFF.zh-CN.md

ステータス

リリースv3.2(release/o3root2-v3.2.apk、14,239,248 B、sha256 64bbc654…)
O1 テストビルドv3.3.3-o1-test(release/test/o3root2-v3.3.3-o1-test.apk、14,247,440 B、sha256 62411f72…): v3.2 に実験的な O1(XRING)プロファイル(dijun / jinghu / violin)と隠しルートコンソールを追加したもの。6.18.21-android17…-4k カーネルシリーズ上の任意の OS4.0.0.x ビルドを受け入れます: 解析済みビルドが検証済みパスであり、その他のビルドは警告付きの緩和モードで実行されます。テスター専用で、実機検証は未実施
以前のテストビルドv3.2.1-console(release/beta/o3root2-v3.2.1-console.apk、14,243,344 B、sha256 9cba365a…): 安定版 v3.2 に隠しルートコンソールを追加したもの(バージョン行を長押し、3 回の確認)
O1 デバイスOS4.0.0.x 上の Xiaomi O1 SoC dijun / jinghu / violin: 3 機種すべてが同一の 6.18.21 カーネル(sha256 0d9917ca…、g1d099fcb35e0)を搭載。静的解析ではチェーンが適用可能と判断されているが、実機テストは未実施
カスタム LKMオプションのユーザー提供 KernelSU ファミリー .ko(基本的な互換性チェックあり。組み込みの適応型モジュールにフォールバック。選択内容は保存され、起動時に復元されます — 行を長押しするとクリア)
チェーンShizuku シェル → CVE-2026-98260 → uid=0 + 全ケーパビリティ → 一致する KernelSU LKM(KernelSU / KernelSU-Next / SukiSU)→ rootd
永続化なし(現在のブートのみ)
テスト済みデバイスXiaomi Pad 9 Pro Max yingtian、HyperOS OS4.0.16.0.XBMCNXM
2 台目のデバイスlhasa(Xiaomi 18 Fold、OS4.0.26.0.XPNCNXM): ブートカーネルが yingtian のものとビット単位で同一(sha256 cde87cd7…)であるため、同じペイロードが適用可能。実機テストは未実施

仕組み(概要)

  1. アプリは Shizuku の newProcess を介して /system/bin/sh -c … を起動するため、 ペイロードは u:r:shell:s0(uid=2000)で実行されます。
  2. ペイロードは CLOCK_THREAD_CPUTIME_ID + execve/de_thread レース(CVE-2026-98260)をトリガーし、解放された posix_timers_cache の order-1 スラブ ページを、偽造された RB ツリーノードを含むスプレーされた kmalloc-8k バッファで再利用し、 2 回目の timerqueue_del → rb_erase を使って任意のカーネルアドレスに 8 バイトの値を書き込みます。
  3. ステージ 0 は selinux_state-7 への 8 バイトの非アラインド書き込みで enforcing をクリアします(これにより隣接する notif_lock の pending/tail バイトもクリアされますが、initialized/policycap はそのまま残ります)。ステージ 1 は task_struct.cred を偽の cred ページ(uid 0、全権限)に書き込みます。
  4. ペイロードは埋め込まれた KernelSU LKM をロードします。未定義シンボルは 実行時に /proc/kallsyms を通じて解決され(フォールバック: 248 シンボルの union 再リンク + 現在の KASLR スライド)、init パッチはありません — policycap が クリーンなままだったため、KernelSU 自身の setenforce(1) は無害であり、デバイスは Enforcing のまま終了します。その後 insmod され、rootd デーモンが残されます (抽象ソケット @o3p_rootd、peer-uid 0/2000)。上流の KernelSU、 KernelSU-Next、SukiSU の LKM はすべて動作します(レガシー: O3P_CODEPATCH=1 は setenforce の即値をパッチします)。v3.1 以降、アプリは代わりに選択した .ko をロードできます (基本的な ELF/.modinfo 互換性チェック、拒否またはロード失敗時は組み込み LKM へ自動フォールバック)。v3.1.1 以降、その選択は 永続化され(files/custom-ko.ko + custom-ko.meta)、起動時に復元されます。 検証に通らなくなった古いファイルは破棄され、モジュール行の長押しでクリアされます。 v3.2 以降、ログボックスは選択可能で、ログ全体をコピーする 复制 アクションがあります。自動スクロールは、すでに最下部付近にいる場合にのみ 行われます。認識された O1 デバイスでは、テストビルドは ペイロード開始前に 2 段階のリスク確認を求めます。テスト ビルドはさらに、バージョン行の長押しで root コンソールを隠します。 スキップ不可の確認が 3 回あり、その後コマンドは rootd ソケットを介して root として 実行されます(現在のブートで 1 回ペイロードを実行している必要があります)。 安定版ビルドにはコンソールクラスは含まれていません。

オフセット、書き込みプリミティブ、KernelSU パッチ、移植ガイドについては docs/ARCHITECTURE.md を参照してください。

クイックスタート

  1. デバイス上で: 開発者向けオプションを有効化 → ワイヤレスデバッグ(または ADB)。 Shizuku / ShizukuX をインストールし、shell モードで起動します: shizuku_plus_server は uid=2000、u:r:shell:s0 として実行されている必要があります。
  2. release/o3root2-v3.2.apk をインストールします(MIUI では「USB 経由でインストール」を許可する必要がある場合があります)。
  3. O3 Root を開き、Shizuku の権限を付与し、Continue to UID 0 を押します。 ログには ★ UIDNOW uid=0、 ★ KSU_MODULE LIVE が表示され、KernelSU マネージャーが自動的に開きます。

O1 デバイス(dijun / jinghu / violin)でテストしていますか? 代わりに release/test/o3root2-v3.3.3-o1-test.apk をインストールし、docs/TESTING_O1.md に従ってください。ゲートは 任意の 6.18.21-android17…-4k カーネル(OS4.0.0.x)で 3 つのコードネームを受け入れます。 解析済みビルド g1d099fcb35e0 は検証済みパスを取得し、他のビルドは 固件门禁通过(O1 宽松模式:…) をログに記録し、警告付きで O1 アドレスを再利用します。 ペイロードは SELINUX_PROFILE kernel=… base=… src=env|uname をログに記録するため、レポートには エクスポートされたログだけで十分です。

マネージャーがインストールされていませんか? ボタンは Install KernelSU manager に変わり、 バンドルされた APK をインストールします(システムのプロンプトを受け入れてください)。

リポジトリ構成

AGENTS.md   entry point for automated contributors (invariants, traps, checks)
app/        Android app sources (Java), manifest, res, build.sh
payload/    o3p.c (exploit payload + runtime KernelSU loader), 248-symbol
            fallback table / relinker, mk_payload.py, build-payload.sh,
            legacy/ (earlier revisions)
tools/      OTA/kernel extraction + verification scripts
docs/       architecture, security, build, OTA analysis, feasibility report,
            evidence screenshots
scripts/    toolchain fetcher, env template, build-all
release/    prebuilt APK + checksums
third_party/ notices for bundled third-party components

ビルド

bash scripts/fetch-toolchain.sh
cp scripts/env.example.sh env.sh && . ./env.sh   # edit paths
bash payload/build-payload.sh                    # -> payload/build/libo3p.so
bash app/build.sh                                # -> app/build/o3root2.apk

完全な前提条件とトラブルシューティング: docs/BUILD.md。

制限事項

  • ブートのみ: 再起動するとrootとKernelSUは失われます。永続化には boot/init_bootのパッチが必要ですが(ロックされたブートローダーによりブロックされます)、 対象外です。
  • 確率的: UAFレースには1〜6回の試行が必要です(時にはそれ以上)。アプリは 再試行します。通常、再起動が助けになります。
  • SELinuxの状態: v3はEnforcingで終了し、selinux_stateはクリーン (policycapは未変更)であるため、MACは有効のままです。レガシーのO3P_SELDIRTY=1 パスのみがPermissive(システム全体でMACオフ)で終了します。セキュリティノートを参照してください。
  • レガシーpolicycapの副作用: O3P_SELDIRTY=1の場合のみ。このパスは 依然として古いダーティ値を書き込むため、setenforce 1を実行するとWi-Fi TXが setenforce 0または再起動まで停止します。v3のデフォルトはこれを回避し、リカバリUIを 搭載していません(v1.8〜v2.1にはガードとリカバリボタンがありました)。
  • KernelSU LKM ABI: アップストリームは6.18.32-4k向けにモジュールをビルドしましたが、 この6.18.21カーネル向けに再リンクされているため、カーネルをtaintします。 本番環境のrootソリューションとして扱わないでください。
  • プロファイル依存: オフセット/アドレスはこの正確なカーネル向けにコンパイルされています。 異なるビルドには新しいプロファイルが必要です(docs/ARCHITECTURE.mdのポーティング セクションを参照)。O1テストビルドは唯一のガード付き例外です。これは 6.18.21-android17…-4kシリーズの任意のOS4.0.0.xビルドを受け入れ、分析済みのO1 selinux_stateアドレスを再利用し、他の静的値は比較されていないことを警告します。

証拠

ツールをダウンロード