绕过与加载内核模块相关的 SELinux 限制

已经证明了绕过在所研究的设备之一上加载目标 SELinux 规则中实现的内核模块的禁令的可能性(没有指定我们正在讨论的是哪个设备以及该问题对固件和发行版中的 SELinux 规则有多大影响)。所涉及的 SELinux 规则中的模块阻塞基于限制对 finit_module 系统调用的访问,该系统调用允许从文件加载模块并在 insmod 等实用程序中使用。然而,SELinux 规则没有考虑 init_module 系统调用,该调用也可用于直接从内存中的缓冲区加载内核模块。

为了演示该方法,我们准备了一个原型漏洞利用程序,允许您通过加载模块在内核级别执行代码,并完全禁用 SELinux 保护(如果您对受 SELinux 限制的系统具有 root 访问权限)。

来源: opennet.ru

添加评论