Reptile is an open-source Linux kernel rootkit implemented as a loadable kernel module. It is designed to provide stealth and backdoor access on compromised Linux systems by concealing files, directories, processes, file contents, network connections, and the rootkit module itself. Reptile uses kernel hooking, including the KHOOK framework, to intercept system functionality and manipulate host visibility. It can receive control commands from user space to hide or reveal artifacts, tamper with file contents, and grant elevated privileges.
Unlike many Linux rootkits focused only on concealment, Reptile also includes reverse-shell functionality for interactive attacker access. It supports a port-knocking style activation mechanism using specially crafted trigger traffic and can communicate over raw TCP with TLS protection. Its reverse shell has been described as based on TinySHell. Reptile loaders have evolved over time: later versions use a custom launcher that decrypts an embedded kernel module and loads it directly with the init_module syscall, bypassing reliance on standard module-loading utilities and complicating command-based detection.
Reptile has persistence options including installation through startup mechanisms and udev rules, and it has been modified by multiple threat actors for operational use. Public reporting has linked its use to China-nexus espionage activity, including UNC3886 operations against Fortinet, VMware, and virtualized environments, as well as Winnti-linked Mélofée activity. Modified Reptile-derived rootkits have also been observed on enterprise Linux distributions such as RHEL and CentOS. Reptile is therefore best understood as a publicly available Linux rootkit and backdoor framework that is frequently repurposed in post-compromise intrusion operations where stealthy persistence and covert remote access are required.
Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.
2 distinct threat actors attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.
UNC3886 has used the publicly available rootkits REPTILE and MEDUSA.
Reptile is an open-source kernel module rootkit that targets Linux systems and is publicly available on GitHub. Unlike other rootkit malware that typically only provide concealment capabilities, Reptile goes a step further by offering a reverse shell, allowing threat actors to easily take control of systems.
24 distinct techniques documented for this family, organized by ATT&CK tactic.
The Reptile rootkit demonstrates this technique by installing a malicious udev rule under /etc/udev/rules.d/: ACTION=="add", ENV{MAJOR}=="1", ENV{MINOR}=="8", RUN+="/lib/udev/reptile"
upon examining the rc.local autorun script, it is evident that a command to ensure persistence exists between the tags “#<intel_audio>” and “#</intel_audio>” | It also supports persistence through Udev. The following rules file is created in the /lib/udev/rules.d/ directory... to ensure that it will be executed even after a reboot.
This setting is particularly useful for hardening a system against certain types of attacks, such as attempts to load malicious kernel modules (think rootkits) or manipulate the system at a low level. Mandiant recently published a blog post where they found, among other toolings used by the attackers, REPTILE. REPTILE is an open-source Linux rootkit, implemented as a loadable kernel module (LKM), that provides backdoor access to a system.
Aside from the concealment and Port Knocking features, Reptile provides a feature where the “root” command can be used to give the current user root privileges.
The Reptile rootkit demonstrates this technique by installing a malicious udev rule under /etc/udev/rules.d/: ACTION=="add", ENV{MAJOR}=="1", ENV{MINOR}=="8", RUN+="/lib/udev/reptile"
upon examining the rc.local autorun script, it is evident that a command to ensure persistence exists between the tags “#<intel_audio>” and “#</intel_audio>” | It also supports persistence through Udev. The following rules file is created in the /lib/udev/rules.d/ directory... to ensure that it will be executed even after a reboot.
This setting is particularly useful for hardening a system against certain types of attacks, such as attempts to load malicious kernel modules (think rootkits) or manipulate the system at a low level. Mandiant recently published a blog post where they found, among other toolings used by the attackers, REPTILE. REPTILE is an open-source Linux rootkit, implemented as a loadable kernel module (LKM), that provides backdoor access to a system.
Reptile is an open-source kernel module rootkit that targets Linux systems... Reptile’s concealment capabilities include not only its own kernel module but also files, directories, file contents, processes, and network traffic.
Within the Makefile, a random 32-bit hexadecimal value is generated... This value serves as the encryption key for the Reptile Kernel object, making it difficult to identify the module through simple hash searches or hex value hunts on the filesystem. The encrypted Kernel module is stored in reptile.ko.inc.
To avoid scrutiny during process enumeration or system monitoring, rootkits often rename their processes and threads to match benign system components. Common disguises include: kworker, migration, or rcu_sched... sshd, systemd, dbus-daemon, or bash.
This direct syscall approach allows the custom loader to insert the Kernel module without relying on higher-level functions, which can help avoid detection mechanisms that monitor typical command-line usage patterns.
The content repeatedly describes malware and threat actors decoding, decrypting, or deobfuscating payloads, strings, configuration data, commands, and C2 traffic prior to execution or use, e.g., 'APT28 macro uses the command certutil -decode to decode contents of a .txt file storing the base64 encoded payload' and 'Action RAT can use Base64 to decode actor-controlled C2 server communications.'
Reptile provides a concealment feature for files, directories, processes, and network communications. | Reptile provides a file tampering feature, which allows the contents of a file to be hidden... the strings between these tags are concealed. | When a PID is given along with the “hide” or “show” command, the process of the PID is concealed... hooking next_tgid() makes it so that the concealment target’s process is skipped, making it invisible in the /proc/ list.
TABLEFLIP passively listens on all active interfaces for specialized command packets that contain an XOR encoded IP address and port to redirect traffic to using iptables commands.
Port Knocking is a method where the malware opens a specific port on an infected system and goes on standby. When the threat actor sends a Magic Packet to the system, the received packet is used as a basis to establish a connection with the C&C server.
5 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.
File hashes (MD5, SHA-1, SHA-256) from samples and reports.
19 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Linux rootkit used to hide attacker activity, maintain persistence, and support credential theft on compromised systems, including VMware environments.
A Linux rootkit with a custom loader that directly invokes init_module and uses a kmatryoshka chainloader; also discussed for udev-based persistence, port knocking, masquerading via kworker, and indirect execution persistence techniques.
Modern Linux kernel rootkit/backdoor using inline function patching (via KHOOK framework) and a userspace loader; supports stealth and backdoor commands (e.g., signal-triggered actions).
... REPTILE ... (v1.0) ...
Match every observed IP, domain, and hash against your live telemetry.
Named campaigns wielding this family, with evidence pinned to each claim.
CVEs this family uses for access and lateral movement.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Every documented technique, ranked by evidence weight.
Reddit, Mastodon, and CTI community discussion around this family.