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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-1086-Exploit — 教育用途、非功能性Linux内核漏洞利用模板,针对CVE-2024-1086 — 仅限实验室安全研究与教学(仅在受控虚拟机中使用)。 | Kitploit
工具/GitHubGitHub/karim4353/cve-2024-1086-exploit
权限提升漏洞分析漏洞利用渗透测试学习与教育二进制利用实验室与实践
GitHubkarim4353/cve-2024-1086-exploit

CVE-2024-1086-Exploit

教育用途、非功能性Linux内核漏洞利用模板,针对CVE-2024-1086 — 仅限实验室安全研究与教学(仅在受控虚拟机中使用)。

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🔒 CVE-2024-1086 漏洞利用项目

Build Status License: MIT Documentation

🛡️ 为安全研究打磨的教学型 Linux 内核漏洞利用项目

本项目提供了一个用于研究 CVE-2024-1086(Linux 内核 netfilter: nf_tables 组件中的释放后使用漏洞,可实现本地权限提升)的健壮但不可用的模板。专为安全研究人员和学生设计,它结合了一个 C 漏洞利用模板和一个增强型 Java 包装器,用于可靠的诊断、配置和执行,仅供在受控实验室环境(例如,带有易受攻击内核的虚拟机)中使用。

⚠️ 警告:C 代码不可用,包含占位值,需要进行大量修改才能工作。未经授权在生产系统上使用或未经许可使用是非法且不道德的。请负责任地使用,以推动内核安全知识的发展。

🔍 主要特性

  • 🧠 强大的系统诊断:全面检查内核版本、用户命名空间和 nf_tables 模块
  • 📜 灵活配置:基于 JSON 的设置,用于漏洞利用参数、日志级别和超时
  • 📝 增强日志记录:带时间戳的详细日志,输出到文件和终端,便于详细分析
  • 💻 直观的命令行界面:支持 --check、--run、--dry-run、--payload 和 --config 选项
  • 🔐 安全的漏洞利用模板:不可用的 C 代码,用于安全地教学研究 nf_tables 漏洞
  • 🔗 可靠集成:通过超时处理和错误恢复实现 Java-C 无缝交互
  • 🧪 测试套件:包含 Java 和 C 测试,可在实验室环境中验证
  • 🛡️ 伦理设计:严格的仅限实验室限制和伦理准则

🏰 架构概览

root@kitploit:~
┌─────────────────────┐    ┌─────────────────────┐    ┌─────────────────────┐
│ 🔍 Java 诊断        │───▶│ 💻 漏洞利用执行器  │───▶│ 🔐 C 漏洞利用模板  │
└─────────────────────┘    └─────────────────────┘    └─────────────────────┘
         │                           │                           │
         ▼                           ▼                           ▼
┌─────────────────────┐    ┌─────────────────────┐    ┌─────────────────────┐
│ 🔒 系统验证         │───▶│ 📝 日志引擎        │───▶│ 🛡️ 内核 Netlink    │
└─────────────────────┘    └─────────────────────┘    └─────────────────────┘
         │                           │
         ▼                           ▼
┌─────────────────────┐    ┌─────────────────────┐
│ 🧪 测试套件         │    │ 📜 配置管理        │
└─────────────────────┘    └─────────────────────┘

该项目集成了一个 Java 包装器(用于安全诊断、日志和配置)和一个 C 漏洞利用模板(模拟通过 Netlink 套接字与内核交互),并通过测试套件进行验证。

💻 快速开始

前提条件

确保安装了以下工具:

  • 🔧 GCC(版本 9.0+,sudo apt install build-essential)
  • ☕ Java 开发工具包 (JDK)(版本 11+,sudo apt install openjdk-11-jdk)
  • 🛠️ Make(用于构建 C 代码)
  • 📜 JSON 库:org.json:json:20230227(通过 Maven 或 JAR)
  • 📦 Apache Commons CLI:commons-cli:commons-cli:1.5.0(通过 Maven 或 JAR)
  • 🧪 JUnit(版本 5.8+,用于测试)
  • 🌐 Git(用于版本控制)

操作系统:

  • Linux(例如 Ubuntu 22.04)或带有易受攻击内核(5.14 到 6.6,未打补丁,< 5.15.148、6.1.76、6.6.15)的 Android
  • 启用了非特权用户命名空间(CONFIG_USER_NS=y)
  • 启用了 nf_tables 模块(CONFIG_NF_TABLES=y)

实验室环境:

  • 带有 Ubuntu 22.04(内核 5.15.x < 5.15.148)的 VirtualBox/VMware 虚拟机
  • 带有易受攻击内核的 Android 模拟器

