太难了,哭了,期末前更完吧。我开坑不填都是有原因的。
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 cpiocp ../$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 0 /bin/sh or setuidgid 1000 /bin/sh 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