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
Tactics: Collection, Credential Access
Platforms: Linux, Network, Windows, macOS
Permissions Required: Administrator, SYSTEM, User, root
Data Sources: API monitoring, Binary file metadata, DLL monitoring, Kernel drivers, Loaded DLLs, PowerShell logs, Process command-line parameters, Process monitoring, User interface, Windows Registry, Windows event logs
Contributors: John Lambert, Microsoft Threat Intelligence Center
Version: 1.2
Created: 31 May 2017
Last Modified: 21 October 2020


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)[1], 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.