Has leveraged Windows Native API functions to execute payloads.1
Native API T1106
- Tactic
- Execution
- Platforms
- Linux, macOS, Windows
- Version
- 2.3
- Created
- 31 May 2017
- Last modified
- 12 May 2026
- Contributors
- Gordon Long, LegioX/Zoom, asaurusrex; Stefan Kanthak; Tristan Madani (Cybereason)
Adversaries may interact with the native OS application programming interface (API) to execute behaviors. Native APIs provide a controlled means of calling low-level OS services within the kernel, such as those involving hardware/devices, memory, and processes.[1][2] These native APIs are leveraged by the OS during system boot (when other system components are not yet initialized) as well as carrying out tasks and requests during routine operations.
Native API MITRE reference T1106
20 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 WinExec to execute commands received from C2 on compromised hosts.1
Has executed malware by calling the API function CreateProcessW.1
Has used various Windows API calls during execution and defense evasion.123456789101112
Has called various native OS APIs.1
Has used direct Windows system calls by leveraging Dumpert.1
All 20 groups for this technique · 6 newest in this preview
5 campaigns have been recorded using this technique. Listed newest first; dates are year-granularity and attribution is MITRE’s.
During Operation Digital Eye, threat actors used native API such as GetUserInfo.1
During Operation Dream Job, Lazarus Group used Windows API ObtainUserAgentString to obtain the victim's User-Agent and used the value to connect to their C2 server.1
During Operation Wocao, threat actors used the CreateProcessA and ShellExecute API functions to launch commands after being injected into a selected process.1
During Operation Sharpshooter, the first stage downloader resolved various Windows libraries and APIs, including LoadLibraryA(), GetProcAddress(), and CreateProcessA().1
During Operation Honeybee, the threat actors deployed malware that used API calls, including CreateProcessAsUser.1
All 5 campaigns for this technique
203 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.
Has used multiple native Windows functions, such as GetLogicalDrives and FindNextFile for discovery and file deletion.12
Has used CreateObject to instantiate a WScript.Shell Component Object Model (COM) object.1 Additionally, RustyWater has used VirtualAllocEx and WriteProcessMemory to inject shellcode into explorer.exe.1
Has used the ImpersonateLoggedOnUser API to impersonate the security context of the taskhostw.exe process.1 Additionally, LP-Notes has also used the CredUIPromptForWindowsCredentialsW API to obtain Windows credentials.1
Has used the WinCrypt API for payload decryption, DuplicateTokenEx to duplicate the token of a specified process, and CreateProcessAsUserA for payload execution.1
Has the ability to relaunch itself using the CreateProcessW API.1
Can use the ZwSetInformationThread to enable debugger evasion.1
All 203 software entries for this technique · 6 newest in this preview
Offense vs defense T1106
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.
Native API detection strategy DET0529
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.
Behavioral Detection of Native API Invocation via Unusual DLL Loads and Direct Syscalls
AN1465 · Windows
Unusual or suspicious processes loading critical native API DLLs (e.g., ntdll.dll, kernel32.dll) followed by direct syscall behavior, memory manipulation, or hollowing.
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 | WinEventLog:Sysmon | EventCode=7 |
| Process CreationDC0032 | WinEventLog:Sysmon | EventCode=1 |
| Process AccessDC0035 | WinEventLog:Sysmon | EventCode=10 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| DllName | May tune DLL filters to focus on low-level API providers (e.g., ntdll.dll) |
| Image | Tune for expected parent processes (e.g., explorer.exe, winlogon.exe) |
| TargetProcess | Scope to suspicious targets like LSASS, csrss, etc. |
AN1466 · Linux
Userland processes invoking syscall-heavy libraries (libc, glibc) followed by fork, mmap, or ptrace behavior commonly associated with code injection or memory manipulation.
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 | auditd:SYSCALL | module load or memory map path |
| Process AccessDC0035 | auditd:SYSCALL | execve, fork, mmap, ptrace |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| SyscallType | Filter for fork, mmap, ptrace based on context |
| ProcessName | Whitelist known daemon and scheduled task patterns |
| MAPS Path | Tune suspicious memory map regions (e.g., /tmp/.evilshmem) |
AN1467 · macOS
Execution of processes that link to CoreServices or Foundation APIs followed by creation of memory regions, code execution, or abnormal library injection.
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 | launch and dylib load |
| Process CreationDC0032 | macos:endpointsecurity | ES_EVENT_TYPE_NOTIFY_EXEC |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| API Framework Name | Filter on CoreServices, Cocoa, Foundation framework usage |
| Execution Context | Tune to exclude known developer tools or test environments |
On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent Office VBA macros from calling Win32 APIs.
Identify and block potentially malicious software executed that may be executed through this technique by using application control tools, like Windows Defender Application Control, AppLocker, or Software Restriction Policies where appropriate.
Tests from Atomic Red Team (MIT licence) · technique definition