Linux Kernel ret2dir

简介 ret2dir 是哥伦比亚大学网络安全实验室在 2014 年 USENIX 发表的论文提出的一种攻击手法,主要是用来绕过 smep、smap 等保护。 在 smep 和 smap 保护没有出现以前,常用的内核利用手法是 ret2usr,其核心在于在修复指针使其指向用户空间,并在用户空间布置 payload。但是 smep 和 smap 出现之后,内核态无法访问或执行用户态的代码或者数据,导致了该方法的失效。而 ret2dir 正是针对 smep 和 smap 保护都开启的情况下,让内核态仍然能够隐式访问用户态的数据。 ...

2026年5月12日

Linux Kernel UAF

内存管理基础 Linux kernel 将内存分为 页→区→节点 三级结构,主要有两个内存管理器:buddy system与slab allocator,前者负责以内存页为粒度管理所有可用的物理内存,后者则向前者请求内存页并划分为多个较小的对象(object)以进行细粒度的内存管理。 ...

2026年5月12日

Arbitrary-Address Allocation

此利用方法与用户态 glibc 中分配 fake chunk 后覆写 __free_hook 这样的手法类似,不过是基于内核 slub 分配器的。 slub 分配器会将释放后的 object 链接到kmem_cache_cpu的freelist指针后。freelist指针存储第一个空闲 object 的地址,第一个空闲 object 的起始地址的前 8 个字节存储下一个空闲对象的地址。 ...

2026年4月17日

Linux Kernel modprobe_path覆盖利用技术

前言 今年的 ccb&ciscn 初赛有一道 Linux 内核的 Pwn 题,让我这个内核菜鸡被直接“硬控”了。现在初赛都上内核了。。。 赛后搞到了 WP,于是正好趁着元旦假期有时间好好复现一下,分析了一下这道题的利用技术的原理,于是就有了这篇文章。 ...

2026年1月1日

Linux Kernel Pwn 入门

基础知识 内核是什么? 操作系统内核是一个特殊的程序,其用来管理软件发起的 IO 请求,将其转换为指令交由 CPU 执行,是现代操作系统最基本的部分。 其功能主要有以下两点: 控制并与硬件进行交互; 提供应用能运行的环境。 intel CPU 将 CPU 的特权级别分为 4 个级别:Ring 0、Ring 1、Ring 2、Ring 3。 ...

2025年11月30日