Has used the publicly available rootkits REPTILE and MEDUSA on targeted VMs.1
Rootkit T1014
- Tactic
- Stealth
- Platforms
- Linux, macOS, Windows
- Version
- 2.0
- Created
- 31 May 2017
- Last modified
- 12 May 2026
- Contributor
- Menachem Goldstein
Adversaries may use rootkits to hide the presence of programs, files, network connections, services, drivers, and other system components. Rootkits are programs that hide the existence of malware by intercepting/hooking and modifying operating system API calls that supply system information. [1]
Rootkit MITRE reference T1014
6 groups have been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
Has used rootkits such as the open-source Diamorphine rootkit and their custom bots to hide cryptocurrency mining activities on the machine.1 2
Has modified /etc/ld.so.preload to hook libc functions in order to hide the installed dropper and mining software in process lists.1
Used a rootkit to modify typical server functionality.1
Has used a UEFI (Unified Extensible Firmware Interface) rootkit known as LoJax.12
All 6 groups for this technique
2 campaigns have been recorded using this technique. Listed newest first; dates are year-granularity and attribution is MITRE’s.
During RedPenguin, UNC3886 used rootkits such as REPTILE and MEDUSA.1
Included hooking the processHostScanReply() function on victim Cisco ASA devices.1
All 2 campaigns for this technique
24 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Is a rootkit with command execution and credential logging capabilities.1
Has the ability to hook kernel functions and modify functions data to achieve rootkit functionality such as hiding processes and network connections.1
Can hook both the crash dump process and the Autehntication, Authorization, and Accounting (AAA) functions on compromised machines to evade forensic analysis and authentication mechanisms.1
Hooks or replaces multiple legitimate processes and other functions on victim devices.1
Can include a rootkit to hide processes, files, and startup.1
Has modified /etc/ld.so.preload to overwrite readdir() and readdir64().1
All 24 software entries for this technique · 6 newest in this preview
Offense vs defense T1014
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Rootkit detection strategy DET0377
MITRE names one behaviour worth catching for this technique and breaks it into 3 analytics, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detection of Kernel/User-Level Rootkit Behavior Across Platforms
AN1061 · Windows
Unauthorized or anomalous loading of kernel-mode drivers or DLLs, concealed services, or abnormal modification of boot components indicative of rootkit activity.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| File CreationDC0039 | WinEventLog:Sysmon | EventCode=11 |
| Service CreationDC0060 | WinEventLog:System | EventCode=7045 |
| Driver LoadDC0079 | WinEventLog:Sysmon | EventCode=6 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| DriverSignatureStatus | Signed vs unsigned drivers; many environments restrict unsigned drivers, but some legacy systems allow them. |
| TargetDirectory | Suspicious driver or DLL drop locations, e.g., \System32\Drivers\ or \Temp\ |
| UserContext | Rootkit installation via admin or SYSTEM account. |
AN1062 · Linux
Abnormal loading of kernel modules, direct tampering with /dev, /proc, or LD_PRELOAD behaviors hiding processes or files.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Module LoadDC0016 | linux:syslog | kmod |
| Process CreationDC0032 | auditd:EXECVE | None |
| File ModificationDC0061 | linux:osquery | file_events |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| MonitoredDirectories | Directories where kernel modules or tampering could be staged (e.g., /lib/modules/). |
| ModuleNamePattern | Regex or heuristic match to anomalous module names (e.g., suspicious entropy or gibberish). |
| LD_PRELOAD | Monitor presence of suspicious preload values that mask processes or files. |
AN1063 · macOS
Execution of unsigned kernel extensions (KEXTs), tampering with LaunchDaemons, or userspace hooks into system libraries.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Module LoadDC0016 | macos:unifiedlog | subsystem=com.apple.kextd |
| Service CreationDC0060 | macos:osquery | launch_daemons |
| File ModificationDC0061 | fs:fsevents | Extensions |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| KextSignatureStatus | Allowable level of unsigned/3rd-party kernel extensions varies by organization. |
| KextLoadOrigin | Detect whether the extension was loaded by an untrusted process or non-root user. |
| AnomalousLaunchAgent | Detection tuned based on deviation from known/approved LaunchDaemon plist files. |
Tests from Atomic Red Team (MIT licence) · technique definition