Skip to content

T1056.004 Credential API Hooking

Adversaries may hook into Windows application programming interface (API) functions to collect user credentials. Malicious hooking mechanisms may capture API calls that include parameters that reveal user authentication credentials.1 Unlike Keylogging, this technique focuses specifically on API functions that include parameters that reveal user credentials. Hooking involves redirecting calls to these functions and can be implemented via:

  • Hooks procedures, which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs.23
  • Import address table (IAT) hooking, which use modifications to a process’s IAT, where pointers to imported API functions are stored.345
  • Inline hooking, which overwrites the first bytes in an API function to redirect code flow.365
Item Value
ID T1056.004
Sub-techniques T1056.001, T1056.002, T1056.003, T1056.004
Tactics TA0009, TA0006
Platforms Windows
Permissions required Administrator, SYSTEM
Version 1.0
Created 11 February 2020
Last Modified 10 November 2020

Procedure Examples

ID Name Description
S0484 Carberp Carberp has hooked several Windows API functions to steal credentials.21
S0363 Empire Empire contains some modules that leverage API hooking to carry out tasks, such as netripper.15
S0182 FinFisher FinFisher hooks processes by modifying IAT pointers to CreateWindowEx.243
S0353 NOKKI NOKKI uses the Windows call SetWindowsHookEx and begins injecting it into every GUI process running on the victim’s machine.18
G0068 PLATINUM PLATINUM is capable of using Windows hook interfaces for information gathering such as credential access.25
S0416 RDFSNIFFER RDFSNIFFER hooks several Win32 API functions to hijack elements of the remote system management user-interface.20
S0266 TrickBot TrickBot has the ability to capture RDP credentials by capturing the CredEnumerateA API17
S0386 Ursnif Ursnif has hooked APIs to perform a wide variety of information theft, such as monitoring traffic from browsers.22
S0251 Zebrocy Zebrocy installs an application-defined Windows hook to get notified when a network drive has been attached, so it can then use the hook to call its RecordToFile file stealing method.23
S0330 Zeus Panda Zeus Panda hooks processes by leveraging its own IAT hooked functions.19
S0412 ZxShell ZxShell hooks several API functions to spawn system threads.16

Detection

ID Data Source Data Component
DS0009 Process OS API Execution

References


  1. Microsoft. (2017, September 15). TrojanSpy:Win32/Ursnif.gen!I. Retrieved December 18, 2017. 

  2. Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. 

  3. Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017. 

  4. Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. Retrieved December 12, 2017. 

  5. Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User Mode. Retrieved December 20, 2017. 

  6. Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved December 12, 2017. 

  7. Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware Hooks in the Windows GUI Subsystem. Retrieved December 12, 2017. 

  8. Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. 

  9. Satiro, J. (2011, September 14). GetHooks. Retrieved December 12, 2017. 

  10. Felici, M. (2006, December 6). Any application-defined hook procedure on my machine?. Retrieved December 12, 2017. 

  11. Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense against user-land. Retrieved December 12, 2017. 

  12. GMER. (n.d.). GMER. Retrieved December 12, 2017. 

  13. Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved December 12, 2017. 

  14. Stack Exchange - Security. (2012, July 31). What are the methods to find hooked functions and APIs?. Retrieved December 12, 2017. 

  15. Schroeder, W., Warner, J., Nelson, M. (n.d.). Github PowerShellEmpire. Retrieved April 28, 2016. 

  16. Allievi, A., et al. (2014, October 28). Threat Spotlight: Group 72, Opening the ZxShell. Retrieved September 24, 2019. 

  17. Llimos, N., Pascual, C.. (2019, February 12). Trickbot Adds Remote Application Credential-Grabbing Capabilities to Its Repertoire. Retrieved March 12, 2019. 

  18. Grunzweig, J., Lee, B. (2018, September 27). New KONNI Malware attacking Eurasia and Southeast Asia. Retrieved November 5, 2018. 

  19. Ebach, L. (2017, June 22). Analysis Results of Zeus.Variant.Panda. Retrieved November 5, 2018. 

  20. Carr, N, et all. (2019, October 10). Mahalo FIN7: Responding to the Criminal Operators’ New Tools and Techniques. Retrieved October 11, 2019. 

  21. Giuliani, M., Allievi, A. (2011, February 28). Carberp - a modular information stealing trojan. Retrieved July 15, 2020. 

  22. Caragay, R. (2015, March 26). URSNIF: The Multifaceted Malware. Retrieved June 5, 2019. 

  23. Kaspersky Lab’s Global Research & Analysis Team. (2018, February 20). A Slice of 2017 Sofacy Activity. Retrieved November 27, 2018. 

  24. FinFisher. (n.d.). Retrieved December 20, 2017. 

  25. Windows Defender Advanced Threat Hunting Team. (2016, April 29). PLATINUM: Targeted attacks in South and Southeast Asia. Retrieved February 15, 2018.