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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lenovo_y700_tb320fc_on_CVE-2025-21479 — Lenovo Legion Y700 2023 (TB320FC) 向けのインメモリカーネル特権昇格。Qualcomm Adreno GPU の SMMU 脆弱性 CVE-2025-21479 を悪用し、ReSukiSU による root 管理を行う。 | Kitploit
ツール/GitHubGitHub/xjoker/lenovo_y700_tb320fc_on_cve-2025-21479
Androidセキュリティ特権昇格永続化メカニズムエクスプロイトモバイルアプリペンテストポストエクスプロイトモバイルセキュリティペイロード開発バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubxjoker/lenovo_y700_tb320fc_on_cve-2025-21479

lenovo_y700_tb320fc_on_CVE-2025-21479

Lenovo Legion Y700 2023 (TB320FC) 向けのインメモリカーネル特権昇格。Qualcomm Adreno GPU の SMMU 脆弱性 CVE-2025-21479 を悪用し、ReSukiSU による root 管理を行う。

リポジトリを見る
971ヶ月前未レビュー

TB320FC カーネルルート — CVE-2025-21479

English | 简体中文

Lenovo Legion Y700 2023 (TB320FC) 向けのインメモリ・カーネル権限昇格。CVE-2025-21479(Qualcomm Adreno GPU SMMU 脆弱性)を悪用し、完全な root 管理を ReSukiSU が提供します。

アクティベーションにブートローダーのアンロック不要。書き込み不要。PC 不要。

⚠️ 所有するデバイス上での許可されたセキュリティ研究向けです。免責事項を参照してください。


対象デバイス

このプロジェクトのすべてのオフセットと動作は、以下のデバイス向けに調整されています。再調整なしで他のモデル/ROM で動作することを期待しないでください(exploit/device_info.txt を参照)。

モデルLenovo Legion Y700 2023 (TB320FC) / TB320FC_PRC
SoCQualcomm SM8475 (Snapdragon 8+ Gen 1, Adreno 730)
システムZUXOS 1.1.350 / Android 15 (SDK 35)
ビルドAQ3A.240812.002 (TB320FC_CN_OPEN_USER_Q00031.0_V_ZUXOS_1.1.350_ST_250418)
カーネル5.10.209-android12-9-gef44381c3e04-ab50
セキュリティパッチ2025-03-05
ブートローダーロック済み(このプロジェクトではアンロックしません)

2026-09 時点で上記ファームウェアでの動作を確認済みです。

機能

機能実装
権限昇格cheese エクスプロイト: KGSL SMMU バグ → GPU による任意物理メモリ読み書き → インメモリ root(uid 0 + 全ケーパビリティ)
root 管理ReSukiSU(KernelSU フォーク)が late-load モードで kernelsu.ko をロード。su はカーネル内フック(u:r:ksu:s0)が提供
SELinuxアクティベーション後に Enforcing へ復元(ReSukiSU のポリシールールは適用されたまま)
ワンタップ UXエクスプロイト + ksud を内蔵した RootActivator APK。起動後にワンタップするだけ
自動復旧(オプション)起動時トリガーの自己修復チェーン: 適応型ロードゲート付きトリガー → cheese → root パイプライン → オプションの hosts/Vector。デフォルトではオフ(com.poc.roottool.CONFIG)
Xposed モジュールNeoZygisk(ptrace による zygote インジェクション)+ Vector 経由でサポート
永続化設計上なし(インメモリ): 再起動ごとに再アクティベーションが必要(約 3〜4 分。または自動復旧チェーンを有効化)

スクリーンショット

RootActivator(アクティベーション済み)ReSukiSU(動作中、モジュール 2 個)
RootActivatorReSukiSU

左: アクティベーション成功後の RootActivator — SELinux Enforcing、kernelsu ロード済み、su 利用可能。 右: ReSukiSU マネージャー — LKM モードがモジュール 2 個(NeoZygisk + Vector)で動作中。

仕組み

RootActivator APK
   │
   ├─ libcheese.so ── KGSL SMMU exploit (CVE-2025-21479)
   │     1. Adreno 730 microcode access-check flaw (SDS packet mistaken for RingBuffer)
   │     2. Fake CP_SMMU_TABLE_UPDATE overwrites GPU TTBR0 → arbitrary physical R/W
   │     3. Zero selinux_state.enforcing; dump kernel from fixed PA 0xA8000000,
   │        parse kallsyms from the raw image (SM8475 has no physical KASLR)
   │     4. Patch __do_sys_capset with an escalation shellcode
   │        (prepare_kernel_cred(0) + commit_creds + clear TIF_SECCOMP);
   │        forked child calls capset() → uid 0 + full caps
   │
   └─ libksud.so (ReSukiSU) ── late-load mode
         1. kernelsu.ko loaded from ksud's embedded assets with manual relocation
            (does not rely on kernel symbol exports)
         2. install → /data/adb/ksu (ksud/busybox/bootctl)
         3. su channel online: /system/bin/su → kernel hook redirect → u:r:ksu:s0
         4. setenforce 1 — Enforcing restored, policy rules already injected by the ko

