Live Active security incident? Get immediate response
MITRE ATT&CK® Technique

T1547.006: Kernel Modules and Extensions

Adversaries may modify the kernel to automatically execute programs on system boot. Loadable Kernel Modules (LKMs) are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system.[1]

When used maliciously, LKMs can be a type of kernel-mode Rootkit that run with the highest operating system privilege (Ring 0).[2] Common features of LKM based rootkits include: hiding itself, selective hiding of files, processes and network activity, as well as log tampering, providing authenticated backdoors, and enabling root access to non-privileged users.[3]

Kernel extensions, also called kext, are used in macOS to load functionality onto a system similar to LKMs for Linux. Since the kernel is responsible for enforcing security and the kernel extensions run as apart of the kernel, kexts are not governed by macOS security policies. Kexts are loaded and unloaded through kextload and kextunload commands. Kexts need to be signed with a developer ID that is granted privileges by Apple allowing it to sign Kernel extensions. Developers without these privileges may still sign kexts but they will not load unless SIP is disabled. If SIP is enabled, the kext signature is verified before being added to the AuxKC.[4]

Since macOS Catalina 10.15, kernel extensions have been deprecated in favor of System Extensions. However, kexts are still allowed as "Legacy System Extensions" since there is no System Extension for Kernel Programming Interfaces.[5]

Adversaries can use LKMs and kexts to conduct Persistence and/or Privilege Escalation on a system. Examples have been found in the wild, and there are some relevant open source projects as well.[6][7][8][9][10][11][12][13]

EnterpriseT1547.006Sub-techniqueObject v1.4 Modified
Glexia's Take

Analyst context for executives and security teams

Analyst confidence High

Kernel modules on Linux and kernel extensions on macOS run at the highest operating-system privilege. If an adversary can make one load at boot, the system may remain compromised while hiding files, processes, network activity, or logs. This matters because normal endpoint and SOC visibility can be weakened by the same component providing persistence or privilege escalation.

Executive priority

Treat this as a high-assurance endpoint integrity issue for Linux and macOS assets, especially servers, developer systems, and other machines where root or administrator misuse would threaten continuity or sensitive intellectual property. Leaders should ask whether privileged account controls, approved kernel/module inventories, macOS kernel-extension governance, and incident response procedures can prove what kernel code is allowed to run and what changed after a suspected compromise.

Technical view

This is ATT&CK T1547.006, a Linux/macOS sub-technique of Boot or Logon Autostart Execution used for persistence and privilege escalation. MITRE does not provide official detection text for this object, but the relationship set includes DET0450, a detection strategy for kernel modules and extensions autostart execution. SOC and IR teams should validate monitoring around loadable kernel modules, macOS kext activity via kextload/kextunload, boot-time module loading, privileged account use, and evidence of rootkit behavior such as hidden processes, files, network activity, or log tampering. Because kernel-mode code can interfere with visibility, host telemetry should be corroborated with trusted baselines, recovery images, and out-of-band evidence where available.

Likely telemetry

  • Linux kernel module inventory and module load/unload evidence
  • macOS kernel extension inventory and kextload/kextunload command activity
  • Boot-time startup and system configuration evidence related to module or extension loading
  • Privileged account activity, especially root or administrative actions preceding module changes
  • Endpoint security and antimalware alerts related to rootkits or unauthorized kernel-level code

Detection direction

  • Build and tune detections around new, unexpected, unsigned, deprecated, or policy-disallowed kernel modules/extensions on Linux and macOS.
  • Compare observed modules/extensions against known-good baselines for each asset class; investigate drift on high-value systems first.
  • Correlate kernel module or kext changes with privileged account activity and boot/logon persistence context from parent technique T1547.
  • Account for false positives from legitimate device drivers, security tools, virtualization components, and approved legacy macOS system extensions.
  • Do not rely only on local host logs; the technique description notes rootkit behaviors including hiding activity and log tampering, so corroboration is important during IR.

Mitigation priorities

  • Prioritize privileged account management and least privilege for root/administrator access, consistent with M1026 and M1018.
  • Restrict execution or loading of unauthorized code where feasible, consistent with M1038, including governance over approved kernel modules and macOS kernel extensions.
  • Maintain antimalware/endpoint protection coverage for Linux and macOS, recognizing that kernel-mode threats may reduce local visibility and require layered validation.
  • For macOS, manage kernel extension approval and legacy system extension use through policy and configuration processes supported by Apple platform guidance referenced by MITRE.
  • Keep an asset-specific inventory of approved drivers, LKMs, and kexts so incident responders can quickly distinguish authorized operational components from suspicious additions.
