Detect Linux Rootkit intrusion threats

更新时间:
复制 MD 格式

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.

Note

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

Note

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.