Reptile is an open-source Linux loadable-kernel-module rootkit with integrated backdoor and reverse-shell functionality. It uses the KHOOK framework and kernel-function hooks to conceal its kernel module, files, directories, processes, selected file content, and TCP or UDP network connections. Reptile can receive control commands through kernel-mediated communication, including commands to hide artifacts, modify concealed content, reveal hidden items, and grant elevated privileges. Its port-knocking mechanism accepts specially crafted TCP, UDP, or ICMP traffic and can activate an encrypted reverse shell. Reptile loaders decrypt an embedded kernel-module payload in memory and may load it by directly invoking the Linux init_module system call, rather than using standard module-loading utilities. The rootkit can establish reboot persistence through udev rules. Reptile has been observed in China-linked espionage activity, including operations associated with UNC3886, Fire Ant, and Winnti-linked Mélofée activity, affecting Linux management infrastructure, virtual machines, and appliance environments.
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.
На скомпрометированных управляющих Linux-хостах злоумышленники разворачивали набор инструментов для длительного доступа к инфраструктуре жертв. В него входили руткиты Medusa и REPTILE.
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.
23 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"
The Reptile rootkit demonstrates this technique by installing a malicious udev rule under /etc/udev/rules.d/... 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.
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"
The Reptile rootkit demonstrates this technique by installing a malicious udev rule under /etc/udev/rules.d/... 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.
“The rootkit writes a jump instruction at the start (prologue) of a kernel function, which diverts execution to the rootkit’s own code.” | “Rootkits are stealthy malware designed to conceal malicious activity, such as files, processes, network connections, kernel modules, or accounts.”
Stripping binaries and appending a single null byte significantly degraded static detections; limited XOR string/configuration encoding and lightweight packing were also used.
Rootkits often rename their processes and threads to match benign system components... kworker, migration, rcu_sched, sshd, systemd, dbus-daemon, or bash.
BridgeAgent ... маскировал свой процесс под /usr/bin/gnome-shell. Некоторые бинарники злоумышленники переименовывали ... чтобы выдать файлы за легитимные агенты SentinelOne и Cybereason.
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.
25 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A Linux rootkit deployed for long-term access on compromised Linux management hosts.
REPTILE-like binaries were renamed and masqueraded as Cybereason and SentinelOne security-agent processes to reduce detection.
Open-source Linux rootkit used by Fire Ant to maintain durable access on Linux management hosts.
Linux rootkit used to hide attacker activity, maintain persistence, and support credential theft on compromised systems, including VMware environments.
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.