Join our Newsletter — 33% off our NHI Course
Home› Guides› MITRE ATT&CK T1106 Native API: Detecting Malicious Execution
Guide SOC & Detection Engineering

MITRE ATT&CK T1106 Native API: Detecting Malicious Execution

PDF for newsletter subscribers · free to read online

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 12 November 2026 11 min read
On this page

Malware does not need cmd.exe, PowerShell or a shell to run code: it can call the operating system's own APIs directly, and when it does, command-line logging sees nothing. MITRE ATT&CK T1106 Native API, in the Execution tactic (TA0002), covers adversaries using native operating system interfaces, from Windows calls such as CreateProcess and NtCreateProcess to fork() on Linux and frameworks such as .NET and macOS Cocoa, to launch processes, load modules and manipulate memory. ATT&CK v20 lists Linux, macOS and Windows as platforms and no sub-techniques. Because every legitimate program also calls these APIs, this is a technique you detect by context and sequence, not by the call itself. This guide is for detection engineers and endpoint teams. Note that this is about operating system APIs on endpoints; for securing web and service APIs, see the NIST SP 800-228 API Protection Guide.

Key takeaways

  • The API is not the signal. Thousands of legitimate functions exist and every process uses them. Detection depends on which process makes which sequence of calls, against what target.
  • It defeats command-line visibility. ATT&CK records Cobalt Strike's Beacon running shell and PowerShell commands without cmd.exe or powershell.exe. Process tree and command-line rules alone will miss it.
  • Direct syscalls aim at your sensor. ATT&CK notes adversaries invoking syscalls directly to bypass user-mode API hooks, and unhooking monitored functions (T1685 Disable or Modify Tools). Prefer kernel-sourced telemetry.
  • ATT&CK gives two mitigations. M1038 Execution Prevention (application control such as App Control for Business, AppLocker) and M1040 Behavior Prevention on Endpoint (the attack surface reduction rule that blocks Win32 API calls from Office macros).
  • Detect the outcome. DET0529 looks for unusual processes loading native API libraries followed by direct syscall behaviour, memory manipulation or hollowing: target the effect (injection, credential access, new processes from odd parents).

What the technique covers

ATT&CK describes native APIs as a controlled way to call low-level operating system services in the kernel, such as those for hardware, memory and processes. Adversaries use them much as they would a command interpreter (T1059): to execute a binary, run a command, load modules and more. The calls may be made through documented libraries, through higher-level frameworks, or directly as system calls written in assembly to avoid user-mode hooks.

LayerExamples ATT&CK and its procedures nameWhy adversaries use it
Windows Win32 APICreateProcess, CreateProcessAsUser, ShellExecute, WinExec, LoadLibraryA, GetProcAddressStart processes and load code without a visible shell
Windows memory and thread APIsVirtualAlloc, WriteProcessMemory, CreateRemoteThreadWrite and run code inside another process (feeds T1055 Process Injection)
Windows native (ntdll) and direct syscallsNtCreateProcess, syscall stubs written in assemblyBypass user-mode hooks that EDR products place on API functions
Linux libc and syscallsfork(), execve, mmap, ptraceStart processes, map memory, attach to and modify other processes
macOS frameworksCore Services, Foundation, CocoaHigher-level wrappers over native functions
Managed frameworksMicrosoft .NETCall native functions from scripts and managed code that is easier to write and obfuscate

How adversaries use it: cases from ATT&CK

  • Chimera (G0114): used direct Windows system calls by leveraging the public tool Dumpert, a clear example of syscalls used to sidestep user-mode monitoring.
  • APT37 (G0067): used VirtualAlloc, WriteProcessMemory and CreateRemoteThread for process injection. See the T1055 Process Injection Defensive Guide.
  • Operation Wocao (C0014): after injecting into a selected process, the actors used CreateProcessA and ShellExecute to launch commands, so the commands appeared to come from the injected process.
  • Operation Honeybee (C0006): malware used API calls including CreateProcessAsUser, which starts a process under another user's token.
  • Medusa Group (G1051): has used Windows native API functions to execute payloads. See the Medusa Ransomware Threat Actor Profile.
  • Lazarus Group (G0032) and Operation Dream Job (C0022): used the Windows API ObtainUserAgentString to obtain the host's User-Agent string for command and control traffic, showing that native API use also supports discovery and blending in, not only execution.
  • Cobalt Strike (S0154): ATT&CK records Beacon running shell commands without cmd.exe and PowerShell commands without powershell.exe.

ATT&CK lists more than 200 procedure examples for T1106, most of them malware families. The lesson is that native API use is nearly universal in malware, so the technique is best treated as a lens on other techniques: injection, credential access, defence impairment and execution without a shell.

