What is the kernel heap bypass technique involving SMAP and SMEP?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1158个文字,预计阅读时间需要5分钟。
在内核和堆绕过中,通过禁用SMAP和启用SMEP,可以保持modprobe_path的exp1。当CPU处于ring0模式且执行用户空间代码时,如果SMEP未启用,即使用户数据不可执行,代码执行仍可能触发页错误。系统会检查CR4寄存器的第20位,以判断内核是否已开启s模式。
kernel heap bypass smep,smap && 劫持modprobe_pathexp1
smep:smep即用户数据不可执行,当 CPU 处于 ring0 模式时,执行用户空间的代码会触发页错误,系统根据CR4寄存器的第20位判断内核是否开启smep,为1时开启,为0时关闭(第21位是SMAP位)。
smap:smap用户数据不可访问。
通过控制cr4寄存器为0x6f0即可绕过。
本文共计1158个文字,预计阅读时间需要5分钟。
在内核和堆绕过中,通过禁用SMAP和启用SMEP,可以保持modprobe_path的exp1。当CPU处于ring0模式且执行用户空间代码时,如果SMEP未启用,即使用户数据不可执行,代码执行仍可能触发页错误。系统会检查CR4寄存器的第20位,以判断内核是否已开启s模式。
kernel heap bypass smep,smap && 劫持modprobe_pathexp1
smep:smep即用户数据不可执行,当 CPU 处于 ring0 模式时,执行用户空间的代码会触发页错误,系统根据CR4寄存器的第20位判断内核是否开启smep,为1时开启,为0时关闭(第21位是SMAP位)。
smap:smap用户数据不可访问。
通过控制cr4寄存器为0x6f0即可绕过。

