Skip to content

Merlin Server Main Menu

Russel Van Tuyl edited this page Jul 21, 2018 · 2 revisions

Merlin Prompt

After executing the Merlin server binary, interaction continues from the Merlin prompt Merlin».

Merlin is equipped with a tab completion system that can be used to see what commands are available at any given time. Hit double tab to get a list of all available commands for the current menu context.

There are 3 menu systems:

Main Menu

This is the default menu presented when starting the Merlin server. To view available commands for this menu, type help and press enter. Tab completion can be used at any time to provide the user a list of commands that can be selected.

Merlin» help
Merlin C2 Server (version 0.5.0 Beta)

  COMMAND  |          DESCRIPTION           |    OPTIONS
+----------+--------------------------------+----------------+
  agent    | Interact with agents or list   | interact, list
           | agents                         |
  banner   | Print the Merlin banner        |
  exit     | Exit and close the Merlin      |
           | server                         |
  interact | Interact with an agent. Alias  |
           | for Empire users               |
  quit     | Exit and close the Merlin      |
           | server                         |
  remove   | Remove or delete a DEAD agent  |
           | from the server                |
  sessions | List all agents session        |
           | information. Alias for MSF     |
           | users                          |
  use      | Use a function of Merlin       | module
  version  | Print the Merlin server        |
           | version                        |
  *        | Anything else will be execute  |
           | on the host operating system   |

agent Command

The agent command is used to interact with Merlin Agents. In most cases, the agent command is followed by a sub-command and then the agent's identifier. The agent identifiers are UUID version 4 strings. The identifiers are long, but they can easily be filled in using Merlin's tab completion. This ensures limited typing is required.

Available agent sub-command are:

list

The list option for the agent command is used to provide a list of all the available agents.

Merlin» agent list

+--------------------------------------+---------------+-----------------+-----------+-----------+
|              AGENT GUID              |   PLATFORM    |      USER       |   HOST    | TRANSPORT |
+--------------------------------------+---------------+-----------------+-----------+-----------+
| 54a20389-4f8a-4e3f-9f8e-a0f686ce529e |  linux/amd64  |     root        | kali      |  HTTP/2   |
| c1090dbc-f2f7-4d90-a241-86e0c0217786 | windows/amd64 |   ACME\Dade     | WIN-7PD32 |  HTTP/2   |
| 6af7d4a1-170f-43b7-a107-758f7855e6ba | darwin/amd64  |   nikon         | nikon-mac |  HTTP/2   |
+--------------------------------------+---------------+-----------------+-----------+-----------+

interact

The interact option for the agent command is used to switch an agent context menu to interact with a single agent. This will cause the prompt to change indicating the agent you are interacting with and provide a new menu of commands.

Merlin» agent interact 54a20389-4f8a-4e3f-9f8e-a0f686ce529e
Merlin[agent][54a20389-4f8a-4e3f-9f8e-a0f686ce529e]»
You can’t perform that action at this time.