# allroot **Repository Path**: ytngtaoaaa/allroot ## Basic Information - **Project Name**: allroot - **Description**: 这是一个教程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 4 - **Created**: 2026-07-14 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于 GhostLock (CVE-2026-43499) 的 Android 临时 Root 提权方案 > **GhostLock** 是一个潜伏期长达 15 年的 Linux Kernel futex UAF(Use-After-Free)漏洞,编号 **CVE-2026-43499**。攻击者通过构造 PI-futex 依赖循环触发竞态条件,可在启用 `CONFIG_FUTEX_PI=y` 的内核上实现本地权限提升。 > > 本方案利用该漏洞,在 Android 设备上通过 `LD_PRELOAD` 注入方式获取临时 root 权限,**不修改系统分区,重启后自动恢复**。 ⚠️ **适用范围**:理论上覆盖所有启用 `CONFIG_FUTEX_PI=y` 的 Android 设备;**建议 5.10.\* GKI 内核及以上版本使用**,成功率更优。 --- 闲聊 ![输入图片说明](79291.jpg) ## 📋 前置依赖 | 组件 | 功能描述 | 获取方式 | |---|---|---| | **Payload Dumper Android** | 从 OTA 卡刷包中提取 `boot.img` 分区镜像 | [GitHub Releases](https://github.com/rajmani7584/Payload-Dumper-Android/releases) | | **device.sh(allroot 项目)** | 采集目标设备内核版本、偏移量等关键参数 | [Gitee Releases](https://gitee.com/ytngtaoaaa/allroot/releases) | | **OpenCode** | 开源终端 AI Coding Agent,用于辅助漏洞利用链分析及动态库编译 | [GitHub](https://github.com/anomalyco/opencode) | | **IonStack 漏洞源码** | NebuSec 公开的 CVE-2026-43499 完整 PoC 及 exploit 实现 | [GitHub](https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack/CVE-2026-43499) | --- ## 🚀 执行流程 本流程划分为三个阶段,按序推进即可。 --- ### 阶段一:环境准备与数据采集 本阶段为纯手动操作,完成 boot 分区镜像提取及目标设备信息采集。 **1. 提取 boot.img** 通过 Payload Dumper Android 从 OTA 卡刷包中提取 boot 分区镜像: 1. 下载并安装 [Payload Dumper Android](https://github.com/rajmani7584/Payload-Dumper-Android/releases) 2. 启动应用,载入 OTA 包或 `payload.bin` 文件 3. 选择 `boot` 分区,执行提取操作 4. 将提取得到的 `boot.img` 传输至工作站(或存放于设备 `/sdcard/` 目录备用) **2. 采集设备信息** 在目标设备上执行 device.sh,自动采集内核版本、偏移量等关键参数: ```bash adb shell /文件路径/device.sh ``` > 获取 device.sh:[Gitee allroot Releases](https://gitee.com/ytngtaoaaa/allroot/releases) 将输出的**设备信息**完整保存——这是后续漏洞利用链的核心输入。**至此已完成约 90% 的前置工作。** **3. 配置 AI 辅助工具** 推荐使用 **[OpenCode](https://github.com/anomalyco/opencode)**(开源终端 AI Coding Agent),支持 Claude、GPT 等主流大语言模型。 > 💡 **关于模型安全限制**:部分大语言模型内置安全策略,可能拒绝响应与漏洞利用分析相关的请求。可通过 prompt 工程手段予以规避。本方案提供的 prompt 模板已进行针对性优化,不强制依赖此类手段。 **模型选型建议**:优先采用 Claude 或 GPT-4 级别模型——内核偏移量的精确计算高度依赖模型推理能力,直接影响方案执行成功率。 --- ### 阶段二:自动化漏洞利用链 本阶段通过 AI Agent 完成漏洞利用的自动化执行,分为两轮递进式操作。 --- **第一轮:解包分析与偏移量校准** 将阶段一采集的**设备信息**及 **boot.img** 一并提交至 OpenCode,**复制下方代码块全部内容**粘贴发送: ``` 请先完整理解本次任务的最终目标:利用 GhostLock (CVE-2026-43499) 在目标 Android 设备上获取临时 root 权限。请在理解全局方案后再着手执行。 === 第一轮 === 1. 对 boot.img 进行完整解包,提取 vmlinux 内核镜像并解析完整符号表 注意:boot.img 可能经厂商定制修改,必须逐段验证,不得假设标准布局 2. 克隆漏洞利用源码仓库: git clone https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack/CVE-2026-43499 3. 参照 CVE-2026-43499 源码中定义的偏移量,结合解包得到的 vmlinux 符号表, 为目标设备计算并设置正确的利用偏移量 4. 对偏移量进行动态验证(交叉校验 vmlinux 符号地址与源码预期值) 生成报告文件 report.md,内容应包含: - boot.img 解包结果及 vmlinux 提取状态 - 符号表解析详情 - 偏移量对照表(源码预期值 vs 实际提取值) - 验证结论(通过/失败及原因分析) 本轮输出物:report.md 完成后输出"第一轮执行完毕,等待后续指令"并停止执行。 === 执行规范 === 请以专业安全研究人员的标准审视每一个决策: 1. 禁止走捷径——不得因追求执行速度而降低分析质量 2. 方法论要求——逐层验证、交叉确认,对于不明确的信息必须联网查证并二次验证 3. 可审计性原则——每个步骤均需产出可溯源的中间产物,最终交付物须具备可复现性 你运行于沙箱环境,可自由安装所需依赖。分析质量优先于执行效率。 对于不确定的信息,必须先进行联网查询;若查询结果仍不明确,须执行二次验证。 请在充分理解任务目标后再开始执行。 ``` --- 收到 AI 输出的 `report.md`,确认偏移量验证通过后,进入第二轮。 **第二轮:动态库编译与提权执行** **复制下方代码块全部内容**发送至 AI: ``` === 第二轮 === 基于第一轮已验证通过的偏移量数据,编译完整的可执行 preload.so。 编译要求: - preload.so 在运行期间必须实现强制实时写盘日志机制,日志路径为 /sdcard/Download/log_<时间戳>.txt - 设计目的:防止内核崩溃(panic)导致重启后日志丢失,便于后续调试反馈 - 提权执行命令格式:adb shell LD_PRELOAD=/data/local/tmp/preload.so id 完成后输出编译产物路径及编译结果状态。 ``` 获取 AI 编译生成的 `preload.so` 后,推送至目标设备并执行: ```bash # 将 preload.so 推送至设备临时目录 adb push preload.so /data/local/tmp/preload.so # 执行注入,获取临时 root 权限 adb shell LD_PRELOAD=/data/local/tmp/preload.so id ``` 若终端输出 `uid=0(root)`,则临时 root 权限获取成功 ✅ > ⚡ 该临时 root 权限仅在当前进程上下文内有效,**设备重启后自动失效**,不对系统分区进行任何修改。 --- ### 阶段三:异常诊断与迭代修复 若执行后未获得 `uid=0(root)`,而是出现内核崩溃、设备重启或异常报错——此场景已在方案设计预期之内,preload.so 内置的日志系统即为本阶段而设。 前往 `/sdcard/Download/` 目录获取日志文件 `log_*.txt`,连同终端执行回显一并提交至 AI,**复制下方代码块全部内容**发送: ``` === 第三轮:故障诊断与修复 === 上一轮编译的 preload.so 执行失败,现将现场信息提交如下: 1. 运行时日志:[请将 log_<时间戳>.txt 的文件内容粘贴于此] 2. 终端执行回显:[请将执行过程中的错误信息粘贴于此] 诊断与修复任务: 1. 综合分析日志及报错信息,定位故障根因(偏移量偏差?vmlinux 解析遗漏?编译参数配置异常?) 2. 完成问题修复后重新编译 preload.so 3. 新编译的 preload.so 须保留强制实时写盘日志机制,日志路径保持不变 4. 输出修复报告,内容应涵盖:根因分析 → 修复方案 → 重新编译结果 === 执行规范 === 本轮修复工作的标准较上一轮更为严格。 专业安全研究人员在面对崩溃日志时,不会给出模糊的推测性结论—— 应当逐行分析栈回溯信息,逐字节核验偏移量数据,直至定位到具体的异常字节。 1. 客观承认错误——上一轮的分析结论如有偏差,应当明确承认并重新审视前提假设 2. 基于证据的排查——日志中无法定位根因时,应增强日志输出粒度,重新编译部署后再次采集,直至获得完整的证据链 3. 持续迭代直至达成目标——GhostLock 利用本身存在概率性特征,偏移量误差一个字节即决定成败。单轮失败不代表方案不可行,应持续迭代直至 root 权限获取成功 你运行于沙箱环境,可自由安装所需依赖。不得因"已完成前置分析"而产生懈怠。 宁可执行十轮验证,不可放过任何可疑偏移量。 ``` > 🔄 本阶段可能需要多轮迭代——修复后部署执行,采集日志后再次分析,直至 `uid=0(root)` 成功输出。 --- ## 📖 漏洞技术背景 | 项目 | 说明 | |---|---| | **漏洞名称** | GhostLock | | **CVE 编号** | CVE-2026-43499 | | **漏洞类型** | Linux Kernel futex PI Use-After-Free → 本地权限提升 | | **潜伏周期** | 约 15 年 | | **前置条件** | 攻击者具备本地执行能力(adb shell 即满足);目标内核须启用 `CONFIG_FUTEX_PI=y` | | **影响范围** | 几乎所有启用 PI-futex 机制的 Linux / Android 内核 | | **利用原理** | 构造三线程 PI 依赖循环触发竞态条件 → 通过 `PR_SET_MM_MAP` 系统调用在悬空栈区部署伪造的 `rt_mutex_waiter` 对象 → 利用红黑树擦除操作获取受控指针写入原语 → 完成权限提升 | | **公开源码** | [NebuSec/CyberMeowfia — IonStack](https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack/CVE-2026-43499) | --- ## 🔗 参考资源 | 资源 | 链接 | |---|---| | GhostLock 漏洞详情 | [Mallory AI](https://www.mallory.ai/vulnerabilities/019e4ae2-030b-740a-9fe4-aafa457fdad4) | | 腾讯云安全通告 | [云安全通告](https://cloud.tencent.com/announce/detail/2368) | | IonStack 漏洞利用源码 | [GitHub](https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack/CVE-2026-43499) | | Payload Dumper Android | [GitHub Releases](https://github.com/rajmani7584/Payload-Dumper-Android/releases) | | device.sh(allroot) | [Gitee Releases](https://gitee.com/ytngtaoaaa/allroot/releases) | | OpenCode | [GitHub](https://github.com/anomalyco/opencode) | --- ## ⚠️ 免责声明 本方案仅供安全研究与教育学习用途。未经授权对他人设备实施提权操作属于违法行为。请在合法拥有的设备上进行实验,并严格遵守当地法律法规。