T1027.007 Dynamic API Resolution
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.
API functions called by malware may leave static artifacts such as strings in payload files. Defensive analysts may also uncover which functions a binary file may execute via an import address table (IAT) or other structures that help dynamically link calling code to the shared modules that provide functions.14
To avoid static or other defensive analysis, adversaries may use dynamic API resolution to conceal malware characteristics and functionalities. Similar to Software Packing, dynamic API resolution may change file signatures and obfuscate malicious API function calls until they are resolved and invoked during runtime.
Various methods may be used to obfuscate malware calls to API functions. For example, hashes of function names are commonly stored in malware in lieu of literal strings. Malware can use these hashes (or other identifiers) to manually reproduce the linking and loading process using functions such as GetProcAddress() and LoadLibrary(). These hashes/identifiers can also be further obfuscated using encryption or other string manipulation tricks (requiring various forms of Deobfuscate/Decode Files or Information during execution).231
| Item | Value |
|---|---|
| ID | T1027.007 |
| Sub-techniques | T1027.001, T1027.002, T1027.003, T1027.004, T1027.005, T1027.006, T1027.007, T1027.008, T1027.009, T1027.010, T1027.011, T1027.012, T1027.013, T1027.014, T1027.015, T1027.016, T1027.017 |
| Tactics | TA0005 |
| Platforms | Windows |
| Version | 1.0 |
| Created | 22 August 2022 |
| Last Modified | 15 April 2025 |
Procedure Examples
| ID | Name | Description |
|---|---|---|
| S1053 | AvosLocker | AvosLocker has used obfuscated API calls that are retrieved by their checksums.12 |
| S0534 | Bazar | Bazar can hash then resolve API calls at runtime.1011 |
| S1063 | Brute Ratel C4 | Brute Ratel C4 can call and dynamically resolve hashed APIs.5 |
| S1237 | CANONSTAGER | CANONSTAGER has utilized custom API hashing to obfuscate the Windows APIs being used.9 |
| S1149 | CHIMNEYSWEEP | CHIMNEYSWEEP can use LoadLibrary and GetProcAddress to resolve Windows API function strings at run time.16 |
| S1236 | CLAIMLOADER | CLAIMLOADER has utilized XOR-encrypted API names and native APIs of LdrLoadDll() and LderGetProcedureAddress() to resolve imports dynamically.1920 |
| S1160 | Latrodectus | |
| Latrodectus can resolve Windows APIs dynamically by hash.8 | ||
| G0032 | Lazarus Group | Lazarus Group has used a custom hashing method to resolve APIs used in shellcode.21 |
| G0129 | Mustang Panda | Mustang Panda has leveraged obfuscated Windows API function calls that were concealed as unique names, or hashes of the Windows API.17 |
| S0013 | PlugX | PlugX has leveraged obfuscated Windows API function calls that were concealed as unique names, or hashes of the Windows API.17 |
| S0147 | Pteranodon | Pteranodon can use a dynamic Windows hashing algorithm to map API components.15 |
| S1148 | Raccoon Stealer | Raccoon Stealer dynamically links key WinApi functions during execution.1413 |
| S1099 | Samurai | Samurai can encrypt API name strings with an XOR-based algorithm.18 |
| S1232 | SplatDropper | SplatDropper has leveraged hashed Windows API calls using a seed value of “131313”.6 |
| S1239 | TONESHELL | TONESHELL has utilized a modified DJB2 algorithm to resolve APIs.7 |
References
-
Brennan, M. (2022, February 16). Hackers No Hashing: Randomizing API Hashes to Evade Cobalt Strike Shellcode Detection. Retrieved August 22, 2022. ↩↩
-
Choi, S. (2015, August 6). Obfuscated API Functions in Modern Packers. Retrieved August 22, 2022. ↩
-
drakonia. (2022, August 10). HInvoke and avoiding PInvoke. Retrieved August 22, 2022. ↩
-
spotheplanet. (n.d.). Windows API Hashing in Malware. Retrieved August 22, 2022. ↩
-
Harbison, M. and Renals, P. (2022, July 5). When Pentest Tools Go Brutal: Red-Teaming Tool Being Abused by Malicious Actors. Retrieved February 1, 2023. ↩
-
Sudeep Singh. (2025, April 16). Latest Mustang Panda Arsenal: PAKLOG, CorKLOG, and SplatCloak | P2. Retrieved September 12, 2025. ↩
-
Sudeep Singh. (2025, April 16). Latest Mustang Panda Arsenal: ToneShell and StarProxy | P1. Retrieved July 21, 2025. ↩
-
Proofpoint Threat Research and Team Cymru S2 Threat Research. (2024, April 4). Latrodectus: This Spider Bytes Like Ice . Retrieved May 31, 2024. ↩
-
Patrick Whitsell. (2025, August 25). Deception in Depth: PRC-Nexus Espionage Campaign Hijacks Web Traffic to Target Diplomats. Retrieved September 9, 2025. ↩
-
Cybereason Nocturnus. (2020, July 16). A BAZAR OF TRICKS: FOLLOWING TEAM9’S DEVELOPMENT CYCLES. Retrieved November 18, 2020. ↩
-
Pantazopoulos, N. (2020, June 2). In-depth analysis of the new Team9 malware family. Retrieved December 1, 2020. ↩
-
Hasherezade. (2021, July 23). AvosLocker enters the ransomware scene, asks for partners. Retrieved January 11, 2023. ↩
-
Pierre Le Bourhis, Quentin Bourgue, & Sekoia TDR. (2022, June 29). Raccoon Stealer v2 - Part 2: In-depth analysis. Retrieved August 1, 2024. ↩
-
Quentin Bourgue, Pierre le Bourhis, & Sekoia TDR. (2022, June 28). Raccoon Stealer v2 - Part 1: The return of the dead. Retrieved August 1, 2024. ↩
-
Microsoft Threat Intelligence Center. (2022, February 4). ACTINIUM targets Ukrainian organizations. Retrieved February 18, 2022. ↩
-
Jenkins, L. at al. (2022, August 4). ROADSWEEP Ransomware - Likely Iranian Threat Actor Conducts Politically Motivated Disruptive Activity Against Albanian Government Organizations. Retrieved August 6, 2024. ↩
-
Alexandre Cote Cyr. (2022, March 23). Mustang Panda’s Hodur: Old tricks, new Korplug variant. Retrieved September 9, 2025. ↩↩
-
Dedola, G. (2022, June 21). APT ToddyCat. Retrieved January 3, 2024. ↩
-
Golo Muhr, Joshua Chung. (2025, June 23). Hive0154 aka Mustang Panda shifts focus on Tibetan community to deploy Pubload backdoor. Retrieved August 4, 2025. ↩
-
Golo Muhr, Joshua Chung. (2025, May 15). Hive0154 targeting US, Philippines, Pakistan and Taiwan in suspected espionage campaign. Retrieved August 4, 2025. ↩
-
Saini, A. and Hossein, J. (2022, January 27). North Korea’s Lazarus APT leverages Windows Update client, GitHub in latest campaign. Retrieved January 27, 2022. ↩