mythic-cli
isn’t included as part of the repo anymore (2.5MB changing binary is gross). Instead, you need to run sudo make
in the Mythic folder first (that’ll create a docker container to build it and then copy it out to the Mythic folder for you automatically).
mythic
pypi package and double check your scripts still work.
mythic_payloadtype_container
, mythic_c2_container
, and mythic_translation_container
) and very specific folder layouts to configure and run the various agents, c2 profiles, and translation containers. This became tedious to maintain and resulted in a lot of duplicated effort as the capabilities offered to containers expanded. To address this, now Mythic containers all use mythic_container
as their PyPi package if they’re written in Python or github.com/MythicMeta/MythicContainer
package if they’re written in GoLang.
This new format also allows a single “container” to have multiple payload types, multiple c2 profiles, translation containers, and even two new kinds of containers.
https://github.com/MythicC2Profiles/basic_logger
.
https://github.com/MythicC2Profiles/basic_webhook
.
The number and kinds of webhook events will expand over time.
crypto_type=true
with a Payload Type’s build parameters and supercede a c2 profile’s cryptography. This gives the agent developer a higher degree of customizability than existed before.
/jupyter
, provide a handy, persistent way to allow scripting without requiring operators to get set up on their own environment. Right now it’s a single, shared instance for all of Mythic (not per operation), but if it gains traction an people really like it, there’s a beefier version that allows multi-user sign-ins that can be used instead.
This will slowly get a library of common scripting examples that you can draw from when creating your own scripts for your operations. This also provides a much nicer interface for testing and scripting than pulling code from a wiki page and hoping it’s updated.
password
is mythic
.
/console
where you can interact with Hasura - the provider for the GraphQL component of Mythic. All of the web UI and scripting goes through Hasura, so this provides a great way to test out custom GraphQL queries and see what all you can do.
When you go here you’ll be prompted for a credential to log in - use sudo ./mythic-cli config get hasura_secret
to get the password to use.
https://github.com/MythicC2Profiles/basic_webhook
and configure a webhook for your operation, but then it’s super easy to record this sort of stuff and continue on with your operation. Then, when your op is done, you can go back and file github issues, feature requests, ask for UI tweaks about things that were confusing, or even having an easy timeline of when you got caught. Because this data is sent to the webhook containers, you can take the data and do whatever you want with it. You don’t technically have to do a webhook - you could turn it directly into a github issue or just save it off as a note somewhere for you to visit later.
cred
and if you find credentials in a file, you can then tag that file with the cred
tag so it’s easier for other people to know (and you to remember) that you pulled creds from that file.
cred
now instead of the tag icon itself, you see the data that was supplied.
load
command created, or you’d have to create an entirely new payload, execute it, then test out your new function. That can be a headache and impractical, especially if it’s a script_only
command that you want to make available to your callbacks now.
To facilitate this, Mythic now allows you to manually adjust which commands are available in your payloads and callbacks through the UI.