注目すべきエンジニアリング上のポイント

  • Qualcomm GKI はカーネルシンボルのエクスポートを削減している。 上流の KernelSU が必要とする 77 個のシンボルが欠落しているため、単純な insmod kernelsu.ko は失敗する。ReSukiSU の遅延ロードはシンボルを自身で解決し、正常にロードされる。
  • cheese における CPU アフィニティの修正。 マルチコア環境では、パッチ適用済みのカーネルテキストが別コア上の古い命令で実行される可能性があり(I-cache コヒーレンス)、パニックを引き起こす。プロセスを単一コアに固定することで、エクスプロイトの信頼性が大幅に向上する。
  • 負荷への敏感さ。 起動後の初期化ストーム中(5〜10 分)は失敗率が著しく高くなる。docs/TROUBLESHOOTING.md を参照。

クイックスタート

1. RootActivator を入手する

ソースからビルドする(ビルド を参照)か、GitHub Releases ページから APK を取得する(リポジトリには保存されていない)。

2. ReSukiSU マネージャーをインストールする

ReSukiSU Releases からダウンロードし、マネージャー APK をインストールする。

3. 有効化する

  1. 起動後、5〜10 分待つ(ツールはシステム負荷を自動検出し、必要に応じて待機する)
  2. RootActivator を開く → Activate Root をタップ
  3. 3〜4 分待つ(進行状況は内蔵ログに表示される)
  4. 完了したら、ReSukiSU マネージャーを開き、アプリ(Shizuku、ターミナルなど)に root を付与する

4.(任意)Xposed モジュールのサポート

  1. NeoZygisk をインストールする(ReSukiSU マネージャー → モジュール → ストレージからインストール)
  2. Vector(Xposed フレームワーク)をインストールする
  3. root が有効になった後、デバイス上でインジェクターを起動する(有効化ではこれは行われない):
    su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
    
  4. 詳細は docs/VECTOR.md を参照

リポジトリ構成 — PoC + アクティベーター

このリポジトリには PoC(エクスプロイト)とそのワンタップアクティベーターが含まれています。カスタム デバイスレイヤー(debloat スクリプト、privacy-hosts モジュール、Xposed スコープツール、 bring-up ヘルパー)は別のプライベートアーカイブに ツリー外 で保管されており、 意図的にこのリポジトリには含まれていません。 詳細: docs/ARCHITECTURE.md。

├── LICENSE / CHANGELOG.md
├── README.md / README.zh-CN.md
│
├── exploit/            the PoC — root acquisition (CVE-2025-21479)
│   ├── source/         cheese.c / kallsyms_lookup.c / adrenaline.h
│   ├── device_info.txt Target device parameters (offsets, verified facts)
│   ├── build.sh        Build script (requires Android NDK)
│   └── README.md       Boundary statement, runtime chain, known failure modes
│
├── app/                RootActivator — one-tap activator (all extras OFF by default)
│   ├── src/            BootReceiver / HealGuardService / HealConfig / MainActivity (Kotlin)
│   ├── assets/         selfheal.sh / waiter.sh / xposed-up.sh
│   ├── native/         libcheese.so + libksud.so (built from exploit/; see tools/fetch_assets.py)
│   ├── AndroidManifest.xml
│   ├── debug.keystore  debug signing key used by the public APK
│   ├── build.py        Build script (kotlinc + d8 + aapt2 + apksigner)
│   └── README.md       App documentation
│
├── tools/              Build / inspection helpers
│   ├── fetch_assets.py         Host: prepare native assets (exploit + ksud)
│   ├── status_check.sh         On-device: root / module snapshot
│   └── check_mods.sh           On-device: module inspection helper
├── docs/               Documentation (English)
│   ├── ARCHITECTURE.md         Chains, engineering notes, root-cause records
│   ├── TROUBLESHOOTING.md      Failure handling, success-rate data
│   └── VECTOR.md               Xposed (NeoZygisk + LSPosed/Vector) setup
└── screenshots/        On-device PNG evidence

ビルド

exploit (Android NDK)

cd exploit
NDK=/path/to/android-ndk ./build.sh
# Produces ./cheese (arm64) → used as app/native/libcheese.so

RootActivator APK

cd app
python ../tools/fetch_assets.py    # prepare native assets
python build.py                    # requires kotlinc + Android build-tools
# Produces RootActivator.apk

ビルドが受け付ける環境変数(詳細は app/build.py を参照): KOTLIN_HOME、ANDROID_BUILD_TOOLS、ANDROID_JAR、KEYSTORE、JAVA_HOME。 fetch_assets.py はさらに RESUKISU_APK(ReSukiSU の arm64 APK へのパス)を必要とし、 libksud.so を抽出します。

制限事項

  • 再起動のたびに再アクティベーションが必要(メモリ内方式のため、何も永続化されない)
  • アクティベーション失敗率は約20〜40%(エクスプロイト固有の性質。失敗するとデバイスが 再起動するがデータ損失はない — 再試行するだけ)
  • ディスプレイパスのウェッジ: 一部のアクティベーションではディスプレイドライバが ウェッジ状態になる(msm_drm HDCP カーネルスレッドがスタック → SurfaceFlinger が起動できず → フレームワークがデッドロック。vold/keystore2 がクラッシュループ)。完全な再起動でのみ 解消する。根本原因と証拠: docs/ARCHITECTURE.md
  • adb root は利用不可(adbd cannot run as root in production builds)
  • Xposed には NeoZygisk が必要。ksud soft-reboot は絶対に使用しないこと — ディスプレイが ウェッジ状態にあるとユーザー空間の起動がデッドロックする(SurfaceFlinger ↔ ActivityManager)。 代わりに NeoZygisk の ptrace インジェクションを使用すること

免責事項

ツールをダウンロード