title: Powershell Keylogging id: 34f90d3c-c297-49e9-b26d-911b05a4866c status: experimental author: frack113 date: 2021/07/30 modified: 2021/10/16 description: Adversaries may log user keystrokes to intercept credentials as the user types them. references: - https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1218/T1218.md - https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1056.001/src/Get-Keystrokes.ps1 tags: - attack.collection - attack.t1056.001 logsource: product: windows category: ps_script definition: EnableScriptBlockLogging must be set to enable detection: selection_basic: ScriptBlockText|contains: 'Get-Keystrokes' selection_high: # want to run in background and keyboard ScriptBlockText|contains|all: - 'Get-ProcAddress user32.dll GetAsyncKeyState' - 'Get-ProcAddress user32.dll GetForegroundWindow' condition: selection_basic or selection_high falsepositives: - Unknown level: medium