Input Capture

Adversaries may use methods of capturing user input to obtain credentials or collect information. During normal system usage, users often provide credentials to various different locations, such as login pages/portals or system dialog boxes. Input capture mechanisms may be transparent to the user (e.g. Credential API Hooking) or rely on deceiving the user into providing input into what they believe to be a genuine service (e.g. Web Portal Capture).

ID: T1056
Sub-techniques:  T1056.001, T1056.002, T1056.003, T1056.004
Platforms: Linux, Network, Windows, macOS
Permissions Required: Administrator, SYSTEM, User, root
Data Sources: Driver: Driver Load, File: File Modification, Process: OS API Execution, Process: Process Creation, Process: Process Metadata, Windows Registry: Windows Registry Key Modification
Contributors: John Lambert, Microsoft Threat Intelligence Center
Version: 1.2
Created: 31 May 2017
Last Modified: 21 October 2020

Procedure Examples

ID Name Description
G0087 APT39

APT39 has utilized tools to capture mouse movements.[1]


This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.


Detection may vary depending on how input is captured but may include monitoring for certain Windows API calls (e.g. SetWindowsHook, GetKeyState, and GetAsyncKeyState)[2], monitoring for malicious instances of Command and Scripting Interpreter, and ensuring no unauthorized drivers or kernel modules that could indicate keylogging or API hooking are present.