Merlin
Last updated
Was this helpful?
Last updated
Was this helpful?
Merlin is a cross-platform post-exploitation Command & Control server and agent written in Go.
Highlighted features:
Supported C2 Protocols: http/1.1 clear-text, http/1.1 over TLS, HTTP/2, HTTP/2 clear-text (h2c), http/3 (http/2 over QUIC)
Domain Fronting
Execute .NET assemblies in-process with invoke-assembly
or in a sacrificial process with execute-assembly
Execute arbitrary Windows executables (PE) in a sacrificial process with execute-pe
Various shellcode execution techniques: CreateThread, CreateRemoteThread, RtlCreateUserThread, QueueUserAPC
Encrypted JWT for authentication
2.
3.
4.
5.
6.
For a full list of available commands:
Server and Agent: Windows, Linux, macOS (Darwin), MIPS, ARM or anything Go can
Asymmetric Password Authenticated Key Exchange (PAKE)
Agent traffic is an encrypted JWE using PBES2 (RFC 2898) with HMAC SHA-512 as the PRF and AES Key Wrap (RFC 3394) using 256-bit keys for the encryption scheme. ()
Integrated , , and support
C2 traffic message to combat beaconing detections based on a fixed message size
Dynamically change the Agent's hash
support
An introductory blog post can be found here:
The is kept in its own repository so that it can easily be retrieved and compiled:
The is also kept in a separate repository. See the documentation for building instructions.
The Merlin server is a self-contained command line program that requires no installation. You just simply download it and run it. The command-line interface only works great if it will be used by a single operator at a time. The Merlin agent can be controlled through , which features a web-based user interface that enables multiplayer support, and a slew of other features inherent to the project.
Visit the repository in the MythicAgents organizaiton to get started.
The latest development build of Merlin can be downloaded from
To compile Merlin from source, view the page
View the page
View the page for additional information
Join the #merlin
channel in the Slack to ask questions, troubleshoot, or provide feedback.
Thanks to for kindly sponsoring Merlin by providing a Goland IDE Open Source license