Liunx基础知识 --10可加载内核模块 (LKM)

在这个关于黑客 Linux 基础知识的连续系列中,我现在想讨论可加载内核模块 (LKM)。LKM 对 Linux 管理员至关重要,因为它们为他们提供了向内核添加功能而无需重新编译内核的能力。诸如视频和其他设备驱动程序之类的东西可以添加到 Linux 内核中,而无需关闭系统、重新编译和重新启动。

可加载内核模块对黑客来说至关重要,因为如果我们能让 Linux 管理员将我们的新模块加载到他们的内核中,我们不仅拥有他们的系统——而且因为我们处于他们操作系统的内核级别——我们可以甚至控制他们的系统在进程、端口、服务、硬盘空间等方面向他们报告的内容。

因此,如果我们可以为 Linux 用户/管理员提供一个嵌入了我们的 rootkit 的“新的和改进的”视频驱动程序,我们就可以控制他的系统和内核。这就是一些最阴险的 Rootkit 利用 Linux 操作系统的方式。

 

所以,我希望很清楚,理解 LKM 是成为一名有效的 Linux 管理员和成为一名非常有效和隐秘的黑客的关键。

第 1 步:什么是内核模块?

内核是任何 Linux 操作系统的核心组件,包括我们的 Kali Linux。内核是我们操作系统的中枢神经系统,控制着操作系统所做的一切,包括管理硬件组件之间的交互和启动必要的服务。内核在用户应用程序和硬件(如 CPU、内存、硬盘驱动器等)之间运行。

 

由于内核管理操作系统发生的所有事情,因此有时它需要更新。这些更新可能包括新的设备驱动程序(如视频卡或 USB 设备)、文件系统驱动程序,甚至系统扩展。这就是 LKM 的用武之地。我们现在可以根据需要简单地加载和卸载内核模块,而无需重新编译内核。

第 2 步:检查内核

 

我们要做的第一件事是检查系统正在运行的内核。至少有两种方法可以做到这一点。我们可以输入:

uname -a

 

 请注意,内核告诉我们它的内核构建 (4.6.4),还有它构建的架构 (x86_64)。我们还可以通过“catting”/proc/version 文件来获取此信息,这实际上会提供更多信息。

kali > cat /proc/version

 

 

 第 3 步:使用 sysctl 进行内核调优

有时,Linux 管理员会想要“调整”内核。这可能包括更改内存分配、启用网络功能,甚至加固内核以防黑客攻击。

对于现代 Linux 内核,我们有sysctl命令来调整内核选项。您使用sysctl所做的所有更改仅在您重新启动系统之前保持有效。要使任何更改永久生效,必须在/etc/sysctl.conf中编辑 sysctl 的配置文件

 

使用sysctl时要小心,因为如果没有适当的知识和经验,您很容易使系统无法启动和使用。现在让我们看一下sysctl的内容。

sysctl -a | less

 

 

 要查看 sysctl 的配置文件,我们可以在/etc/sysctl.conf中获取它。

kali > less /etc/sysctl.conf

 

 

 我们可能希望使用sysctl进行黑客攻击的一种方法是为中间人攻击启用 ipforwarding (net.ipv4.conf.default.forwarding) 从强化的角度来看,我们可以禁用 ICMP 回显请求 (net.ipv4.icmp_echo_ignore_all),从而使黑客更难(但并非不可能)找到我们的系统。

第 4 步:内核模块

 

要管理我们的内核,Linux 至少有两种方法。较早的方法是使用一组围绕insmod命令构建的命令。在这里,我们使用其中一个——lsmod——来列出内核中已安装的模块。

 

lsmod

 

 

 我们可以使用insmod加载或插入模块,使用rmmod删除模块

第 5 步:Modprobe

大多数较新的 Linux 发行版,包括我们的 Kali Linux(基于 Debian),都已转换为用于 LKM 管理的modprobe命令。要将模块添加到我们的内核,我们可以键入:

 

kali > modprob e -a <模块名称>

要删除模块,我们只需使用带有modprobe的 -r 开关,后跟模块名称。

 

kali > modprobe -r <要删除的模块>

modprobe 的一个主要优点是了解我们内核模块的依赖项、选项以及安装和删除过程。

要查看已安装模块的配置文件,我们列出 /etc/modprobe.d/ 目录的内容。

ls -l /etc/modprobe.d/

 

 

 

 请记住,LKM 模块为 Linux 用户/管理员提供了便利,但却是 Linux 的主要安全弱点,也是专业黑客应该熟悉的。正如我之前所说,LKM 可以成为将您的 rootkit 引入内核并造成严重破坏的完美工具!

参考链接:https://www.hackers-arise.com/post/2017/11/03/Linux-for-Hackers-Part-10-Loadable-Kernel-Modules-LKM

posted @ 2023-03-10 16:30  wgd_elwood  阅读(890)  评论(0)    收藏  举报