merlin-cli

command module
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

README

Build GoReportCard Release Downloads Qodana CodeQL Twitter Follow

Merlin CLI

Merlin is composed of the following components:

  • Merlin Server - The program that receives and handles Agent traffic and operator CLI commands to control the server and Agents
  • Merlin Agent - The post-exploitation command and control Agent that runs on a compromised host
  • Merlin CLI - The command line interface that allows operators to interact with the Merlin Server and Agents

This repository covers the Merlin Command Line Interface (CLI) program

Releases from the https://github.com/Ne0nd0g/merlin/releases page contain the Merlin Server, Agent, and CLI programs.

Merlin documentation can be found at https://merlin-c2.readthedocs.io/en/latest/

The Main Merlin C2 repository can be found here: https://github.com/Ne0nd0g/merlin

Command Line Interface

The CLI uses Google RPC (gRPC) protocol buffers over TLS to communicate with the Merlin Server. All API calls require a password to authenticate to the server.

WARNING: The default password is merlin and should always be changed to prevent unauthorized access

NOTE: By default, the Merlin Server will generate a self-signed TLS certificate that will not be trusted by the CLI if the secure flag is used

    $ ./merlin-cli -h
    Usage of merlin-cli:
      -addr string
            The address of the Merlin server to connect to (default "127.0.0.1:50051")
      -password string
            the password to connect to the Merlin server (default "merlin")
      -secure
            Require server TLS certificate verification
      -tlsCA string
            TLS Certificate Authority file path
      -tlsCert string
            TLS certificate file path
      -tlsKey string
            TLS private key file path
      -version
            Print the version number and exit
  • addr - this flag specifies the address of the Merlin Server to connect to. The connection uses gRPC over TLS.
  • password - this flag sets the password needed to authenticate all gRPC requests
  • secure - this flag enables TLS certificate verification. When this flag is set, the CLI will verify the Server's TLS certificate
  • tlsCA - this flag specifies a custom CA certificate file to validate and trust the Server's certificate
  • tlsCert - this flag specifies the certificate file the Merlin CLI will use for mutual TLS authentication with the Merlin Server
  • tlsKey - this flag specifies the private key file for the tlsCert
  • version - this flag prints the version number of the Merlin Server and exits

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
agent
Package agent contains commands that are only available in the CLI agents menu
Package agent contains commands that are only available in the CLI agents menu
agent/all
Package all contains commands that are only available in the CLI agents menu for all agent operating system types
Package all contains commands that are only available in the CLI agents menu for all agent operating system types
agent/linux
Package linux contains commands that are only available in the CLI agents menu and only for Linux agents
Package linux contains commands that are only available in the CLI agents menu and only for Linux agents
agent/windows
Package windows contains commands that are only available in the CLI agents menu and only for Windows agents
Package windows contains commands that are only available in the CLI agents menu and only for Windows agents
all
Package all contains commands that are available in all CLI menus
Package all contains commands that are available in all CLI menus
listeners
Package listeners contains commands that are only available in the CLI listeners menu and submenus
Package listeners contains commands that are only available in the CLI listeners menu and submenus
mainMenu
Package mainMenu contains commands that are only available in the CLI's main menu.
Package mainMenu contains commands that are only available in the CLI's main menu.
module
Package module contains commands that are only available in the CLI modules menu NOTE: some commands used in the module menu are also used in other menus and can be found in the pkg/cli/commands/multi directory
Package module contains commands that are only available in the CLI modules menu NOTE: some commands used in the module menu are also used in other menus and can be found in the pkg/cli/commands/multi directory
multi
Package multi contains commands that are available in multiple CLI menus, but not all menus.
Package multi contains commands that are available in multiple CLI menus, but not all menus.
repository
Package repository implements an in-memory database that holds a map of Command structures used with the Merlin CLI
Package repository implements an in-memory database that holds a map of Command structures used with the Merlin CLI
Package completer contains functions that query the API to get a list of values for command line tab completion
Package completer contains functions that query the API to get a list of values for command line tab completion
entity
job
os
services
cli
rpc
Package rpc provides the gRPC client for communicating with the Merlin server
Package rpc provides the gRPC client for communicating with the Merlin server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL