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
Tamil S

Tamil has a great interest in the fields of Cyber Security, OSINT, and CTF projects. Currently, he is deeply involved in researching and publishing various security tools with Kali Linux Tutorials, which is quite fascinating.

Recent Posts

Check-If-Email-Exists : A Tool To Verify Email Addresses Without Sending Emails

This is open-source, but I also offer a SaaS solution that has check-if-email-exists packaged in a nice friendly web…

48 seconds ago

IPGeolocation – A Comprehensive Guide To The IPGeoLocation Tool

IPGeoLocation is a powerful tool designed to fetch detailed geolocation information for any given IP…

8 mins ago

Firefox Decrypt – Mastering Password Recovery For Mozilla Applications

As of 1.0.0 Python 3.9+ is required. Python 2 is no longer supported. If you…

15 mins ago

Face Recognition – Mastering Facial Recognition With Python

Recognize and manipulate faces from Python or from the command line with the world's simplest…

22 mins ago

PowerForensics – PowerShell Digital Forensics

The purpose of PowerForensics is to provide an all inclusive framework for hard drive forensic…

30 mins ago

GasMasK – The Comprehensive OSINT Toolkit

GasMasK is a versatile open-source tool designed for extensive information gathering and OSINT (Open Source…

3 days ago