VulnKit 是一个模块化、可扩展的 Android 本地权限提升与安全漏洞验证工具。它集成了多个历史高危漏洞的利用代码,支持通过反射动态加载漏洞模块,并提供统一的 Root Shell 管理接口。
- 支持多个 CVE 漏洞(提权、越权、信息泄露等)
- 反射动态加载漏洞类,便于扩展和维护
- 统一的 Root Shell 管理(基于管道通信)
- 终端界面支持命令交互
- 漏洞列表可搜索、过滤
- 线程池管理 + 超时控制,避免单个漏洞崩溃影响整体
- 预检系统调用可用性(如 setuid 被 seccomp 拦截时自动跳过)
| CVE 编号 | 漏洞简述 | 影响 Android 版本 | 漏洞类型 |
|---|---|---|---|
| CVE-2019-2215 | Binder 驱动 UAF,覆盖 addr_limit 实现内核提权 | 9–10 | 内核提权 (Root) |
| CVE-2020-29374 | Linux 内核 UAF 漏洞 | 10–11 | 内核提权 (Root) |
| CVE-2021-0340 | NFC 组件泄露设备位置信息 | 10 | 信息泄露 (User) |
| CVE-2022-20347 | 蓝牙权限校验绕过 | 10–12L | 越权提权 (User) |
| CVE-2022-20360 | Secure NFC 权限提升 | 10–12L | 越权提权 (User) |
| CVE-2022-22057 | 内核 USB 驱动 UAF | 10–12 | 内核提权 (Root) |
| CVE-2023-20913 | UI 点击劫持漏洞 | 10–13 | 越权提权 (User) |
| CVE-2023-20938 | 权限提升漏洞(Binder 竞争条件) | 11–13 | 越权提权 (User) |
| CVE-2024-0044 | run-as 命令注入提权 | 12–13 | 越权提权 (User) |
| CVE-2024-32996 | 内核 SLUB 分配器 UAF | 12–14 | 内核提权 (Root) |
| CVE-2024-43066 | 蓝牙组件信息泄露 | 12–14 | 信息泄露 (User) |
| CVE-2024-43093 | Unicode 路径遍历信息泄露 | 12–15 | 信息泄露 (User) |
| CVE-2024-53104 | USB 视频类驱动越界读写 | 12–15 | 内核提权 (Root) |
| CVE-2025-0088 | Android 系统组件权限提升 | 13–15 | 越权提权 (User) |
| CVE-2025-12345 | Wi-Fi 配置越权临时修改(演示漏洞) | 10+ | 越权提权 (User) |
| CVE-2025-20801 | 三星 OneUI 组件提权 | 13–14 | 越权提权 (User) |
| CVE-2025-21479 | 内核 io_uring 子系统 UAF | 13–15 | 内核提权 (Root) |
| CVE-2025-26425 | Pixel 内核驱动整数溢出 | 14–15 | 内核提权 (Root) |
| CVE-2025-32320 | 剪贴板历史泄露 | 13+ | 信息泄露 (User) |
| CVE-2025-36920 | 高通 WLAN 驱动缓冲区溢出 | 13–15 | 内核提权 (Root) |
| CVE-2025-38352 | POSIX CPU 定时器 UAF 竞争条件 | 13–16 | 内核提权 (Root) |
| CVE-2025-48536 | 混淆代理漏洞导致系统设置篡改 | 13–16 | 越权提权 (User) |
| CVE-2025-48543 | 系统 UI 组件权限提升 | 13–16 | 越权提权 (User) |
| CVE-2025-48572 | Android Framework 组件提权 | 13–16 | 越权提权 (User) |
| CVE-2025-48578 | 媒体框架代码执行 | 13–16 | 越权提权 (User) |
| CVE-2025-48602 | 内核 Netfilter 模块 UAF | 13–16 | 内核提权 (Root) |
| CVE-2025-48633 | GPU 驱动竞争条件 | 13–16 | 内核提权 (Root) |
| CVE-2025-48636 | USB 音频驱动越界写入 | 13–16 | 内核提权 (Root) |
| CVE-2025-48645 | 蓝牙 HCI 层缓冲区溢出 | 13–16 | 越权提权 (User) |
| CVE-2025-48646 | NFC 组件权限绕过 | 13–16 | 越权提权 (User) |
| CVE-2025-54642 | 内核文件系统符号链接处理缺陷 | 13–16 | 内核提权 (Root) |
| CVE-2025-64312 | 显示驱动内存损坏 | 14–16 | 内核提权 (Root) |
| CVE-2025-67890 | 音量设置越权修改(演示漏洞) | 11+ | 越权提权 (User) |
| CVE-2026-0032 | Android 运行时权限绕过(演示/研究编号) | 15–16 | 越权提权 (User) |
| CVE-2026-0038 | 系统更新组件签名验证绕过(演示/研究编号) | 15–16 | 越权提权 (User) |
| CVE-2026-0107 | 图形内存控制器 confused deputy 提权 | 10+ | 内核提权 (Root) |
| CVE-2026-21385 | Qualcomm KGSL 显示组件内存损坏 UAF | 13–16 | 内核提权 (Root) |
说明:部分 CVE 编号(如 CVE-2025-12345、CVE-2025-67890、CVE-2026-0032、CVE-2026-0038)为项目预留的演示/测试漏洞,实际利用代码对应通用权限提升或配置修改行为。所有漏洞类均通过
IExploit接口实现,由ExploitLoader动态加载。
- Android Studio Hedgehog 或更高版本
- NDK r25c 或更高
- Android SDK 33 (targetSdk) / minSdk 25
- 测试设备:已解锁 Bootloader 或允许安装测试应用(无需 root)
git clone https://github.com/your-repo/VulnKit.git
cd VulnKit使用 Android Studio 打开项目
- 等待 Gradle 同步完成
- 连接 Android 设备(开启 USB 调试)
- 点击 Run 按钮
手动编译 Native 库
cd app/src/main/cpp
ndk-build./gradlew assembleDebug- 安装 APK 并授予必要权限(存储、悬浮窗等)
- 打开应用,主界面为终端(可输入命令)
- 点击右上角 "+" 进入漏洞列表
- 选择对应漏洞,点击“继续”执行利用
- 成功后返回主界面,在终端中输入 su 切换至 root shell(仅提权漏洞有效)
- 部分漏洞可能导致系统崩溃或重启,请提前备份数据
- CVE-2024-31317 已因稳定性问题移除
- 持久化功能已禁用,避免设备变砖
- 在较新的 Android 内核上,某些系统调用(如 setuid)可能被 seccomp 拦截,应用会自动检测并跳过相应漏洞
- Shizuku API (v13.1.5) - 辅助权限操作(可选)
- AndroidX AppCompat / RecyclerView / Material Design
欢迎提交 Issue 或 Pull Request。新增漏洞时请实现 IExploit 接口,并在 ExploitLoader 中注册类名。