Analyst notes and limits

Relationship context shows this technique is used by the Skidmap, Drovorub, and REPTILE software entries and by Operation CuckooBees. Those relationships support prioritizing detection engineering and IR playbooks for Linux/macOS kernel-level persistence, but they should not be treated as proof of activity in any local environment without telemetry.

MITRE provides no official detection text in the supplied object. The guidance above is derived from the official description, platforms, tactics, external references, and listed ATT&CK relationships only; local operating-system versions, management tooling, logging configuration, and approved driver/extension inventory are required to determine actual coverage.

Official MITRE ATT&CK definition

Kernel Modules and Extensions

Adversaries may modify the kernel to automatically execute programs on system boot. Loadable Kernel Modules (LKMs) are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system.[1]

When used maliciously, LKMs can be a type of kernel-mode Rootkit that run with the highest operating system privilege (Ring 0).[2] Common features of LKM based rootkits include: hiding itself, selective hiding of files, processes and network activity, as well as log tampering, providing authenticated backdoors, and enabling root access to non-privileged users.[3]

Kernel extensions, also called kext, are used in macOS to load functionality onto a system similar to LKMs for Linux. Since the kernel is responsible for enforcing security and the kernel extensions run as apart of the kernel, kexts are not governed by macOS security policies. Kexts are loaded and unloaded through kextload and kextunload commands. Kexts need to be signed with a developer ID that is granted privileges by Apple allowing it to sign Kernel extensions. Developers without these privileges may still sign kexts but they will not load unless SIP is disabled. If SIP is enabled, the kext signature is verified before being added to the AuxKC.[4]

Since macOS Catalina 10.15, kernel extensions have been deprecated in favor of System Extensions. However, kexts are still allowed as "Legacy System Extensions" since there is no System Extension for Kernel Programming Interfaces.[5]

Adversaries can use LKMs and kexts to conduct Persistence and/or Privilege Escalation on a system. Examples have been found in the wild, and there are some relevant open source projects as well.[6][7][8][9][10][11][12][13]

View the same entry on attack.mitre.org (MITRE-hosted reference; in-page links above use the Glexia ATT&CK library.)

Glexia analysis

How security teams should use this page

Treat this object as behavior context, not an attribution claim. Validate the related groups, software, data sources, and mitigations against official ATT&CK relationships and your own telemetry before making control-coverage decisions.

ATT&CK relationship table

Related techniques

This mirrors the MITRE pattern of making group, software, campaign, and technique relationships scannable. Relationship notes come from mirrored ATT&CK relationship text when available.

2 rows
Domain ID Name Relationship / procedure
Enterprise T1547 Boot or Logon Autostart Execution This object subtechnique of Boot or Logon Autostart Execution.
Enterprise T1215 Kernel Modules and Extensions Kernel Modules and Extensions revoked by this object.
Associated objects

Groups, software, and campaigns

Malware Enterprise

S1219: REPTILE

REPTILE is an open-source Linux rootkit with multiple components that provides backdoor access and functionality.[1]

Linux
Campaign Enterprise

C0012: Operation CuckooBees

Operation CuckooBees was a cyber espionage campaign targeting technology and manufacturing companies in East Asia, Western Europe, and North America since at least 2019. Security researchers noted the goal of Operation CuckooBees, which was still ongoing as of May 2022, was likely the theft of proprietary information, research and development documents, source code, and blueprints for various technologies. Researchers assessed Operation CuckooBees was conducted by actors affiliated with Winnti Group, APT41, and BARIUM.[1]

Relationship explorer

All related ATT&CK context

Mitigations

Mitigation direction

Change history

Object version and sync metadata

The fields below describe the current mirrored snapshot. When Glexia retains multiple ATT&CK source imports, you can open the table to compare the same object across releases (hashes and MITRE timestamps). For MITRE’s own release notes and roadmap, see ATT&CK resources — Updates .

