1. 首先便是kernel UAF(感觉UAF是ctf kernel常出的点; 下载例题,那么我们便要开始分析了漏洞所在了;存在着三个文件boot.sh bzImage rootfs.cpio,而rootfs.cpio之中便是磁盘文件,而boot.sh则是启动脚本,bzImage就是内核镜像(压缩后)了,故我们利用./boot.sh便直接可以启动一个虚拟机来运行运行内核为bzImage、磁...
一、多线程的真条件竞争 先给出自己编写的题目源码,参照多方题目,主要还是0CTF2018-baby。 #include <linux/module.h> #include <linux/version.h> #include <linux/kernel.h> #include <linux/types.h> #include <linux/kdev_t.h> #include <linux/fs.h> #include <linux/device.h> #include <linux/...
先给出自己编写的题目源码,参照多方题目,主要还是0CTF2018-baby。 #include <linux/module.h>#include <linux/version.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/kdev_t.h>#include <linux/fs.h>#include <linux/device.h>#include <...
-append "nokaslr"关闭 Kernel ALSR 以便于调试内核注意:nokaslr可千万千万千万别打成nokalsr了。就因为这个我调试了一个下午的 kernel……是的 CTF Wiki 上的 nokaslr 也是错的,它打成了 nokalsr (xs) 启动好后就可以使用内置的 shell 了。 三、内核驱动的编写与调试 1. 构建过程 这里我们在 linux kernel...
通常CTF比赛中KERNEL PWN不会直接让选手PWN掉内核,通常漏洞会存在于动态装载模块中(LKMs,Loadable Kernel Modules),包括: 驱动程序(Device drivers) 设备驱动 文件系统驱动 ... 内核扩展模块 (modules) 一般来说,题目会给出如下四个文件: 其中, baby.ko就是有bug的程序(出题人编译的驱动),可以用IDA打开 ...
大多数 CTF 中的 kernel vulnerability 也出现在 LKM 中。 LKMs 的文件格式和用户态的可执行程序相同,Linux 下为 ELF,Windows 下为 exe/dll,mac 下为 MACH-O。但是其不能够独立运行,而只能作为内核的一部分存在。 相关指令 insmod: 讲指定模块加载到内核中 ...
对这段时间学习的linux内核中的一些简单的利用技术做一个记录,如有差错,请见谅。 相关的文件 https://gitee.com/hac425/kernel_ctf 相关引用已在文中进行了标注,如有遗漏,请提醒。 环境搭建 对于ctf中的pwn一般都是给一个linux内核文件 和一个busybox文件系统,然后用qemu启动起来。而且我觉得用qemu调试时gdb的...
Kernel pwn CTF 入门 - 2 接上文Kernel pwn CTF 入门 – 1 四、小试牛刀 这里选用 CISCN2017_babydriver 作为笔者入门的第一题。之所以选用这一题是因为网上资料较多,方便学习。 1. 题目附件 题目附件可在此处下载。 题目给了三个文件,分别是: boot.sh 启动脚本...
本文我们通过我们的老朋友heap_bof来讲解Linux kernel中任意地址申请的其中一种比赛比较常用的利用手法modprobe_path(虽然在高版本内核已经不可用了但ctf比赛还是比较常用的)。再通过两道近期比赛的赛题来讲解。 Arbitrary Address Allocation 利用思路 通过uaf 修改 object的free list指针实现任意地址分配。与 glibc不同的...
If you are unsure about eligibility, contact us on the[#kernelctf Discord channel](https://discord.gg/ECS5VnJZys)before making the submission. ###Vulnerabilities used in kCTF VRP Expand Down