Cyber security

XMGoat – Mastering Azure Security Through Hands-On Attack Scenario

XM Goat is composed of XM Cyber terraform templates that help you learn about common Azure security issues.

Each template is a vulnerable environment, with some significant misconfigurations. Your job is to attack and compromise the environments.

Here’s what to do for each environment:

  1. Run installation and then get started.
  2. With the initial user and service principal credentials, attack the environment based on the scenario flow (for example, XMGoat/scenarios/scenario_1/scenario1_flow.png).
  3. If you need help with your attack, refer to the solution (for example, XMGoat/scenarios/scenario_1/solution.md).
  4. When you’re done learning the attack, clean up.

Requirements

  • Azure tenant
  • Terafform version 1.0.9 or above
  • Azure CLI
  • Azure User with Owner permissions on Subscription and Global Admin privileges in AAD

Installation

Run these commands:

$ az login
$ git clone https://github.com/XMCyber/XMGoat.git
$ cd XMGoat
$ cd scenarios
$ cd scenario_<\SCENARIO>

Where <\SCENARIO> is the scenario number you want to complete

$ terraform init
$ terraform plan -out <\FILENAME>
$ terraform apply <\FILENAME>

Where <\FILENAME> is the name of the output file

Get Started

To get the initial user and service principal credentials, run the following query:

$ terraform output --json

For Service Principals, use application_id.value and application_secret.value.

For Users, use username.value and password.value.

Cleaning Up

After completing the scenario, run the following command in order to clean all the resources created in your tenant

$ az login
$ cd XMGoat
$ cd scenarios
$ cd scenario_<\SCENARIO>

Where <\SCENARIO> is the scenario number you want to complete

$ terraform destroy
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Bootable Ubuntu USB Guide: Create One from Linux Fast

A Bootable Ubuntu USB is one of the most useful tools for Linux users. Whether…

60 minutes ago

VSFTPD FTP Server Setup on Ubuntu 20.04 Securely

Managing file transfers across networks remains a common requirement for businesses and administrators. A VSFTPD…

2 hours ago

Install Asterisk Ubuntu: Complete Setup Guide for 2026

Voice communication remains a critical part of modern business operations, and Install Asterisk Ubuntu is…

3 hours ago

VNC Server Ubuntu: Secure Remote Desktop Setup Guide

Managing Linux servers remotely is a common requirement for system administrators and developers. While command-line…

4 hours ago

NFS Server Setup on Ubuntu 20.04: Complete Configuration Guide

Network file sharing remains an essential part of Linux infrastructure, and NFS Server Setup is…

15 hours ago

Install Gitea Ubuntu: Complete Setup Guide for Developers

Managing source code efficiently is essential for modern software development, and Install Gitea Ubuntu is…

2 days ago