ATT&CK release
19.1
Object version
1.4
Created
Modified
Raw hash
7a77549b7a456603...
Imported snapshots across ATT&CK releases (1)
Release Bundle imported Object version Modified Status Raw hash
19.1 1.4 Current bundle 7a77549b7a45…
Raw source

Mirrored ATT&CK source object

The raw object is retained through the mirrored ATT&CK source bundle and object hash. The raw endpoint returns the exact object from the mirrored bundle when available.

Source references

External references and citations

MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.

  1. [1]
    Linux Kernel Programming

    Pomerantz, O., Salzman, P.. (2003, April 4). The Linux Kernel Module Programming Guide. Retrieved April 6, 2018.

    Open source URL
  2. [2]
    Linux Kernel Module Programming Guide

    Pomerantz, O., Salzman, P. (2003, April 4). Modules vs Programs. Retrieved November 17, 2024.

    Open source URL
  3. [3]
    iDefense Rootkit Overview

    Chuvakin, A. (2003, February). An Overview of Rootkits. Retrieved September 12, 2024.

    Open source URL
  4. [4]
    System and kernel extensions in macOS

    Apple. (n.d.). System and kernel extensions in macOS. Retrieved March 31, 2022.

    Open source URL
  5. [5]
    Apple Kernel Extension Deprecation

    Apple. (n.d.). Deprecated Kernel Extensions and System Extension Alternatives. Retrieved November 4, 2020.

    Open source URL
  6. [6]
    Volatility Phalanx2

    Case, A. (2012, October 10). Phalanx 2 Revealed: Using Volatility to Analyze an Advanced Linux Rootkit. Retrieved April 9, 2018.

    Open source URL
  7. [7]
    CrowdStrike Linux Rootkit

    Kurtz, G. (2012, November 19). HTTP iframe Injecting Linux Rootkit. Retrieved December 21, 2017.

    Open source URL
  8. [8]
    GitHub Reptile

    Augusto, I. (2018, March 8). Reptile - LMK Linux rootkit. Retrieved April 9, 2018.

    Open source URL
  9. [9]
    GitHub Diamorphine

    Mello, V. (2018, March 8). Diamorphine - LMK rootkit for Linux Kernels 2.6.x/3.x/4.x (x86 and x86_64). Retrieved April 9, 2018.

    Open source URL
  10. [10]
    RSAC 2015 San Francisco Patrick Wardle

    Wardle, P. (2015, April). Malware Persistence on OS X Yosemite. Retrieved April 6, 2018.

    Open source URL
  11. [11]
    Synack Secure Kernel Extension Broken

    Wardle, P. (2017, September 8). High Sierra’s ‘Secure Kernel Extension Loading’ is Broken. Retrieved November 17, 2024.

    Open source URL
  12. [12]
    Securelist Ventir

    Mikhail, K. (2014, October 16). The Ventir Trojan: assemble your MacOS spy. Retrieved April 6, 2018.

    Open source URL
  13. [13]
    Trend Micro Skidmap

    Remillano, A., Urbanec, J. (2019, September 19). Skidmap Linux Malware Uses Rootkit Capabilities to Hide Cryptocurrency-Mining Payload. Retrieved June 4, 2020.

    Open source URL
  14. [14]
    Apple Developer Configuration Profile

    Apple. (2019, May 3). Configuration Profile Reference. Retrieved September 23, 2021.

    Open source URL
  15. [15]
    Linux Loadable Kernel Module Insert and Remove LKMs

    Henderson, B. (2006, September 24). How To Insert And Remove LKMs. Retrieved November 17, 2024.

    Open source URL
  16. [16]
    Purves Kextpocalypse 2

    Richard Purves. (2017, November 9). MDM and the Kextpocalypse . Retrieved September 23, 2021.

    Open source URL
  17. [17]
    User Approved Kernel Extension Pike’s

    Pikeralpha. (2017, August 29). User Approved Kernel Extension Loading…. Retrieved September 23, 2021.

    Open source URL
  18. [18]
    Wikipedia Loadable Kernel Module

    Wikipedia. (2018, March 17). Loadable kernel module. Retrieved April 9, 2018.

    Open source URL
  19. [19]
    mitre-attack T1547.006
    Open source URL
Source and licensing

Source: MITRE ATT&CK®. © 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. Glexia is not affiliated with or endorsed by MITRE.