Linux Kernel Exploitation 教程
1. 项目的目录结构及介绍
Kernel-exploit-tech/
├── 01 Development of Kernel Module
│ ├── 01 Hello world
│ ├── 02 Character Device Drivers
│ ├── 03 ioctl(Input/Output control)
│ └── 04 Creating a kernel module to privilege escalation
├── 02 Debugging kernel and modules
├── 03 Linux Kernel Exploitation Tutorial
│ ├── 01 Stack smashing(32bit) & Return-to-user(ret2usr)
│ ├── 02 Stack smashing(64bit) & Return-to-user(ret2usr)
│ ├── 03 Stack smashing(64bit) & ROP
│ ├── 04 Write-what-where(Arbitrary Memory Overwrite)(feat ret2usr)
│ ├── 05 Null pointer dereference(32bit & 64bit)
│ ├── 06 Use-After-Free(UAF) (feat struct cred)
│ ├── 07 Use-After-Free(UAF) (feat tty_struct)
│ └── 08 ret2dir(return-to-direct-mapped memory)
├── 04 Kernel Self-Protection
│ ├── 01 Kernel Address Space Layout Randomization (KASLR)
│ └── 02 Segregation of kernel memory from userspace memory(x86's SMEP/SMAP ARM's PXN/PAN)
├── .gitignore
├── LICENSE
└── README.md
目录结构介绍
- 01 Development of Kernel Module: 包含内核模块开发的基础教程,从简单的“Hello world”到特权提升。
- 02 Debugging kernel and modules: 内核和模块调试的相关内容。
- 03 Linux Kernel Exploitation Tutorial: 内核利用的高级教程,包括堆栈粉碎、ROP、UAF等技术。
- 04 Kernel Self-Protection: 内核自我保护机制的介绍,如KASLR和内存隔离。
- .gitignore: Git忽略文件。
- LICENSE: 项目许可证,采用GPL-3.0。
- README.md: 项目介绍和使用说明。
2. 项目的启动文件介绍
项目的启动文件主要是内核模块的加载和初始化。以下是一些关键文件的介绍:
- 01 Development of Kernel Module/01 Hello world: 最基础的内核模块,用于演示如何编写和加载一个简单的内核模块。
- 01 Development of Kernel Module/04 Creating a kernel module to privilege escalation: 介绍如何通过内核模块实现特权提升。
3. 项目的配置文件介绍
项目的配置文件主要是内核模块的Makefile和相关配置。以下是一些关键文件的介绍:
- Makefile: 用于编译内核模块的Makefile文件。
- .config: 内核配置文件,用于配置内核编译选项。
以上是基于开源项目 Kernel-exploit-tech 的教程内容。希望这些内容能帮助你更好地理解和使用该项目。