title: Powershell Keylogging author: frack113 date: 2021/07/30 description: Adversaries may log user keystrokes to intercept credentials as the user types them. detection: SELECTION_1: EventID: 4104 SELECTION_2: ScriptBlockText: '*Get-Keystrokes*' SELECTION_3: ScriptBlockText: '*Get-ProcAddress user32.dll GetAsyncKeyState*' SELECTION_4: ScriptBlockText: '*Get-ProcAddress user32.dll GetForegroundWindow*' condition: (SELECTION_1 and (SELECTION_2 or (SELECTION_3 and SELECTION_4))) falsepositives: - Unknown id: 34f90d3c-c297-49e9-b26d-911b05a4866c level: medium logsource: definition: EnableScriptBlockLogging must be set to enable product: windows service: powershell 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 status: experimental tags: - attack.collection - attack.t1056.001