Has leveraged obfuscated Windows API function calls that were concealed as unique names, or hashes of the Windows API.1
Dynamic API Resolution T1027.007
- Tactic
- Stealth
- Platform
- Windows
- Version
- 2.0
- Created
- 22 August 2022
- Last modified
- 12 May 2026
Adversaries may obfuscate then dynamically resolve API functions called by their malware in order to conceal malicious functionalities and impair defensive analysis. Malware commonly uses various Native API functions provided by the OS to perform various tasks such as those involving processes, files, and other system artifacts.
Dynamic API Resolution MITRE reference T1027.007
3 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 leveraged dynamic API resolution using custom hashing techniques.1
Has used a custom hashing method to resolve APIs used in shellcode.1
All 3 groups for this technique
17 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 dynamically resolved API functions during the C runtime startup.1
Can use a hashing algorithm to dynamically resolve API function addresses.1
Has utilized dynamic API resolution by reconstructing API calls during runtime using combinations of arithmetic and logical operations to complicate static analysis.1
Has utilized a modified DJB2 algorithm to resolve APIs.1
Has utilized custom API hashing to obfuscate the Windows APIs being used.1
All 17 software entries for this technique · 6 newest in this preview
Offense vs defense T1027.007
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.
Dynamic API Resolution detection strategy DET0091
MITRE names one behaviour worth catching for this technique and breaks it into 1 analytic, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detection Strategy for Dynamic API Resolution via Hash-Based Function Lookups
AN0250 · Windows
Behavioral chain involving suspicious use of GetProcAddress and LoadLibrary following memory allocation and manual mapping, often paired with low entropy strings, abnormal API use without static import tables, or delayed module load behaviors.
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 |
| OS API ExecutionDC0021 | etw:Microsoft-Windows-Kernel-Process | API tracing / stack tracing via ETW or telemetry-based EDR |
| Process CreationDC0032 | WinEventLog:Sysmon | EventCode=1 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| APILoadWithoutImport | Tunable logic to flag suspicious modules used without static IAT entries |
| TimeWindow | Correlates module load to suspicious memory allocation or API lookup within timeframe |
| EntropyThreshold | Used to detect obfuscated strings or hashed function names |
| StackTraceFilter | Optional filtering of known safe modules or patterns from telemetry |
Tests from Atomic Red Team (MIT licence) · technique definition