漏洞
文章平均质量分 94
bsauce
github:https://github.com/bsauce
展开
-
【kernel exploit】CVE-2022-2588 Double-free 漏洞 DirtyCred 利用
由于将 `route4_filter` 对象从链表中删除和释放时的检查条件不一致,导致该对象被释放后仍存于链表中,后面可以触发 **Double-Free**。需要 `User Namespaces` 才能触发。采用 DirtCred 方法进行提权。原创 2022-10-21 16:33:39 · 1339 阅读 · 0 评论 -
【kernel exploit】CVE-2022-34918 nftables 堆溢出漏洞利用(list_head任意写)
CVE-2022-34918 nftable堆溢出漏洞利用(list_head任意写)原创 2022-07-26 20:24:17 · 2206 阅读 · 0 评论 -
CVE-2022-0185 价值$3w的 File System Context 内核整数溢出漏洞利用分析
本漏洞作者在kctf环境上成功完成了提权和逃逸,并获得了 google kCTF vulnerability reward program 项目奖励的 31,337 美金的奖励(该项目对能从有nsjail 沙箱的Linux内核提权,奖励31,337 到 91,337 美元,由于syzbot平台上有人比作者早6天先发现了这个漏洞,作者并非首次发现该漏洞,只是完成了kctf提权,便获得了最低奖金)。影响版本:Linux-v5.1~v5.16.2。5.1-rc1 引入漏洞,Linux-v5.16.2已修补 ,由原创 2022-04-11 21:45:26 · 1722 阅读 · 1 评论 -
【Exploit trick】利用CVE-2021-26708 绕过LKRG缓解机制
LKRG source code绕过LKRG总结:构造ROP链给两个函数打patch,p_check_integrity()(负责检查内核完整性)和p_cmp_creds()(负责检查进程凭证)。补丁程序为0x48 0x31 0xc0 0xc3,也就是xor rax, rax ; ret或return 0,打完补丁后提权即可。打补丁函数采用void *text_poke(void *addr, const void *opcode, size_t len),kprobes中也用到了该函数。1. 回顾CV原创 2021-10-18 09:21:43 · 738 阅读 · 0 评论 -
【kernel exploit】CVE-2016-9793 错误处理负值导致访问用户空间
影响版本:Linux v4.8.14 以前。v4.8.14已修补,v4.8.13未修补。 7.8分。测试版本:Linux-4.8.13 exploit及测试环境下载地址—https://github.com/bsauce/kernel-exploit-factory编译选项: CONFIG_SLAB=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allocator)) —> SLAB在编译时将.config中的C原创 2021-09-07 18:12:03 · 792 阅读 · 0 评论 -
【kernel exploit】CVE-2018-5333 空指针引用漏洞
影响版本:Linux 4.14.14以前。 5.5分。4.14.13未修补,4.14.14已修补。测试版本:Linux-4.14.13 exploit及测试环境下载地址—https://github.com/bsauce/kernel-exploit-factory编译选项:CONFIG_RDS=y CONFIG_DEBUG_INFO=y CONFIG_SLAB=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allo原创 2021-07-27 20:48:36 · 1407 阅读 · 0 评论 -
【kernel exploit】CVE-2018-18955 用户命名空间逻辑错误
影响版本:Linux 4.15.x~4.19.2 4.19.2已修补,4.19.1未修补。 7.0分。测试版本:Linux-4.19.1 exploit及测试环境下载地址—https://github.com/bsauce/kernel-exploit-factory编译选项:CONFIG_USER_NS CONFIG_SLAB=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allocator)) —> SL原创 2021-07-09 13:19:44 · 1035 阅读 · 0 评论 -
【kernel exploit】CVE-2017-1000112 UDP报文处理不一致导致堆溢出
影响版本:<=Linux 4.12.6 v4.12.7已修补。 7.0分。由syzkaller发现。测试版本:Linux-4.12.6 exploit及测试环境下载地址—https://github.com/bsauce/kernel-exploit-factory编译选项: CONFIG_SLAB=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allocator)) —> SLAB在编译时将.co原创 2021-06-18 17:22:34 · 1024 阅读 · 1 评论 -
【kernel exploit】BPF漏洞挖掘与CVE-2020-27194 整数溢出漏洞
影响版本:5.8.x 内核分支,v5.8.15 以及更低的版本。该分支的发行版:Fedora 33 、Ubuntu 20.10。编译选项:CONFIG_BPF_SYSCALL。漏洞描述:eBPF验证程序中进行or操作时,scalar32_min_max_or()函数将64位的值赋值到32位的变量上,导致整数截断,进而错误计算了寄存器的范围,从而绕过bpf的检查,导致越界读写。补丁:patch scalar32_min_max_or()函数中对32位和64位的情况分开处理,防止整数截断。测试版本:Li原创 2021-06-11 12:33:59 · 729 阅读 · 1 评论 -
【kernel exploit】CVE-2017-8890 Phoenix Talon漏洞分析与利用
影响版本:Linux 2.5.69~4.10.15 详细影响版本 评分7.8,可能导致远程代码执行。隐藏11年,通过syzkaller挖到。测试版本:Linux-4.10.15 测试环境下载地址 — https://github.com/bsauce/kernel_exploit_factory编译选项:CONFIG_E1000=y和CONFIG_E1000E=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allocator))原创 2021-06-11 12:30:35 · 701 阅读 · 1 评论 -
【kernel exploit】CVE-2020-8835:eBPF verifier 整数截断导致越界读写
影响版本:v5.4.7 - v5.5.0 以及更新的版本,如5.6。编译选项:CONFIG_BPF_SYSCALL,config所有带BPF字样的。漏洞描述:在Linux Kernel commit(581738a681b6)中引入,验证BPF_JMP32指令时,kernel/bpf/verifier.c 没有正确将64位值转换为32位(直接取低32位),错误计算了bpf_reg_state寄存器状态中的寄存器值范围,使得BPF代码验证阶段和实际执行阶段不一致,导致越界读写。补丁:patch 去掉 _原创 2021-06-09 11:37:59 · 1781 阅读 · 3 评论 -
【kernel exploit】CVE-2017-10661 链表漏洞与TOCTTOU——任意地址写
【kernel exploit】CVE-2017-10661 链表漏洞与TOCTTOU——任意地址写影响版本:Linux 2.6.27~4.10.14 4.10.15已修补,通过syzkaller发现。 7.0分测试版本:Linux-4.10.14 测试环境下载地址编译选项: CONFIG_SLAB=yGeneral setup —> Choose SLAB allocator (SLUB (Unqueued Allocator)) —> SLAB$ wget https:/原创 2021-04-01 17:59:00 · 1021 阅读 · 0 评论 -
【CTF】32位/64位dlresolve最全总结(无地址泄露执行one_gadget)
利用dl_resolve执行libc内任意gadget(不需泄露libc地址)实验代码下载地址:https://github.com/bsauce/CTF/tree/master/dl_resolve_64分析:0CTF的题目blackhole2,很简单的栈溢出,但是远程不允许回显,所以不能泄露libc_base,不能返回shell。程序本身所含有的gadget有限,所以能不能不泄露libc_...原创 2019-09-05 11:12:56 · 2094 阅读 · 0 评论 -
linux内核提权系列教程(1):堆喷射函数sendmsg与msgsend利用
说明:实验所需的驱动源码、bzImage、cpio文件见我的github进行下载。本教程适合对漏洞提权有一定了解的同学阅读,具体可以看看我先知之前的文章,或者我的简书。一、 堆喷函数介绍在linux内核下进行堆喷射时,首先需要注意喷射的堆块的大小,因为只有大小相近的堆块才保存在相同的cache中。具体的cache块分布如下图:[外链图片转存失败(img-k7PSpZWM-1567945913...原创 2019-09-08 20:38:47 · 1075 阅读 · 0 评论 -
linux内核提权系列教程(3):栈变量未初始化漏洞
说明:实验所需的驱动源码、bzImage、cpio文件见我的github进行下载。本教程适合对漏洞提权有一定了解的同学阅读,具体可以看看我先知之前的文章,或者我的简书。一、 漏洞分析1. 程序分析总共两个驱动号,对应两个功能。 case UNINITIALISED_STACK_ALLOC: { ret = copy_to_stack((char *)p_arg); bre...原创 2019-09-09 15:07:43 · 171 阅读 · 0 评论 -
【内核漏洞利用】WCTF 2018 klist—竞争UAF-pipe堆喷
WCTF 2018 klist—竞争UAF-pipe堆喷本题对了解和利用内核竞争漏洞很有帮助。一、题目分析题目模仿磁盘文件机制,可以自由申请、释放、读写堆块。提供read、write、ioctl三个功能。堆块结构如下。flag—标志位,使用原子操作对其加减,操作前加1,操作后减1,当该位为0时,调用kfree释放;size—content大小;next指向下一个item。 --...原创 2019-09-11 10:28:17 · 1086 阅读 · 0 评论 -
【内核漏洞利用】TokyoWesternsCTF-2019-gnote Double-Fetch
一、CVE-2015-8550漏洞详情可以参见https://wpengfei.github.io/cpedoc-accepted.pdf。[外链图片转存失败(img-tzpkzvE3-1568621850784)(/Users/john/Desktop/tmp/2019ctf/TokyoWesternsCTF/gnote/writeup/CVE-2015-8550.png)]gcc 编译s...原创 2019-09-16 16:19:11 · 1787 阅读 · 0 评论 -
【漏洞挖掘】Race竞争漏洞学习
#1.ThreadSanitizer简介ThreadSanitizer应该是google三年前开发出来的,主要用于检测C/C++中的数据竞争漏洞,但一直没有进行更新(支持clang3.2和gcc4.8),据师傅说里面的模型不实用,不过通过github上的ThreadSanitizer文档来认识一下竞争漏洞,还是挺不错的。数据竞争指的是两个线程并发访问了一个变量,并且其中一个是写操作。例如,以下...翻译 2019-07-01 12:44:42 · 565 阅读 · 0 评论