Agent Skills
返回列表
🔒

Linux内核漏洞利用攻击手册

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/kernel-exploitation-15at

技能介绍

要解决的问题

内核漏洞利用的难点往往不在找到漏洞本身,而在于触发之后的整条利用链:在开启 SMEP/SMAP/KPTI 的内核上如何构造内核 ROP 链、拿到 root 权限、再把控制权干净地交还给用户态。通用大模型经常混淆用户态与内核态的利用约束——例如在 SMEP 开启时仍建议 ret2usr,或不知道 KPTI 下直接 swapgs; iretq 会直接崩溃。这份技能把 ctf-wiki 内核章节与真实内核 CVE(如 CVE-2022-0847 DirtyPipe、CVE-2016-5195 DirtyCow)的打法整理成一套可对照操作的攻击手册。

核心能力与关键步骤

  • 环境搭建:QEMU 加载自定义内核、GDB 调试(含物理内存读取)、initramfs 修改
  • 漏洞分类速查:UAF、越界读写、竞态(TOCTOU)、整数溢出、类型混淆、Double Free、栈溢出,附对应 CVE 实例
  • 提权目标:commit_creds(prepare_kernel_cred(0))、覆写 modprobe_path、直接清零 cred 结构的 uid/gid、容器命名空间逃逸
  • 内核 ROP:被污染函数指针、返回地址、ops 结构(如 seq_operations 劫持)三条控制 RIP 的来源,以及 xchg eax, esp; ret 等栈迁移 gadget
  • 返回用户态:iretq、KPTI trampoline、signal handler 返回三条路径的取舍

适用边界与注意点

  • SMEP 之后 ret2usr 失效,ROP 链只能使用内核空间 gadget
  • 内核栈只有 8KB–16KB,栈溢出类漏洞在实际中相当罕见
  • 可用 -append "nokaslr"、-cpu kvm64,+smep,+smap 等 QEMU 开关控制缓解措施,便于验证利用思路
  • 技能定位是利用方法论参考,不包含漏洞挖掘或扫描能力

使用场景

  • 搭建 QEMU 自定义内核环境,验证 DirtyPipe(CVE-2022-0847)等 UAF/越界漏洞的利用链是否成立
  • 内核态已拿到控制流但 SMEP 开启,需要挑选内核空间 ROP gadget 构造提权链
  • 利用 KPTI 环境下直接 swapgs; iretq 崩溃的问题,改用 KPTI trampoline 或 signal handler 返回 root shell
  • CTF 比赛中拿到内核模块 seq_operations 劫持点,需要据此完成栈迁移和 commit_creds 提权

适合人员

  • 安全研究员,正在复现真实内核 CVE 并梳理从漏洞触发到 root 提权的完整利用链
  • CTF 参赛选手,需要在内核利用题中快速定位提权路径和返回用户态的正确方式
  • 内核/系统开发者,想评估 SMEP、SMAP、KPTI 等缓解措施被绕过的实际风险
  • DevSecOps 工程师,需要针对容器逃逸场景验证命名空间隔离的有效性