
Terraformを使用してAzureにMythic C2を自動的にデプロイする
このプロジェクトにより、オペレーターは Azure 上で複数の Mythic C2 サーバーをセットアップできます。オプションで Azure CDN リダイレクタも作成可能です。考え方としては、この Terraform コードから管理できる複数の「プロジェクト」を作成できることです。これにより、オペレーターはインフラストラクチャのリソースをコードとして一元管理できます。
main.tf ファイル内には projects マップがあります。そのマップにプロジェクトを追加できます。各プロジェクトには独自の Mythic C2 インスタンスが作成されます。認証情報やインストールする C2 エージェントなど、Mythic を設定するためのさまざまな変数を追加できます。例:
locals {
projects = {
# Custom Mythic deployment.
hackeverything = {
vm-username = "adminuser"
mythic_version = "v3.2.2"
mythic_admin_user = "asdf"
mythic_c2_profile = "https://github.com/MythicC2Profiles/httpx"
mythic_agent = "https://github.com/MythicAgents/Xenon"
cdn_frontdoor_endpoints = 2
}
# Default Mythic deployment.
hacksomething = {}
}
}
現在は、ドキュメント に記載されている基本的な Mythic C2 インストールのみです。Mythic ポータルは localhost で待機します。アクセスするには、SSH ローカルポートフォワーディングを使用できます。例:
ssh -L 127.0.0.1:7443:127.0.0.1:7443 <VM-USERNAME>@<IP>
必要なシークレットは2つあります:
Azure Key Vault の名前(Azure Portal で確認可能)と、プロジェクト名を知っている必要があります。az コマンドを使用してシークレットを取得します。
# SSH Key
az keyvault secret show --vault-name <KEY VAULT NAME> --name <PROJECT-sshkey> | jq .value -r
# Web Console Password
az keyvault secret show --vault-name <KEY VAULT NAME> --name <PROJECT-mythic-admin>
このプロジェクトは主に Terraform、Mythic、Azure の学習のために使用されました。