
内核漏洞利用
文章平均质量分 95
bsauce
github:https://github.com/bsauce
展开
-
【bsauce读论文】2023-CCS-RetSpill:内核栈内存ROP布置与提权技术
防护机制:SMEP[47] / SMAP[12] / KPTI[64] / NX-physmap[31] / CR Pinning[63] / STATIC_USERMODE_HELPER[35] / RKP[56](不允许直接修改进程凭证)/ pt-rand[14](不允许直接修改内核页表来进行数据流攻击)/ RANDSTACK[53](随机化栈布局,防止利用未初始化使用漏洞) / STACK CANARY。漏洞利用。原创 2024-05-21 20:22:19 · 821 阅读 · 0 评论 -
【bsauce读论文】2024-NDSS-SyzBridge:Linux发行版内核漏洞可利用性评估
作者调研了43个Linux发行版和230个漏洞,在发行版内核上复现上游PoC,在root权限下成功复现19.1%,非root权限下只成功复现0.9%。原创 2024-05-20 11:18:00 · 494 阅读 · 0 评论 -
【kernel exploit】CVE-2022-25636 nftables OOB 写堆指针漏洞利用
`nf_table` 模块的 `net/netfilter/nf_dup_netdev.c`中的 [nft_fwd_dup_netdev_offload()](https://elixir.bootlin.com/linux/v5.16.11/source/net/netfilter/nf_dup_netdev.c#L67) 函数由于计算分配空间与实际初始化时判断条件不一致,存在**OOB write**(系统必须支持包处理卸载-Network Interface Cards (NICs),但是现实中很少见原创 2022-12-13 21:53:07 · 1098 阅读 · 0 评论 -
【kernel exploit】CVE-2022-2639 openvswitch模块kmalloc-0x10000堆溢出利用(pipe_buffer任意文件写技术)
`openvswitch` 内核模块中,reserve_sfa_size() 函数存在整数溢出导致 **kmalloc-0x10000 堆溢出写**,需要利用页喷射构造 cross-cache 溢出。本文基于 `pipe-primitive` 来篡改任意文件,所以不需要绕过 KASLR/SMEP/SMAP/KPTI 保护机制,跨版本不需要适配就能完成利用。**先创建pipe并splice到只读文件`/usr/bin/mount`,堆喷伪造 `pipe_buffer->flags = PIPE_BUF_FLA原创 2022-11-24 11:57:04 · 1638 阅读 · 1 评论 -
【Exploit trick】利用poll_list对象构造kmalloc-32任意释放 (corCTF 2022-CoRJail)
CoRJail介绍:内核利用+docker逃逸,漏洞是 off-by-one,docker容器含有定制的seccomp过滤。本方法是利用poll_list对象来构造任意释放。环境限制:CoRJail 运行在 custom Debian Bullseye image (简称CoROS)上的 docker 容器中,作者修改了来阻止msgget()/msgsnd()/msgrcv()调用,但是允许调用add_key()/keyctl(),容器中可以访问,作者定制的 seccomp 文件位于here。需自行编译。原创 2022-11-11 13:53:33 · 1224 阅读 · 0 评论 -
【Exploit trick】针对 cred 结构的 cross cache 利用(corCTF 2022-cache-of-castaways)
特殊cache(漏洞对象大小为512字节)中的6字节堆溢出,可以分配 `50*8` 个漏洞对象。构造 `cross-cache` 溢出,利用漏洞对象篡改相邻的 `cred` 对象。原创 2022-11-07 16:00:26 · 1545 阅读 · 0 评论 -
【kernel exploit】CVE-2022-32250 nftables错误链表操作导致UAF写的漏洞利用
`nftables` 模块的 `net/netfilter/nf_tables_api.c` 采用 `NFT_MSG_NEWSET` 功能来添加 `nft_set` 时,处理 `lookup` 和 `dynset` expression 时,由于错误的 `NFT_EXPR_STATEFUL` 检查,`nft_expr` 对象释放后仍位于`nft_set->binding` 链表中,新加入 `nft_expr` 时导致**UAF写**(触发漏洞需要 `CAP_NET_ADMIN` 权限)。UAF写会往 `km原创 2022-11-03 21:44:15 · 1849 阅读 · 0 评论 -
【kernel exploit】CVE-2022-2588 Double-free 漏洞 DirtyCred 利用
由于将 `route4_filter` 对象从链表中删除和释放时的检查条件不一致,导致该对象被释放后仍存于链表中,后面可以触发 **Double-Free**。需要 `User Namespaces` 才能触发。采用 DirtCred 方法进行提权。原创 2022-10-21 16:33:39 · 1466 阅读 · 0 评论 -
【kernel exploit】CVE-2021-4154 错误释放任意file对象-DirtyCred利用
CVE-2021-4154 DirtyCred 利用方法原创 2022-10-17 12:14:56 · 996 阅读 · 0 评论 -
【bsauce读论文】2022-CCS-DirtyCred: Escalating Privilege in Linux Kernel
简介:本文灵感来自 CVE-2022-0847 DirtyPipe漏洞,不需要绕过现有的防护机制就能成功提权,但问题是只要该漏洞被修补后,就无法再利用,并不通用。所以本文提出了 DirtyCred,一种新的通用漏洞利用方法,不用依赖Linux的pipeline机制,只需利用堆内存破坏类型的漏洞,来交换非特权和特权内核凭证(cred/file对象),就能达到和DirtyPipe类似的利用效果。本方法不仅可以提权,还能进行容器逃逸。原创 2022-10-12 16:33:07 · 1826 阅读 · 0 评论 -
【kernel exploit】CVE-2022-34918 nftables 堆溢出漏洞利用(list_head任意写)
CVE-2022-34918 nftable堆溢出漏洞利用(list_head任意写)原创 2022-07-26 20:24:17 · 2403 阅读 · 0 评论 -
【kernel exploit】CVE-2022-1015 nftables 栈溢出漏洞分析与利用
CVE-2022-1015 内核nftables 栈溢出原创 2022-07-16 19:47:20 · 3048 阅读 · 0 评论 -
【kernel exploit】CVE-2021-41073 内核类型混淆漏洞利用分析
CVE-2021-41073原创 2022-07-10 09:19:33 · 1401 阅读 · 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 · 1835 阅读 · 1 评论 -
slab-quarantine-针对内核UAF利用的堆隔离机制
介绍:该保护机制的全称是Linux Kernel Heap Quarantine——SLAB_QUARANTINE,主要针对内核UAF利用。UAF利用:利用堆喷来控制victim对象,原理是kmalloc()总能分配得到最近释放的堆块。SLAB_QUARANTINE原理:一是把将要释放的堆块暂时放入隔离队列,等待被真正释放,这样堆喷时就不能立刻获得该堆块了;二是采取quarantine randomization 隔离随机化机制,当隔离区增大后,随机选取batch(堆隔离采用batch来存储对象)随机释原创 2021-10-18 10:53:38 · 2096 阅读 · 0 评论