
Azure에서 Terraform을 사용하여 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>
필요한 두 가지 비밀 정보는 다음과 같습니다:
Azure 키 볼트의 이름(Azure Portal에서 확인 가능)과 프로젝트 이름을 알아야 합니다. az 명령을 사용하여 비밀 정보를 가져옵니다.
# SSH 키
az keyvault secret show --vault-name <KEY VAULT NAME> --name <PROJECT-sshkey> | jq .value -r
# 웹 콘솔 비밀번호
az keyvault secret show --vault-name <KEY VAULT NAME> --name <PROJECT-mythic-admin>
이 프로젝트는 주로 Terraform, Mythic 및 Azure에 대해 더 배우기 위해 사용되었습니다.