Linux中非root用户触发内核模块加载的方式有哪些

Sel*_*vel 4 kernel-modules not-root-user linux-kernel

一种方法是为某些协议创建侦听套接字,然后将加载该协议的模块。例如,DCCP 和 SCTP。

还有其他方法吗?

UPD:用例:AWS/Azure/ 中某处的虚拟机......攻击者获得了本地非特权用户 shell。非特权用户无法更改硬件。目前未加载的内核模块存在本地提权漏洞。他如何加载这个模块来使用它?

受最近 DCCP 协议内核模块中的漏洞启发的问题。

UPD2:根据 CVE-2017-2636,可以n_hdlc通过“为 tty 设备激活 HDLC”来加载内核模块(关于 CVE-2017-2636 的俄文文章)。所以还有其他方法,但没有人对这个问题感兴趣:(

HBr*_*ijn 5

许多文件系统驱动程序被实现为内核模块,并且会根据需要加载,无论是由于用户挂载还是由自动挂载守护程序。

此外,还有各种热插拔设备,将它们插入将导致内核加载所需的内核模块来管理它们,其中 USB 外围设备是一个非常大的子类别,