太难了,哭了,期末前更完吧。我开坑不填都是有原因的。

Kernel Exploiting ,听名字就感觉比较高端霸气上档次,比较帅,所以必须得接触接触 QwQ。

基础的环境搭建(依赖安装,qemu 安装,内核编译,busybox 编译)网上有很多教程了。这里安利一下 chuj 师傅的 Kernel PWN 环境搭建 。搭起来的 Kernel , Qemu,busybox 版本都很新hhh。

前置知识也不堆在这里了,网上一堆了,详细无比。希望能记录一下一些基本题型。

杂项

搜索下载镜像

1
2
sudo apt search linux-image
sudo apt download linux-image-5.8.0-23-generic

解压文件系统

1
2
3
4
5
#!/bin/sh
mkdir cpio
cd cpio
cp ../$1 ./
cpio -idmv < $1

打包文件系统

1
$ find . | cpio -o -H newc > ../rootfs.cpio

编译exp

1
gcc ./exploit.c -o exploit -static -masm=intel

调试修改 init 更改权限至 root

1
2
3
4
5
6
# setsid /bin/cttyhack setuidgid 1000 /bin/sh
setsid /bin/cttyhack setuidgid 0 /bin/sh
or
setuidgid 1000 /bin/sh
# Modify it into the following
setuidgid 0 /bin/sh

定位驱动符号表

1
2
cat /sys/module/core/sections/.text
...

一些有用的函数

1
2
native_write_cr4()
commit_creds(prepare_kernel_cred(0))

Exploit

Kernel ROP