- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 linux kernel pwn学习之hijack prctl
Hijack prctlPrctl是linux的一个函数,可以对进程、线程做一些设置,prctl内部通过虚表来调用对应的功能,如果我们劫持prctl的虚表,使它指向其他对我们有帮助的内核函数,比如call_usermodehelper函数,该函数执行一个用户传入的二进制文件,且以root权限执行,由此可以利用起来提权。我们分析一下prctl源码,在linux/kernel/sys.c里,我...
2020-03-06 14:29:30 1724
原创 linux kernel pwn学习之劫持vdso
Hijack vdsoVDSO就是Virtual Dynamic Shared Object,是内核提供的虚拟的.so,这个.so文件不在磁盘上,而是在内核里头。内核把包含某.so的内存页在程序启动的时候映射入其内存空间,对应的程序就可以当普通的.so来使用里面的函数。Vdso里面封装了这几个函数,其作用主要是加快对于某些对速度要求很高的系统调用,更多详细信息可以查看https://blog....
2020-03-06 13:30:36 2326 1
原创 CSAW-2015-StringIPC解法一修改cred结构
CSAW-2015-StringIPC首先,查看一下启动脚本,发现没有开smap、smep、kaslrqemu-system-x86_64\ -m512\ -kernel./bzImage\ -initrd./rootfs.cpio\ -append"console=ttyS0root=/dev/ramrdini...
2020-03-06 11:34:06 678 3
原创 linux kernel pwn学习之条件竞争(二)userfaultfd
userfaultfd、mobprobe_path、mod_tree的利用userfaultfd是linux下的一直缺页处理机制,用户可以自定义函数来处理这种事件。所谓的缺页,就是所访问的页面还没有装入RAM中。比如mmap创建的堆,它实际上还没有装载到内存中,系统有自己默认的机制来处理,用户也可以自定义处理函数,在处理函数没有结束之前,缺页发生的位置将处于暂停状态。这将非常有助于条件竞争的利...
2020-03-04 12:10:13 3493 2
原创 linux kernel pwn学习之条件竞争(一)
Linux kernel条件竞争条件竞争发生在多线程多进程中,往往是因为没有对全局数据、函数进行加锁,导致多进程同时访问修改,使得数据与理想的不一致而引发漏洞。本节,我们从wctf2018-klist这题来分析一下条件竞争制造UAF的利用。wctf2018-klist首先,查看一下启动脚本,发现开启了smep机制,说明内核不能直接执行用户空间的代码qemu-system-x86_...
2020-03-04 11:08:43 1814
原创 linux kernel pwn学习之堆漏洞利用+bypass smap、smep
Linux kernel Heap exploitLinux内核使用的是slab/slub分配器,与glibc下的ptmalloc有许多类似的地方。比如kfree后,原来的用户数据区的前8字节会有指向下一个空闲块的指针。如果用户请求的大小在空闲的堆块里有满足要求的,则直接取出。通过调试,可以发现,被释放的堆的数据域前8字节正好指向下一个空闲堆的数据域与glibc下的ptmalloc...
2020-03-01 14:06:27 5062 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人