Merlin is a cross-platform post-exploitation HTTP/2 Command & Control server and agent written in golang.
An introductory blog post can be found here: https://medium.com/@Ne0nd0g/introducing-merlin-645da3c635a
- Download the latest compiled version of Merlin Server from the releases section
- Extract the files with 7zip using the
x
function. The password is:merlin
- Start Merlin
- Deploy an agent. See Agent Execution Quick Start Guide for examples
- Pwn, Pivot, Profit
mkdir /opt/merlin;cd /opt/merlin
wget https://github.com/Ne0nd0g/merlin/releases/download/v0.1.4/merlinServer-Linux-x64-v0.1.4.7z
7z x merlinServer-Linux-x64-v0.1.4.7z
sudo ./merlinServer-Linux-x64
- The latest development build of Merlin can be downloaded from AppVeyor
- To compile Merlin from source, view the Building or Running from Source wiki page
- For a full list of available commands view the Main Menu, Agent Menu, and Module Menu wiki pages
- View the FAQ wiki page for Frequently Asked Questions
- View the Blog Posts page for additional information
./merlinServer-Linux-x64 -h
-debug
Enable debug output
-i string
The IP address of the interface to bind to (default "0.0.0.0")
-p int
Merlin Server Port (default 443)
-proto string
Protocol for the agent to connect with [h2, hq] (default "h2")
-v Enable verbose output
-x509cert string
The x509 certificate for the HTTPS listener (default "C:\\Merlin\\data\\x509\\server.crt")
-x509key string
The x509 certificate key for the HTTPS listener (default "C:\\Merlin\\data\\x509\\server.key")
./merlinAgent-Linux-x64 -h
-debug
Enable debug output
-proto string
Protocol for the agent to connect with [h2, hq] (default "h2")
-sleep duration
Time for agent to sleep (default 10s)
-url string
Full URL for agent to connect to (default "https://127.0.0.1:443")
-v Enable verbose output
-version
Print the agent version and exit
Join the #merlin
channel in the BloodHoundGang Slack to chat about Merlin