Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
android-kernel-exploitation-lab — 本实验将指导您搭建环境,以探索 CVE-2019-2215——一个存在于 binder 子系统中的严重 Android 内核漏洞。 | Kitploit
工具/GitHubGitHub/0xbinder/android-kernel-exploitation-lab
Android安全权限提升漏洞分析漏洞利用调试器模糊测试学习与教育二进制利用实验室与实践

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
0xbinder/android-kernel-exploitation-lab

android-kernel-exploitation-lab

本实验将指导您搭建环境,以探索 CVE-2019-2215——一个存在于 binder 子系统中的严重 Android 内核漏洞。

查看仓库
43741年前Kitploit 审核通过

Android 内核利用实验室(Android Kernel Exploitation Lab)

本实验室将引导您搭建环境,以探索 CVE-2019-2215——Binder 子系统中一个关键的 Android 内核漏洞。

文档

  • 环境搭建
  • 使用 GDB 脚本实现内核提权
  • 使用 syzkaller 进行模糊测试
  • 使用 AFL++ 进行模糊测试

技术细节:CVE-2019-2215

该漏洞是 Android Binder 驱动中的一个释放后使用(use-after-free)漏洞,具有以下特征:

  1. 根本原因:当 binder fd 被添加到一个 epoll 实例,然后线程退出时,binder_thread 对象被释放,但仍可通过 epoll 访问。

  2. 利用路径:

    • 将一个 binder 文件描述符添加到 epoll 实例
    • 调用 BINDER_THREAD_EXIT ioctl,释放 binder_thread
    • 通过 epoll 访问已释放的 binder_thread
    • 这导致一个可用于权限提升的释放后使用条件
  3. 影响:该漏洞影响 Android 8.x、9.0 以及早期版本的 10,可能允许本地权限提升至 root。

  4. 进一步阅读:

    • Project Zero 上的原始报告
    • Android 内核中的补丁

TODO

本实验室仍在开发中。以下是计划中的改进内容:

短期改进

  • 修复 Syzkaller 配置,使其正确针对 Android 特有的系统调用
  • 修复此 Syzkaller 问题
root@kitploit:~
[    3.030651] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2868278d270, max_idle_ns: 440795290098 ns
[    4.040338] clocksource: Switched to clocksource tsc
2025/03/24 21:04:23 running ssh: []string{"-p", "13199", "-F", "/dev/null", "-o", "UserKnownHostsFile=/dev/null", "-o", "IdentitiesOnly=yes", "-o", "BatchMode=yes", "-o", "StrictHostKeyChecking=no", "-o", "ConnectTimeout=10", "-i", "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa", "-v", "root@localhost", "pwd"}
2025/03/24 21:04:33 ssh failed: failed to run ["ssh" "-p" "13199" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "IdentitiesOnly=yes" "-o" "BatchMode=yes" "-o" "StrictHostKeyChecking=no" "-o" "ConnectTimeout=10" "-i" "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa" "-v" "root@localhost" "pwd"]: exit status 255
OpenSSH_9.9p2, OpenSSL 3.4.1 11 Feb 2025
debug1: Reading configuration data /dev/null
debug1: Connecting to localhost [::1] port 13199.
debug1: connect to address ::1 port 13199: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 13199.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa type 0
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.9
Connection timed out during banner exchange
Connection to 127.0.0.1 port 13199 timed out
  • 添加分析崩溃报告的详细说明
  • 包含一个针对 CVE-2019-2215 的简单利用模板
  • 记录适用于 QEMU VM 启动兼容性的内核配置设置

未来增强

  • 增加对其他 Android 内核漏洞的支持
  • 创建 Docker 容器以便于搭建
  • 添加更全面的调试指南(包含 GDB 示例)
  • 实现一个逐步指导,用于开发完整的权限提升利用
  • 除了 x86_64 之外,支持 ARM64 架构

已知问题

root@kitploit:~
[    3.030651] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2868278d270, max_idle_ns: 440795290098 ns
[    4.040338] clocksource: Switched to clocksource tsc
2025/03/24 21:04:23 running ssh: []string{"-p", "13199", "-F", "/dev/null", "-o", "UserKnownHostsFile=/dev/null", "-o", "IdentitiesOnly=yes", "-o", "BatchMode=yes", "-o", "StrictHostKeyChecking=no", "-o", "ConnectTimeout=10", "-i", "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa", "-v", "root@localhost", "pwd"}
2025/03/24 21:04:33 ssh failed: failed to run ["ssh" "-p" "13199" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "IdentitiesOnly=yes", "-o", "BatchMode=yes", "-o", "StrictHostKeyChecking=no", "-o", "ConnectTimeout=10", "-i", "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa" "-v" "root@localhost" "pwd"]: exit status 255
OpenSSH_9.9p2, OpenSSL 3.4.1 11 Feb 2025
debug1: Reading configuration data /dev/null
debug1: Connecting to localhost [::1] port 13199.
debug1: connect to address ::1 port 13199: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 13199.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa type 0
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.9
Connection timed out during banner exchange
Connection to 127.0.0.1 port 13199 timed out

社区贡献

如果您有兴趣为此项目贡献力量,请考虑处理上述任意事项,或通过拉取请求提交您自己的想法。

特别需要帮助的方面

  1. 修复已知问题
  2. 改进 QEMU 配置,以更好地兼容 Android 内核
  3. 创建一个可在不同 Linux 发行版上正常运行的可靠模糊测试环境

如果您在这些领域拥有专业知识,您的贡献将备受感激!

下载工具