Security Center Enterprise Edition supports detection of Linux rootkit intrusion threats, helping you promptly identify whether your servers have been compromised by rootkits.
Background
A rootkit is a malicious program planted by attackers after compromising a server. It is designed to hide itself and maintain persistent access. Rootkits typically exploit low-level operating system mechanisms to evade manual auditing and security software analysis, often involving injection into and tampering with kernel components and drivers.
Hazards of Rootkit
Linux rootkits are a class of sophisticated adversarial malware. They are typically loaded into the system as Linux kernel modules (LKMs) and execute high-privilege operations at the kernel level or directly tamper with kernel code, thereby hijacking normal system operations. With a rootkit, attackers can hide or tamper with arbitrary directories, files, disk contents, processes, network connections, and traffic, while providing hidden backdoors for direct access to compromised servers.
Taking the commonly seen Reptile rootkit on Linux servers as an example, it installs a kernel-mode driver module named reptile_module into the target system and hides itself to achieve the following:
Escalate privileges for attacker-controlled users
Hide files and directories
Hide processes
Hide TCP/UDP connections
Maintain persistent hidden state across reboots
Read and tamper with file contents
ICMP/UDP/TCP backdoors
Reverse shells with file transfer capabilities
Code and module obfuscation
Detection challenges and current landscape
Despite the widespread proliferation of rootkits, the industry lacks mature detection products and solutions. Existing tools such as Chkrootkit and Rkhunter can only match file signatures of known rootkits and cannot detect newer, stealthy variants. Meanwhile, memory forensics solutions based on Volatility require capturing full system snapshots from the server and relying on custom plugins, making them impractical for general users.
Security Center rootkit detection solution
Security Center provides a lightweight rootkit detection solution that identifies potential rootkit traces and impacts using forensic methods. This solution consumes minimal server resources and does not affect business stability.
The rootkit detection feature operates based on the universal rootkit principle: all rootkits must hook, tamper with, or hijack kernel-mode functions, including system calls, VFS functions, and lower-level functional functions. The detection feature captures and analyzes critical data from system memory images to determine the presence and attributes of rootkits, identify tampered system functions, infer rootkit behavior, and push detailed alerts to you.
As a forensic scanning technique, this solution periodically detects all implanted and active rootkit kernel modules on target servers. It does not include behavioral detection during the rootkit implantation process. To detect suspected rootkit implantation behavior and kernel module files (.ko files) used for implantation, refer to alert types provided by Security Center, such as "Abnormal Process Behavior," "Malware," and "Persistent Backdoor."
Rootkit detection and notification scope
Security Center Enterprise Edition performs scheduled daily checks for rootkit threats across your assets. When a threat is detected, alert notifications are automatically sent without requiring manual activation or triggering. Users without Enterprise Edition or users for whom no rootkit threats are detected will not receive relevant alerts.
If you have not selected any severity level in the security alert settings, you will not receive alert notifications. For more information, see Configure security alerts.
Rootkit alert details
When a rootkit kernel module is detected in your assets, the Security Center console pushes a security alert named Malicious Process (Cloud Detection) - Rootkit Kernel Module with a status of Pending. An example alert is as follows:
The rootkit kernel module is named reptile_module. Its tampered kernel functions include __d_lookup, audit_alloc, filldir, inet_ioctl, ip_rcv, sys_kill, tcp4_seq_show, udp4_seq_show, vfs_read, and others (18 in total). The rootkit characteristic impacts cover signal hijacking or backdoor toggles, file content hiding, privilege escalation, directory or file hiding, network hiding, process hijacking, and process hiding. A Linux rootkit kernel module is sophisticated malicious code implanted into the operating system kernel by attackers. We recommend that you evaluate the situation and migrate your data and business afterward.
The following table describes the alert parameters.
Parameter | Description |
Rootkit Kernel Module Name | The name of the hidden kernel module located in kernel-mode memory. Normally loaded kernel modules are listed in the output of the lsmod command, whereas hidden module names are concealed from this list. |
Kernel Functions Tampered by Rootkit | The names of kernel-mode functions found to be tampered with or hijacked during scanning. These include system call functions that serve as kernel function entry points, VFS abstraction layer functions, and lower-level functions. Such tampering includes both the replacement of normal function pointers and the rewriting of normal kernel code. The hijacked code that is actually executed resides within the memory address space of the hidden kernel module identified above. |
Rootkit Characteristics and Impact | The categorized rootkit capabilities, analyzed and summarized based on the identified tampering targets. The current classification labels include: directory or file hiding, process hiding, file content hiding, directory or file deletion protection, network hiding, privilege escalation, process hijacking, signal hijacking or backdoor toggles, file write protection or input stealing, and working directory hijacking. Different rootkits may include one or more of these labels. |
Supported rootkits
The Security Center rootkit detection feature supports detection on 64-bit servers running Linux kernel 2.6.32 or later. For testing, we selected open or open-source Linux LKM rootkits from the actively maintained RootKits-List-Download list on GitHub. Security Center currently supports full detection of all still-effective rootkits from this list.
The complete test list and results are shown in the following table.
Rootkit | Test System | Kernel | Result |
f0rb1dd3n/Reptile 1.0 | CentOS 7.6 | 3.10.0 | Detected |
f0rb1dd3n/Reptile 2.0 | Ubuntu 16.04 | 4.4.0 | Detected |
Eterna1/puszek-rootkit | Ubuntu 16.04 | 4.4.0 | Detected |
m0nad/Diamorphine | Ubuntu 16.04 | 4.4.0 | Detected |
citypw/suterusu | CentOS 7.6 | 3.10.0 | Detected |
Xingyiquan | CentOS 6.10 | 2.6.32 | Detected |
bones-codes/the_colonel | CentOS 6.10 | 2.6.32 | Detected |
miagilepner/rickrolly | CentOS 6.10 | 2.6.32 | Detected |
matteomattia/moo_rootkit | CentOS 6.10 | 2.6.32 | Deprecated |
ivyl/rootkit | CentOS 6.10 | 2.6.32 | Detected |
QuokkaLight/rkduck | Ubuntu 16.04 | 4.4.0 | Detected |
falk3n/subversive | CentOS 6.10 | 2.6.32 | Detected |
a7vinx/liinux | CentOS 6.10 | 2.6.32 | Detected |
varshapaidi/Kernel_Rootkit | CentOS 7.8 | 3.10.0 | Deprecated |
hanj4096/wukong | CentOS 7.8 | 3.10.0 | Detected |
NinnOgTonic/Out-of-Sight-Out-of-Mind-Rootkit | CentOS 6.10 | 2.6.32 | Deprecated |
joshimhoff/toykit | CentOS 6.10 | 2.6.32 | Deprecated |
jiayy/lkm-rootkit | CentOS 6.10 | 2.6.32 | Deprecated |
nurupo/rootkit | CentOS 6.10 | 2.6.32 | Detected |
trimpsyw/adore-ng | CentOS 7.8 | 3.10.0 | Detected |
PinkP4nther/Sutekh | Alibaba Cloud Linux (Alinux) | 4.19.91 | Detected |
Security Center currently supports full detection of various closed-source rootkits that have been discovered on the cloud and have caused a certain impact. The specific detection list will be disclosed later.
Advanced adversarial rootkit detection
Through real-world analysis of cloud servers, we have identified certain adversarial rootkits specifically designed to counter scanning detection based on kernel memory forensics (such as Volatility). Security Center's current detection mechanisms can bypass such obfuscation and countermeasures. Adversarial rootkits typically go beyond hiding modules by further erasing traces such as module headers from the memory data of loaded kernels. In such cases, the detection feature can still locate kernel function tampering and corresponding characteristic impacts, but cannot reconstruct and extract the kernel module name. In this scenario, the alert information you receive is as follows.
The alert title is Malicious Process (Cloud Detection) - Rootkit Kernel Module with a status of Pending. The Rootkit Kernel Module is displayed as (Adversarial Obfuscated). The Kernel Functions Tampered by Rootkit include __d_lookup, audit_alloc, compat_filldir, filldir, find_task_by_vpid, inet_ioctl, tcp4_seq_show, udp4_seq_show, vfs_read, and others. The Rootkit Characteristics and Impact include file content hiding, privilege escalation, directory or file hiding, network hiding, process hijacking, and process hiding.