这是一个用于Linux内核漏洞分析与调试的集成研究环境,包含内核构建工具链、漏洞利用示例、QEMU调试环境等完整研究基础设施。
├── BaseImageEnv/ # 基础镜像环境构建
│ ├── rootfs.cpio # 预编译的根文件系统
│ └── envinit.sh # 环境初始化脚本
│
├── BusyboxEnvInit/ # BusyBox构建环境
│ ├── Build.sh # 自动化构建脚本
│ └── busybox-1.33.0/ # BusyBox源代码
│
├── CodeKernelDriver/ # 内核驱动示例代码
│ ├── hello.c # 示例LKM驱动
│ └── Makefile # 驱动编译配置
│
├── KernelEnvInit/ # 内核编译环境
│ ├── linux-5.8.1/ # Linux 5.8.1内核源码
│ │ └── Build.sh # 内核编译脚本
│
├── KernelVuln/ # 内核漏洞研究案例
│ ├── Dirty_Pipe/ # CVE-2022-0847漏洞集合
│ │ ├── exp.c # 漏洞利用示例
│ │ └── start.sh # 漏洞环境启动脚本
│ └── Kernel_ROP_basic/ # 内核ROP利用基础
│
├── RunQemu/ # QEMU运行配置
│ ├── start.sh # 虚拟机启动脚本
│ └── gdb.sh # GDB调试脚本
- Linux 系统 (推荐 Ubuntu 20.04+)
- QEMU 模拟器
- 编译工具链 (gcc, make, etc.)
- 至少 8GB 空闲磁盘空间
# 安装依赖
sudo apt install qemu-system-x86 build-essential flex bison libssl-dev libncurses-dev
# 编译内核
cd KernelEnvInit/linux-5.8.1/
./Build.sh
# 构建根文件系统
cd ../../BusyboxEnvInit/
./Build.sh
# 启动QEMU环境
cd ../RunQemu/
./start.sh
- 支持多个内核版本 (5.8.1 / 5.11)
- Dirty Pipe (CVE-2022-0847):
cd KernelVuln/Dirty_Pipe/CVE-2022-0847/
make && ./Dirty-Pipe.sh
- 内核ROP基础示例
- 多个PoC实现(C/Python)
- 集成调试脚本:
./debugk.sh # 启动调试模式
./repackko.sh # 内核模块热重载
欢迎通过Issue提交问题或PR贡献代码,请遵循:
- 新漏洞案例添加到
KernelVuln/
目录 - 内核相关修改提交到对应版本目录
- 保持rootfs.cpio的兼容性
本项目采用 GPL-3.0 许可证,部分子组件可能遵循其原始许可证,详见各目录内LICENSE文件。
这个README设计特点:
- 层级清晰的结构说明
- 包含快速上手指南
- 突出关键组件和技术细节
- 整合多目录下的功能组件
- 保留扩展性说明
- 包含许可证和贡献规范
建议将本文件保存为项目根目录的README.md,各子目录的原有README可保留作为详细说明。