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]
Rootkits or rootkit enabling functionality may reside at the user or kernel level in the operating system or lower, to include a hypervisor or System Firmware. [2] Rootkits have been seen for Windows, Linux, and Mac OS X systems. [3] [4]
Rootkits that reside or modify boot sectors are known as Bootkits and specifically target the boot process of the operating system.
| ID | Name | Description |
|---|---|---|
| G0007 | APT28 |
APT28 has used a UEFI (Unified Extensible Firmware Interface) rootkit known as LoJax.[5][6] |
| G0096 | APT41 | |
| C0046 | ArcaneDoor |
ArcaneDoor included hooking the |
| S0484 | Carberp |
Carberp has used user mode rootkit techniques to remain hidden on the system.[10] |
| S0572 | Caterpillar WebShell |
Caterpillar WebShell has a module to use a rootkit on a system.[11] |
| S1105 | COATHANGER |
COATHANGER hooks or replaces multiple legitimate processes and other functions on victim devices.[12] |
| S0502 | Drovorub |
Drovorub has used a kernel module rootkit to hide processes, files, executables, and network artifacts from user space view.[13] |
| S0377 | Ebury |
Ebury acts as a user land rootkit using the SSH service.[14][15] |
| S0047 | Hacking Team UEFI Rootkit |
Hacking Team UEFI Rootkit is a UEFI BIOS rootkit developed by the company Hacking Team to persist remote access software on some targeted systems.[16] |
| S0394 | HiddenWasp |
HiddenWasp uses a rootkit to hook and implement functions on the system.[17] |
| S0135 | HIDEDRV |
HIDEDRV is a rootkit that hides certain operating system artifacts.[18] |
| S0009 | Hikit | |
| S0601 | Hildegard |
Hildegard has modified /etc/ld.so.preload to overwrite readdir() and readdir64().[21] |
| S0040 | HTRAN |
HTRAN can install a rootkit to hide network connections from the host OS.[22] |
| S1186 | Line Dancer |
Line Dancer 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.[9] |
| S0397 | LoJax |
LoJax is a UEFI BIOS rootkit deployed to persist remote access software on some targeted systems.[6] |
| S1220 | MEDUSA |
MEDUSA is a rootkit with command execution and credential logging capabilities.[23] |
| S0012 | PoisonIvy |
PoisonIvy starts a rootkit from a malicious file dropped to disk.[24] |
| S0458 | Ramsay | |
| C0056 | RedPenguin |
During RedPenguin, UNC3886 used rootkits such as REPTILE and MEDUSA.[26] |
| S1219 | REPTILE |
REPTILE has the ability to hook kernel functions and modify functions data to achieve rootkit functionality such as hiding processes and network connections.[23] |
| G0106 | Rocke |
Rocke has modified /etc/ld.so.preload to hook libc functions in order to hide the installed dropper and mining software in process lists.[27] |
| S0468 | Skidmap |
Skidmap is a kernel-mode rootkit that has the ability to hook system calls to hide specific files and fake network and CPU-related statistics to make the CPU load of the infected machine always appear low.[28] |
| S0603 | Stuxnet |
Stuxnet uses a Windows rootkit to mask its binaries and other relevant files.[29] |
| G0139 | TeamTNT |
TeamTNT has used rootkits such as the open-source Diamorphine rootkit and their custom bots to hide cryptocurrency mining activities on the machine.[30] [31] |
| S0221 | Umbreon |
Umbreon hides from defenders by hooking libc function calls, hiding artifacts that would reveal its presence, such as the user account it creates to provide access and undermining strace, a tool often used to identify malware.[32] |
| G1048 | UNC3886 |
UNC3886 has used the publicly available rootkits REPTILE and MEDUSA on targeted VMs.[23] |
| S0022 | Uroburos |
Uroburos can use its kernel module to prevent its host components from being listed by the targeted system's OS and to mediate requests between user mode and concealed components.[33][34] |
| S0670 | WarzoneRAT |
WarzoneRAT can include a rootkit to hide processes, files, and startup.[35] |
| S0430 | Winnti for Linux |
Winnti for Linux has used a modified copy of the open-source userland rootkit Azazel, named libxselinux.so, to hide the malware's operations and network activity.[36] |
| G0044 | Winnti Group |
Winnti Group used a rootkit to modify typical server functionality.[37] |
| S0027 | Zeroaccess |
Zeroaccess is a kernel-mode rootkit.[38] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0377 | Detection of Kernel/User-Level Rootkit Behavior Across Platforms | AN1061 |
Unauthorized or anomalous loading of kernel-mode drivers or DLLs, concealed services, or abnormal modification of boot components indicative of rootkit activity. |
| AN1062 |
Abnormal loading of kernel modules, direct tampering with /dev, /proc, or LD_PRELOAD behaviors hiding processes or files. |
||
| AN1063 |
Execution of unsigned kernel extensions (KEXTs), tampering with LaunchDaemons, or userspace hooks into system libraries. |