
linux
文章平均质量分 96
bsauce
github:https://github.com/bsauce
展开
-
【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 评论 -
【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 评论 -
【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 · 834 阅读 · 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 · 1097 阅读 · 1 评论 -
Linux的file、socket、任务调度函数介绍
说明:调试 CVE-2017-11176 之前需要先学习本文,以对Linux相关知识有个了解。调试分析可参读【kernel exploit】CVE-2017-11176 竞态Double-Free漏洞调试一、文件file与socket介绍1. 文件描述符-fd、文件对象-struct file、文件描述表-fdtable(映射fd和file结构体) 及其关系在Linux中,“一切都是文件”,有七种文件:常规、目录、链接、字设备、块设备、fifo和socket,它们都用文件描述符来表示。三者的关系是,原创 2021-02-21 16:54:59 · 1101 阅读 · 0 评论 -
Linux 安全缓解机制总结
学习资料:linux-kernel-defence-mapA Decade of Linux Kernel Vulnerabilities, their Mitigation and Open Problems-2017The State of Kernel Self Protection-2018PaX/Grsecurity 代码分析——各种安全机制Linux每个版本对应的安全更新linux安全机制的论文防护研究团队:SELinux (NSA)、AppArmor原创 2020-06-28 11:30:17 · 6566 阅读 · 3 评论