一个协作式、多平台的红队演练框架
一个基于 GoLang、docker、docker-compose 及 Web 浏览器 UI 构建的跨平台后利用、红队框架。旨在为操作人员、管理人员和报告人员在整个红队过程中提供协作且用户友好的界面。
Mythic 通过 mythic-cli 二进制文件进行控制。要生成该二进制文件,请在 Mythic 主目录下运行 sudo make。然后,可以运行 sudo ./mythic-cli start 来启动所有默认的 Mythic 容器。
更具体的设置说明、配置、示例、截图等内容可在 Mythic 文档 网站上找到。
Mythic 仓库本身不托管任何 Payload Types 或 C2 Profiles。相反,Mythic 提供了一个命令 ./mythic-cli install github <url> [-b branch name] [-f],可用于将代理安装到当前 Mythic 实例中。
Payload Types 和 C2 Profiles 可在概览页面找到。
要安装代理,只需运行脚本并提供 GitHub 上代理的路径作为参数:
sudo ./mythic-cli install github https://github.com/MythicAgents/apfell
安装 C2 Profiles 也是如此:
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http
这使得代理和 C2 配置文件能够以更快的节奏进行更新,并将 Mythic 核心组件与 Mythic 的其他部分分离开来。
使用 ./mythic-cli update 命令检查 mythic-cli、mythic_server 和 mythic_react 界面的可用更新。此命令_不会_自动执行更新,但会告知你是否存在更新。要针对特定分支检查更新,请使用 ./mythic-cli update -b [branch name]。
Mythic 对其所有组件均使用 Docker 和 Docker-compose,这使得 Mythic 能够提供广泛的组件和功能,而无需在宿主机上安装额外依赖。然而,了解容器的配置方式可能会有所帮助。所有 Mythic 的 Docker 容器都托管在 DockerHub 上的 itsafeaturemythic 下。
此外,Mythic 使用自定义的 PyPi 包(mythic_container)和自定义的 Golang 包(https://github.com/MythicMeta/MythicContainer)来帮助控制和同步所有容器之间的信息,并提供一种简单的方式来编写访问服务器的脚本。
这些 Docker 镜像的 Dockerfile 可在 MythicMeta 上找到。
mythic-container PyPi 包的源代码可在 MythicMeta 上获取,并会自动安装到所有 mythic_python_* Docker 镜像上。
该 PyPi 包负责连接到 RabbitMQ、将数据同步到 Mythic,并响应诸如 Tasking、Webhooks 和配置更新等事件。
github.com/MythicMeta/MythicContainer Golang 包的源代码可在 MythicMeta 上获取。
该 Golang 包负责连接到 RabbitMQ、将数据同步到 Mythic,并响应诸如 Tasking、Webhooks 和配置更新等事件。
Mythic 项目的所有文档都在 docs.mythic-c2.net 网站上维护。文档的后端代码位于 MythicMeta 的 Mintlify_Documentation 仓库中。
许多人承受着 bug 报告、更改和修复的痛苦,帮助让这个项目变得更好。谢谢你们!
以下人员为项目做出了大量贡献。当你看到他们在 Payload Types 和 C2 Profiles 中的名字时,请随时向他们寻求帮助和贡献:
这是一个开源项目,仅供获得授权后用于评估安全状况和研究目的。