What to detect and where

ATT&CK v20 detection strategy DET0529, Behavioral Detection of Native API Invocation via Unusual DLL Loads and Direct Syscalls, has three analytics:

AnalyticPlatformData componentsLog source in ATT&CKLogic
AN1465WindowsDC0016 Module Load, DC0035 Process Access, DC0032 Process CreationSysmon Event IDs 7, 10 and 1Unusual processes loading native API DLLs (ntdll.dll, kernel32.dll) followed by direct syscall behaviour, memory manipulation or hollowing
AN1466LinuxDC0035 Process Access, DC0016 Module Loadauditd SYSCALL (execve, fork, mmap, ptrace; module load or memory map path)Userland processes using syscall-heavy libraries followed by fork, mmap or ptrace associated with injection or memory manipulation
AN1467macOSDC0016 Module Load, DC0032 Process CreationUnified log (launch and dylib load); Endpoint Security ES_EVENT_TYPE_NOTIFY_EXECProcesses linking Core Services or Foundation followed by new memory regions, code execution or abnormal library injection

Telemetry notes

Sysmon documents Event ID 7 (Image loaded) as disabled by default and warns that logging all image loads produces a significant volume; it also warns that Event ID 10 (ProcessAccess) can be noisy where diagnostic utilities repeatedly open processes. Collect both with targeted include rules. Event ID 8 (CreateRemoteThread) and Event ID 25 (ProcessTampering, which flags hollowing and similar process image changes) are high-value, low-volume additions. Most EDR platforms collect equivalent events from kernel callbacks, which direct syscalls do not bypass in the way they bypass user-mode hooks.

Rules that work in practice

  • Cross-process access to sensitive targets: Event ID 10 where the target is lsass.exe or a browser, and the source is not a known security, backup or management tool. See the T1003 OS Credential Dumping guide.
  • Remote thread creation: Event ID 8 from Office applications, script hosts, browsers or binaries in user-writable paths.
  • Process tampering: any Event ID 25, triaged with the parent chain.
  • Shell-less command execution: processes that spawn child processes with a different user token (the CreateProcessAsUser pattern) or that start system utilities without a parent shell when their normal behaviour is to have none.
  • Unusual module loads: unsigned or newly seen binaries in temp or user directories loading ntdll.dll and immediately allocating executable memory, or a second copy of ntdll.dll mapped from disk, which can indicate unhooking.
  • Linux ptrace: ptrace attach to another process by anything other than a debugger used by an authorised developer. On production servers, ptrace by non-root processes can often be restricted entirely.
  • Sensor health: drops in event volume from a host, or EDR tamper alerts, since unhooking and sensor tampering travel with direct syscalls. See the T1685 Disable or Modify Tools Defensive Guide.

Mitigations

ATT&CK mitigationWhat ATT&CK saysPractical form
M1038 Execution PreventionIdentify and block potentially malicious software using application control tools such as Windows Defender Application Control, AppLocker or Software Restriction PoliciesAllow only signed, approved executables and libraries; block execution from user-writable paths
M1040 Behavior Prevention on EndpointEnable attack surface reduction rules to prevent Office VBA macros from calling Win32 APIsMicrosoft Defender ASR rule "Block Win32 API calls from Office macros" (GUID 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b)

Microsoft documents that rule as supported on Windows 10 1709 or later and Windows 11, not applicable to Windows Server, deployable through Intune, MDM CSP or Group Policy, and reported in advanced hunting as AsrOfficeMacroWin32ApiCallsAudited or AsrOfficeMacroWin32ApiCallsBlocked. Microsoft notes most organisations do not need Win32 API calls from VBA macros. Two related rules address common follow-on behaviour: "Block Office applications from injecting code into other processes" (75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84) and "Block credential stealing from the Windows local security authority subsystem" (9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2).

The following are NHI Mgmt Group recommendations:

  • Protect LSASS: turn on LSA protection and Credential Guard so native API access to credential memory fails even when code runs.
  • Restrict debugging rights: remove SeDebugPrivilege from accounts that do not need it on Windows, and restrict ptrace scope on Linux servers.
  • Keep sensors in the kernel: choose and configure endpoint tooling that collects process, thread and memory events from kernel sources, and alert on sensor tampering.

Where identity fits

Several native API patterns are identity attacks in execution clothing. CreateProcessAsUser and related calls run code under another account's token, which is how a foothold under a low-privilege user becomes activity under a service account. Reading LSASS memory through native calls yields credentials and tokens for every account logged on to the host, including service accounts and scheduled task identities. Keep service accounts off workstations, use group managed service accounts where possible so passwords are not exposed for reuse, and alert when a service account's token appears in an interactive or unexpected process. See the MITRE ATT&CK T1134 Access Token Manipulation guide.

