T1056.004

Sub-technique Windows Linux macOS
Credential API Hooking

Description

Adversaries may hook into Windows application programming interface (API) functions and Linux system functions to collect user credentials. Malicious hooking mechanisms may capture API or function calls that include parameters that reveal user authentication credentials.

  • **Import address table (IAT) hooking**, which use modifications to a process’s IAT, where pointers to imported API functions are stored.
  • **Inline hooking**, which overwrites the first bytes in an API function to redirect code flow.

In Linux and macOS, adversaries may hook into system functions via the `LD_PRELOAD` (Linux) or `DYLD_INSERT_LIBRARIES` (macOS) environment variables, which enables loading shared libraries into a program’s address space. For example, an adversary may capture credentials by hooking into the `libc read` function leveraged by SSH or SCP.