GitPedia

Modreveal

Utility to find hidden Linux kernel modules

From aidlx·Updated June 2, 2026·View on GitHub·

`modreveal` is a small utility that prints the names of hidden LKMs (Linux Kernel Modules) if any exist. It's useful for detecting rootkits that hide themselves from standard tools like `lsmod`. The project is written primarily in C, distributed under the GNU General Public License v3.0 license, first published in 2023. Key topics include: blueteam, kernel-module, kernel-security, lkm, lkm-rootkit.

modreveal

modreveal is a small utility that prints the names of hidden LKMs (Linux Kernel Modules) if any exist. It's useful for detecting rootkits that hide themselves from standard tools like lsmod.

Demo

Requirements

  • Linux kernel 5.2 or newer (updated for modern kernel API)
  • Kernel headers matching your running kernel
  • GCC compiler
  • libnl-3 and libnl-genl-3 development libraries

Installing Dependencies

Arch Linux

bash
sudo pacman -S linux-headers gcc libnl

Ubuntu/Debian

bash
sudo apt-get install linux-headers-$(uname -r) gcc libnl-3-dev libnl-genl-3-dev

Fedora/RHEL

bash
sudo dnf install kernel-devel gcc libnl3-devel

Usage

bash
make sudo ./modreveal

How It Works

  1. Loads a kernel module that uses kprobes to access kallsyms_lookup_name
  2. Iterates through all kernel modules using the internal module_kset structure
  3. Communicates the complete module list to userspace via generic netlink
  4. Compares the kernel's internal module list with the output of lsmod
  5. Reports any modules that exist in the kernel but are hidden from lsmod

Testing

To test the utility, you can use a rootkit that hides itself, such as:

Compatibility

  • Updated for Linux kernel 5.2+ (uses modern generic netlink API)
  • Tested on kernel 6.x series
  • Should work on any modern Linux distribution with proper dependencies installed

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from aidlx/modreveal via the GitHub API.Last fetched: 6/26/2026