How to put it in place

  1. Check telemetry: confirm your EDR records process access, remote thread creation and image loads, or deploy Sysmon with targeted Event ID 7 and 10 filters plus Event IDs 8 and 25.
  2. Turn on ASR rules in audit mode: start with the Win32 API from Office macros rule, the Office injection rule and the LSASS rule. Review audit events for two to four weeks.
  3. Move to block: enforce on a pilot ring, then broadly; keep documented, per-path exclusions for business macros that genuinely need them.
  4. Deploy application control: start with an audit policy, add block rules for user-writable paths, then enforce. See App Control for Business (WDAC).
  5. Build detections: LSASS access, remote threads, process tampering and token-switching rules, each allowlisting known security and management tools by signed publisher and path.
  6. Test: use an authorised adversary emulation framework, with change approval, to exercise injection, LSASS access and shell-less execution on test hosts, and confirm both prevention and alerting.
  7. Roll back: ASR rules and application control can be returned to audit mode per rule or per ring if a business process breaks; record each change.

Decision guidance

  • Prevention or detection first: ASR rules and application control stop whole classes of behaviour cheaply and should come first; detection rules catch what slips past, especially on servers where those controls are harder to enforce.
  • Sysmon or EDR: EDR provides kernel-sourced telemetry and tamper protection; Sysmon adds free, transparent events and is a good second source where you need to verify EDR coverage.
  • Small organisations: enable the three ASR rules, LSA protection and your EDR's default injection and credential theft protections.
  • Large organisations: add application control in enforcement, custom detections with allowlists maintained by owners, and regular emulation tests per platform.

Measurement

  • ASR enforcement: share of Windows endpoints with the three rules in block mode.
  • Application control coverage: share of endpoints and servers with an enforced policy.
  • Telemetry coverage: share of hosts sending process access and remote thread events.
  • Emulation detection rate: share of authorised test behaviours (injection, LSASS access, shell-less execution) blocked or alerted.
  • Exclusion count: number of ASR and detection exclusions, each with an owner and review date.

Common failure patterns

  • Command-line-only detection: relying on process creation and command-line rules, which Beacon-style execution without cmd.exe never triggers.
  • Trusting user-mode hooks: assuming API hooking catches everything, when direct syscalls and unhooking are documented ways around it.
  • ASR rules left in audit: audit mode deployed years ago and never promoted to block.
  • Broad exclusions: whole folders or tools excluded from injection and LSASS protection to fix one false positive.
  • No image load filtering: enabling every Sysmon image load event, flooding the SIEM, and then turning it off entirely.

Framework mapping

FrameworkReferenceRelevance
MITRE ATT&CK v20T1106, TA0002; DET0529 (AN1465 to AN1467); M1038, M1040; related T1059, T1055, T1134, T1003.001, T1685Technique, detection and mitigations
NIST CSF 2.0PR.PS-05, DE.CM-09Preventing unauthorised software execution, monitoring runtime environments
NIST SP 800-53 Rev 5CM-7 Least Functionality, SI-3 Malicious Code Protection, SI-4 System Monitoring, SI-7 Software, Firmware, and Information Integrity, AU-12 Audit Record GenerationApplication control, anti-malware, monitoring and logging

For the industrial control systems equivalent, see T0834 Native API.

Practitioner checklist

  • Confirm endpoint telemetry covers process access, remote thread creation, process tampering and targeted image loads.
  • Enforce the ASR rule blocking Win32 API calls from Office macros, after an audit period.
  • Enforce the Office injection and LSASS credential theft ASR rules, or LSA protection with Credential Guard.
  • Deploy application control that blocks execution from user-writable paths.
  • Alert on LSASS access, remote threads and token switching by unexpected processes.
  • Restrict SeDebugPrivilege and Linux ptrace on servers.
  • Monitor sensor health and tamper alerts as part of this detection set.
  • Test with authorised emulation on each platform and record detection results.

Standards and references

Related NHI Mgmt Group resources: ATT&CK Execution Tactic Guide, T1059 Command and Scripting Interpreter Defensive Guide, M1038 Execution Prevention, M1040 Behavior Prevention on Endpoint, EDR Guide.

PDF for subscribers

Take this guide with you

Every section, table and checklist in one PDF, with links to the sources and related guides. Subscribe to our weekly NHI & AI Identity Journal and we’ll email you a download link.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 12 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org

PDF Downloads for Newsletter Subscribers

Get the guide

Enter your details and we’ll email you a download link.

The full guide is free to read online. The PDF is a thank you for subscribing.

Fill in all fields marked * and tick the PDF box to continue.