安装

  1. 克隆仓库

    root@kitploit:~
    git clone https://github.com/karim4353/CVE-2024-1086-Exploit.git
    cd CVE-2024-1086-Exploit
    
  2. 安装依赖

    root@kitploit:~
    sudo apt update
    sudo apt install build-essential openjdk-11-jdk
    # 下载库或添加到 Maven
    wget https://repo1.maven.org/maven2/org/json/json/20230227/json-20230227.jar
    wget https://repo1.maven.org/maven2/commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar
    
  3. 构建 C 漏洞利用

    root@kitploit:~
    make
    
  4. 运行 Java 包装器

    root@kitploit:~
    javac -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" -d . src/main/java/com/example/cve20241086/ExploitRunner.java
    java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --run
    

    选项:--check、--run、--dry-run、--payload <路径>、--config <文件>、

有关详细设置,请参阅 Setup Guide。

📂 项目结构

root@kitploit:~
CVE-2024-1086-Exploit/
├── src/
│   ├── main/
│   │   ├── c/
│   │   │   └── exploit.c           # 🔐 C 漏洞利用模板
│   │   ├── java/
│   │   │   └── com/example/cve20241086/
│   │   │       └── ExploitRunner.java  # 🔍 Java 包装器
│   │   └── resources/
│   │       └── config.json         # 📜 漏洞利用配置
│   └── test/
│       ├── c/
│       │   └── test_exploit.c     # 🧪 C 测试用例
│       └── java/
│           └── com/example/cve20241086/
│               └── ExploitRunnerTest.java  # 🧪 Java 测试用例
├── Makefile                        # 🛠️ 构建脚本
├── README.md                       # 📝 本文件
├── CONTRIBUTING.md                 # 🤝 贡献指南
├── LICENSE                         # 📄 MIT 许可证
└── tests/
    └── run_tests.sh                # 🧪 测试运行脚本

🔬 测试

在安全的实验室环境中测试项目:

root@kitploit:~
# 检查系统漏洞
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --check

# 运行漏洞利用(不可用)
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --run

# 运行测试
./tests/run_tests.sh

# 清理构建产物
make clean

🤝 贡献

我们欢迎贡献以增强这个教学项目!请参阅 Contributing Guidelines 了解以下方面的详细信息:

  • 代码风格和标准
  • 测试要求
  • 拉取请求流程
  • 伦理准则

📚 文档

  • Architecture Overview - 系统设计
  • Setup Guide - 安装和配置
  • Contributing Guide - 如何贡献
  • FAQ - 常见问题及解决方案

🔑 使用场景

  • 🔍 内核漏洞研究:研究 nf_tables 中的释放后使用漏洞
  • 🧑‍🎓 安全教育:教授 Linux 内核安全和漏洞利用开发
  • 🛡️ 渗透测试实验室:在受控环境中模拟权限提升
  • 🔐 系统加固:测试 KASLR、SELinux 和命名空间限制等缓解措施

🏆 性能基准

  • 🔍 系统检查延迟:内核和模块检查小于 300ms
  • 💻 漏洞利用执行:不可用模板小于 1s(实际 PoC 约 3-5s)
  • 📊 内存占用:Java 包装器小于 10MB RAM,C 漏洞利用小于 1MB
  • 📝 日志输出:写入 exploit_log.txt 时间小于 50ms

🔧 系统要求

🛠️ 配置

通过 src/main/resources/config.json 进行配置:

root@kitploit:~
{
  "exploitBinary": "./exploit",
  "targetKernel": "5.15",
  "payloadPath": "/tmp/payload.sh",
  "logLevel": "DEBUG",
  "timeoutSeconds": "30"
}

请参阅 Configuration Guide。

🐞 故障排除

常见问题:

  • 🔧 构建失败:检查 GCC/JDK 版本;运行 make clean && make。
  • ⚠️ 漏洞利用失败:确保 sysctl -w kernel.unprivileged_userns_clone=1 且 lsmod | grep nf_tables。
  • ☕ Java 错误:检查类路径中是否存在 json-20230227.jar 和 commons-cli-1.5.0.jar。
  • 🔐 权限问题:以非 root 用户运行并具有命名空间访问权限。

请参阅 FAQ 或 打开一个问题。

📄 许可证

根据 MIT 许可证许可 — 请参阅 LICENSE。

🙏 致谢

  • Notselwyn 提供的原始 CVE-2024-1086 PoC
  • CrowdStrike 和 NSFOCUS 进行的漏洞分析
  • Linux 内核社区 提供的补丁开发
  • 开源安全社区 提供的教育资源

📞 支持

  • 📚 文档:项目 Wiki
  • 🐞 问题:GitHub Issues
  • 💬 讨论:GitHub Discussions

🛡️ 用 ❤️ 为安全研究社区打造

下载工具
--help
  • 运行测试

    root@kitploit:~
    ./tests/run_tests.sh
    
  • 组件最低要求推荐配置
    内核版本5.145.15.x < 5.15.148
    内存512MB1GB+
    CPU1GHz2GHz+
    磁盘空间100MB500MB+
    Java 版本JDK 11JDK 17