调试
文章平均质量分 96
bsauce
github:https://github.com/bsauce
展开
-
【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 · 708 阅读 · 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 · 665 阅读 · 1 评论 -
【linux内核调试】内核调试方法对比
一、调试简介本文主要实践一下linux内核调试方式,并进行比较。内核调试方式在这篇blog中讲解的非常详细,本文只介绍几种动态的调试方法。1.ftraceLinux当前版本中, 功能最强大的调试、跟踪手段。其最基本的功能是提供了动态和静态探测点,用于探测内核中指定位置上的相关信息。静态探测点:是在内核代码中调用 ftrace 提供的相应接口实现,称之为静态是因为,是在内核代码中写死的,静态...原创 2019-11-17 22:01:17 · 3943 阅读 · 0 评论 -
【linux内核调试】SystemTap使用技巧
SystemTap配置、内核调试方法对比请参考【linux内核调试】内核调试方法对比1.SystemTap使用技巧(1)定位函数位置——-l定位内核系统调用函数在哪个文件上,以往是用source insight或者grep找:$ grep -nr 'SYSCALL_DEFINE3(open' ./ ./fs/compat.c:1075:COMPAT_SYSCALL_DEFINE3(ope...原创 2019-11-17 21:24:02 · 1763 阅读 · 0 评论 -
【Linux内核调试】使用Ftrace来Hook linux内核函数
目标:hook几个Linux内核函数调用,如打开文件和启动进程,并利用它来启用系统活动监控并抢先阻止可疑进程。一、方案比较1. 使用Linux安全API方法:内核代码的关键点包含安全函数调用,这些调用可能触发安全模块安装的回调,该模块可以分析特定操作的上下文,并决定是允许还是禁止它。限制:安全模块无法动态加载,所以需要重新编译内核。2. 修改系统调用表方法:所有Linux系统调用处理程...原创 2019-11-14 18:50:33 · 1527 阅读 · 0 评论 -
linux双机调试环境配置
查看内核版本: $ uname -sr一、选择调试的linux kernel版本注意:选择kernel版本时,既要能下载到image和header二进制文件,也要下载符号文件vmlinux和source code。搜索命令:搜索linux内核版本 apt-cache search linux-image | grep linux-image-4.10.0 |grep generic搜索...原创 2019-10-08 11:10:41 · 959 阅读 · 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 · 1054 阅读 · 0 评论 -
linux内核漏洞利用初探(2):demo-null_dereference
1. NULL Dereference(1)介绍古老的Linux NULL pointer dereference exploit,映射0地址分配shellcode运行(2)漏洞代码#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include &l...原创 2019-09-05 11:13:22 · 1327 阅读 · 0 评论 -
linux内核漏洞利用初探(1):环境配置
主要记录一下学习muhe师傅的系列教程,记录其中的坑点。环境说明:内核版本2.6.32.1busybox版本1.19.4gcc版本4.7实验环境ubuntu16.041.更新gcc内核2.6.x只支持gcc 3.x和4.x.y,可能是较高版本的gcc不支持老版本kernel的某些语法格式。gcc下降:sudo apt-get install -y gcc-4.7sudo apt...原创 2019-09-05 11:13:10 · 1909 阅读 · 0 评论 -
【Go调试】Delve调试学习
参考:https://github.com/go-delve/delve/blob/master/Documentation/cli/README.mdhttps://juejin.im/entry/5aa1f98d6fb9a028c522c84b1.Linux下安装注意:go需要更新到1.10以上了,否则报错。方法1,采用go安装: $ go get -u github.c...原创 2019-07-19 15:45:20 · 808 阅读 · 0 评论