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 | Name | Description |
---|---|---|
G0087 | APT39 | |
S0631 | Chaes |
Chaes has a module to perform any API hooking it desires.[2] |
S0641 | Kobalos |
Kobalos has used a compromised SSH client to capture the hostname, port, username and password used to establish an SSH connection from the compromised host.[3][4] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
ID | Data Source | Data Component |
---|---|---|
DS0027 | Driver | Driver Load |
DS0022 | File | File Modification |
DS0009 | Process | OS API Execution |
Process Creation | ||
Process Metadata | ||
DS0024 | Windows Registry | Windows Registry Key Modification |
Detection may vary depending on how input is captured but may include monitoring for certain Windows API calls (e.g. SetWindowsHook
, GetKeyState
, and GetAsyncKeyState
)[5], 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.