Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lenovo_y700_tb320fc_on_CVE-2025-21479 — In-memory kernel privilege escalation for Lenovo Legion Y700 2023 (TB320FC) exploiting CVE-2025-21479, a Qualcomm Adreno GPU SMMU flaw, with ReSukiSU root management. | Kitploit
工具/GitHubGitHub/xjoker/lenovo_y700_tb320fc_on_cve-2025-21479
Android SecurityPrivilege EscalationPersistence MechanismsExploitationMobile App PentestingPost-ExploitationMobile SecurityPayload DevelopmentBinary Exploitation

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubxjoker/lenovo_y700_tb320fc_on_cve-2025-21479

lenovo_y700_tb320fc_on_CVE-2025-21479

In-memory kernel privilege escalation for Lenovo Legion Y700 2023 (TB320FC) exploiting CVE-2025-21479, a Qualcomm Adreno GPU SMMU flaw, with ReSukiSU root management.

查看仓库
3719天前尚未审核

TB320FC 内核提权 — CVE-2025-21479

English | 简体中文

联想拯救者 Y700 2023(TB320FC)的内存态内核提权方案,利用 CVE-2025-21479(Qualcomm Adreno GPU SMMU 漏洞),并通过 ReSukiSU 提供完整的 root 管理能力。

不需要解锁 Bootloader、不需要刷机、激活阶段不需要电脑。

⚠️ 仅限对你自己拥有或明确获得授权的设备进行安全研究。详见免责声明。


目标设备

本项目的所有偏移与行为均针对以下设备调校。未经重新适配,不要预期在其他机型/固件上可用(详见 exploit/device_info.txt)。

型号联想拯救者 Y700 2023(TB320FC)/ TB320FC_PRC
SoCQualcomm SM8475(骁龙 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
Bootloader已锁定(本项目不解锁)

2026-09 已在上述固件上验证可用。

特性

能力实现
提权cheese exploit:KGSL SMMU 漏洞 → GPU 任意物理内存读写 → 内存态 root(uid 0 + full caps)
Root 管理ReSukiSU(KernelSU fork)以 late-load 模式加载 kernelsu.ko;su 由内核 hook 提供(u:r:ksu:s0)
SELinux激活后恢复 Enforcing(ReSukiSU 策略规则保持在线)
一键操作RootActivator APK 内置 exploit 与 ksud,开机后点一下即可
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 漏洞利用(CVE-2025-21479)
   │     1. Adreno 730 微码访问检查缺陷(SDS 包被误判为 RingBuffer)
   │     2. 伪造 CP_SMMU_TABLE_UPDATE 覆写 GPU TTBR0 → 任意物理内存读写
   │     3. 清零 selinux_state.enforcing;从固定物理地址 0xA8000000 转储内核镜像,
   │        直接从原始镜像解析 kallsyms(SM8475 无物理 KASLR)
   │     4. 将 __do_sys_capset 补丁为提权 shellcode
   │        (prepare_kernel_cred(0) + commit_creds + 清 TIF_SECCOMP);
   │        fork 的子进程调用 capset() → uid 0 + full caps
   │
   └─ libksud.so(ReSukiSU)── late-load 模式
         1. kernelsu.ko 从 ksud 内嵌资产加载(手动重定位,不依赖内核符号导出)
         2. install → /data/adb/ksu(ksud/busybox/bootctl)
         3. su 通道就绪:/system/bin/su → 内核 hook 重定向 → u:r:ksu:s0
         4. setenforce 1——恢复 Enforcing(策略规则已由 ko 注入)

关键工程点

  • Qualcomm GKI 裁剪了内核符号导出:上游 KernelSU 所需的 77 个符号缺失,直接 insmod kernelsu.ko 会失败。ReSukiSU 的 late-load 自行解析符号后可正常加载。
  • 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、终端等)

4. (可选)Xposed 模块支持

  1. 安装 NeoZygisk(ReSukiSU 管理器 → 模块 → 从存储安装)
  2. 安装 Vector(Xposed 框架)
  3. 激活成功后,在设备上启动注入器(激活流程不会自动做这一步):
    su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
    
  4. 详见 docs/VECTOR.md(英文)

目录结构 —— PoC + 激活器

本仓库只包含 PoC(漏洞利用)及其一键激活 app。设备侧的自定制层 (debloat 脚本、隐私 hosts 模块、Xposed 作用域工具、拉起脚本等)刻意 不入本仓库,保存在仓库之外的私有存档中。 详见 docs/ARCHITECTURE.md。

├── LICENSE / CHANGELOG.md
├── README.md / README.zh-CN.md
│
├── exploit/            PoC —— 获取 root(CVE-2025-21479)
│   ├── source/         cheese.c / kallsyms_lookup.c / adrenaline.h
│   ├── device_info.txt 目标设备参数(偏移量、已验证事实)
│   ├── build.sh        编译脚本(需 Android NDK)
│   └── README.md       边界声明、运行链、已知失败模式
│
├── app/                RootActivator —— 一键激活(附加项默认全关)
│   ├── src/            BootReceiver / HealGuardService / HealConfig / MainActivity(Kotlin)
│   ├── assets/         selfheal.sh / waiter.sh / xposed-up.sh
│   ├── native/         libcheese.so + libksud.so(由 exploit/ 构建,见 tools/fetch_assets.py)
│   ├── AndroidManifest.xml
│   ├── debug.keystore  公开 APK 使用的调试签名
│   ├── build.py        构建脚本(kotlinc + d8 + aapt2 + apksigner)
│   └── README.md       应用文档(英文)
│
├── tools/              构建 / 巡检辅助
│   ├── fetch_assets.py         主机:准备 native 资产(exploit + ksud)
│   ├── status_check.sh         设备内:root / 模块快照
│   └── check_mods.sh           设备内:模块检查辅助
├── docs/               文档(英文)
│   ├── ARCHITECTURE.md         链路、工程注记、根因记录
│   ├── TROUBLESHOOTING.md      失败处理、成功率数据
│   └── VECTOR.md               Xposed(NeoZygisk + LSPosed/Vector)部署
└── screenshots/        真机 PNG 证据

构建

exploit(Android NDK)

cd exploit
NDK=/path/to/android-ndk ./build.sh
# 产出 ./cheese(arm64)→ 用作 app/native/libcheese.so

RootActivator APK

cd app
python ../tools/fetch_assets.py    # 准备 native 资产
python build.py                    # 需要 kotlinc + Android build-tools
# 产出 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 内核线程 D 状态 → 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 注入替代

免责声明

本项目仅供安全研究与教育目的使用,且仅限用于你自己拥有或明确获得授权的设备。使用者需自行承担一切后果与法律责任。漏洞利用可能导致设备重启,极端情况下可能造成数据丢失——请先备份重要数据。

致谢

  • zhuowei/cheese —— CVE-2025-21479 原始 exploit(Zhuowei Zhang)
  • ReSukiSU —— 带 late-load 模式的 KernelSU fork
  • NeoZygisk —— ptrace zygote 注入
  • Vector — Xposed 框架
  • hawkes —— adrenaline.h(KGSL 命令定义)

许可

MIT

下载工具