Internal Documentation

Internal documentation docker container

Granular Documentation

Mythic provides an additional docker container that serves static information about the agents and c2 profiles. In the main config.json file you'll see two new fields, one for if you want to start the documentation container at all and if so, using which port.

Accessing the Documentation

The documentation stands up a Golang HTTP server based on Hugo (it's HTTP, not HTTPS). It reads all of the markdown files in the /Mythic/documentation-docker/ folder and creates a static website from it. For development purposes, if you make changes to the markdown files here, the website will automatically update in real time.

The default port for this is 8080.

Connecting to Documentation

The documentation container uses Hugo to spin up a mini web server within the container that serves static content. There have been issues where the host has IPv6 enabled, which causes the Hugo server to bind only to :::8080. Trying to access the website will connect and then just hang. To fix this, disable IPv6 in your /etc/default/grub file by making sure ipv6.disable=1 is appended to the following two lines:

GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1"
GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US ipv6.disable=1"

Then restart the host and everything should work.