Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

GOAD-Light : Personal Deployment Guide / Guide de déploiement personnel

This is a personal deployment writeup for GOAD, the intentionally vulnerable Active Directory lab by Orange Cyberdefense. Written to make the process accessible where the official docs can feel overwhelming.
Retour d'expérience personnel sur le déploiement de GOAD, le lab Active Directory vulnérable d'Orange Cyberdefense. Rédigé pour rendre le processus accessible là où la doc officielle peut sembler dense.

Full deployment report (PDF) / Rapport de déploiement complet (PDF)


Disclaimer / Avertissement

GOAD is the exclusive work of Orange Cyberdefense.
This repository claims no ownership whatsoever over GOAD, not its architecture, not its Ansible playbooks, not its PowerShell scripts, not its vulnerable AD configurations, not its attack scenarios. Everything belongs to Orange Cyberdefense and its contributors.

What you'll find here is strictly a personal experience report: the exact commands I ran, the errors I hit, how I resolved them, and what I built on top of the lab afterwards. Nothing is redistributed. Always clone GOAD from the official repository.

GOAD est le travail exclusif d'Orange Cyberdefense.
Ce repository ne revendique aucune propriété sur GOAD, ni son architecture, ni ses playbooks Ansible, ni ses scripts PowerShell, ni ses configurations AD vulnérables, ni ses scénarios d'attaque. Tout appartient à Orange Cyberdefense et à ses contributeurs.

Ce que vous trouverez ici est strictement un rapport d'expérience personnel : les commandes exactes exécutées, les erreurs rencontrées, les résolutions appliquées, et ce que j'ai construit par-dessus le lab ensuite. Rien n'est redistribué. Toujours cloner GOAD depuis le dépôt officiel.


What is GOAD? / C'est quoi GOAD ?

An intentionally vulnerable Active Directory lab maintained by Orange Cyberdefense. It provisions multiple Windows Server VMs with realistic AD misconfigurations, Kerberoasting, ACL abuse, delegation issues, trust attacks. So you can practice both offensive and defensive techniques in a safe, isolated environment.

Un laboratoire Active Directory intentionnellement vulnérable maintenu par Orange Cyberdefense. Il déploie plusieurs VMs Windows Server avec des erreurs de configuration AD réalistes, Kerberoasting, abus d'ACL, problèmes de délégation, attaques de trust pour pratiquer les techniques offensives et défensives dans un environnement sûr et isolé.

GOAD-Light Architecture

Available lab variants / Variantes disponibles

Orange Cyberdefense maintains several variants on the official repo. This guide only covers GOAD-Light. Check the official documentation for the full and up-to-date list.

Orange Cyberdefense maintient plusieurs variantes sur le dépôt officiel. Ce guide ne couvre que GOAD-Light. Consulter la documentation officielle pour la liste complète et à jour.

Lab VMs RAM required / RAM requise Notes
GOAD-Light 3 ~12 GB This guide. Best starting point. / Ce guide. Meilleur point de départ.
GOAD 5 ~24 GB Full lab, more domains and scenarios. / Lab complet, plus de domaines et scénarios.
SCCM 4 ~16 GB Focused on SCCM/MECM attack paths. / Axé sur les attaques SCCM/MECM.
NHA 5 ~20 GB No Hand Allowed — no guided scenarios. / Sans scénarios guidés, plus difficile.

Lab architecture / Architecture du lab

                    sevenkingdoms.local
        ┌───────────────────────────────────────┐
        │  DC01 — 192.168.56.10                 │
        │  Windows Server 2016                  │
        │  Domain Root Controller               │
        └────────────────┬──────────────────────┘
                         │ Bidirectional trust / Trust bidirectionnel
        ┌────────────────▼──────────────────────┐
        │       north.sevenkingdoms.local       │
        │  DC02 — 192.168.56.11                 │
        │  Windows Server 2016                  │
        │  Child Domain Controller              │
        │                                       │
        │  SRV02 — 192.168.56.22                │ 
        │  Windows Server 2016                  │
        │  Member Server · MSSQL · No Defender  │
        └───────────────────────────────────────┘

        Host-Only network / Réseau isolé : 192.168.56.0/24
        Local credentials / Credentials : vagrant / vagrant

Educational use only. Never deploy outside an isolated network.
Usage éducatif uniquement. Ne jamais déployer hors réseau isolé.


What I built on top / Ce que j'ai construit par-dessus

GOAD-Light was used as the target environment in a broader detection lab. Three additional layers were added on the same isolated network:

GOAD-Light a servi d'environnement cible dans un lab de détection plus large. Trois couches supplémentaires ont été ajoutées sur le même réseau isolé :

┌──────────────────────────────────────────────────────────┐
│                   192.168.56.0/24                        │
│                                                          │
│   GOAD-Light (DC01, DC02, SRV02)   ←── Attack machine    │
│           Target AD environment         Kali Linux       │
│                    ↕ traffic                             │
│           Suricata gateway                               │
│        East-West traffic analysis                        │
│        (IDS/IPS on the network segment)                  │
│                    ↕ alerts + logs                       │
│              Wazuh SIEM                                  │
│        Log collection · Alert triage                     │
│        Rule correlation · DFIR                           │
└──────────────────────────────────────────────────────────┘

Stack :

  • GOAD-Light : vulnerable AD target / cible AD vulnérable
  • Kali Linux : attack machine on the same network segment / machine attaquante sur le même segment réseau
  • Suricata : inline gateway for East-West traffic inspection / passerelle inline pour l'analyse du trafic Est-Ouest
  • Wazuh : SIEM for log collection, alert correlation, and detection rule testing / SIEM pour la collecte de logs, corrélation d'alertes et test de règles de détection

This setup allows running real attack chains (Kerberoasting, lateral movement, DCSync...) and validating detection coverage end-to-end — from network-level signatures in Suricata to endpoint telemetry in Wazuh.

Ce setup permet d'exécuter de vraies chaînes d'attaque (Kerberoasting, mouvement latéral, DCSync...) et de valider la couverture de détection de bout en bout des signatures réseau dans Suricata jusqu'à la télémétrie endpoint dans Wazuh.


Machine specs (tested) / Specs machine (testées)

Specs of the host machine used for this deployment:
Specs de la machine hôte utilisée pour ce déploiement :

Component / Composant Spec
OS Ubuntu 24.04 LTS
CPU Intel Core i7 — 8 cores / cœurs
RAM 16 GB
Disk / Disque ~95 GB used for the lab / utilisés pour le lab
Hypervisor Oracle VirtualBox 7.x

Per VM / Par VM (GOAD-Light) :

VM vCPU RAM Disk / Disque OS
GOAD-Light-DC01 2 2 GB 60 GB Windows Server 2016
GOAD-Light-DC02 2 2 GB 60 GB Windows Server 2016
GOAD-Light-SRV02 2 2 GB 60 GB Windows Server 2016

Installation

1. VirtualBox

sudo apt install -y virtualbox virtualbox-ext-pack
sudo usermod -aG vboxusers $USER
sudo reboot

Reboot is mandatory : group membership only takes effect after a full session reload.
Le reboot est obligatoire : l'appartenance au groupe ne prend effet qu'après rechargement complet de la session.

2. Vagrant + Ansible

sudo apt install -y vagrant ansible-core python3-pip
pip3 install --user pywinrm

3. Clone GOAD / Cloner GOAD

git clone https://github.com/Orange-Cyberdefense/GOAD.git ~/GOAD
cd ~/GOAD

4. Set up Ansible collections / Configurer les collections Ansible

Critical. This avoids module not found errors and eliminates any dependency on Ansible Galaxy, which can be slow or unavailable.
Critique. Évite les erreurs module not found et élimine toute dépendance à Ansible Galaxy, qui peut être lent ou indisponible.

mkdir -p ansible/collections/ansible_collections
cp -r /usr/lib/python3/dist-packages/ansible_collections/* \
      ansible/collections/ansible_collections/

5. Create ansible.cfg / Créer le fichier ansible.cfg

cat > ansible.cfg << 'EOF'
[defaults]
collections_paths    = ./ansible/collections:/usr/lib/python3/dist-packages/ansible_collections
host_key_checking    = False
interpreter_python   = auto_silent
timeout              = 60
gather_timeout       = 60
deprecation_warnings = False

[ssh_connection]
pipelining = True
EOF

timeout = 60 is critical : the default 10s causes false unreachable errors on Windows DCs that are slow to boot.
timeout = 60 est critique : le défaut de 10s provoque de faux unreachable sur les DCs Windows lents au démarrage.

6. Deploy / Déployer

./goad.sh -t install -l GOAD-Light -p virtualbox -m local

Expect ~2 hours. Do not interrupt.
Comptez ~2 heures. Ne pas interrompre.

# Success / Succès
dc01  : ok=18  unreachable=0  failed=0
dc02  : ok=33  unreachable=0  failed=0
srv02 : ok=18  unreachable=0  failed=0
[*] Lab successfully provisioned in 01:57:41

Verification / Vérification

VBoxManage list runningvms

ping -c 2 192.168.56.10   # DC01
ping -c 2 192.168.56.11   # DC02
ping -c 2 192.168.56.22   # SRV02

nc -zv 192.168.56.10 88    # Kerberos
nc -zv 192.168.56.10 389   # LDAP
nc -zv 192.168.56.10 445   # SMB

Common errors / Erreurs fréquentes

NS_ERROR_FAILURE
vboxusers group not active. Reboot. / Groupe non actif. Rebooter.

couldn't resolve module ansible.windows
→ Step 4 failed or skipped. Redo it. / Étape 4 ratée ou sautée. La refaire.

unreachable=1 on dc01
→ DC01 rebooted after domain promotion. Wait 10 min, rerun. Ansible resumes. / DC01 a redémarré. Attendre 10 min, relancer. Ansible reprend.

machine already exists
→ Old VMs still registered. Clean up: / Anciennes VMs encore enregistrées. Nettoyer :

VBoxManage controlvm "GOAD-Light-DC01" poweroff 2>/dev/null
VBoxManage unregistervm "GOAD-Light-DC01" --delete
# Repeat for DC02 and SRV02 / Répéter pour DC02 et SRV02
rm -rf ~/GOAD/workspace/*

Ansible Galaxy HTTP 500
→ Galaxy is down. No impact if step 4 is done. / Galaxy est down. Aucun impact si l'étape 4 est faite.


Daily use / Utilisation quotidienne

# Start / Démarrer
VBoxManage startvm "GOAD-Light-DC01" --type headless
VBoxManage startvm "GOAD-Light-DC02" --type headless
VBoxManage startvm "GOAD-Light-SRV02" --type headless

# Stop / Arrêter
VBoxManage controlvm "GOAD-Light-DC01" acpipowerbutton
VBoxManage controlvm "GOAD-Light-DC02" acpipowerbutton
VBoxManage controlvm "GOAD-Light-SRV02" acpipowerbutton

# Snapshot
VBoxManage snapshot "GOAD-Light-DC01" take "clean"
VBoxManage snapshot "GOAD-Light-DC02" take "clean"
VBoxManage snapshot "GOAD-Light-SRV02" take "clean"

Credits / Crédits

GOAD is created and maintained by Orange Cyberdefense.
All rights reserved to them and their contributors.

Official repo / Dépôt officiel github.com/Orange-Cyberdefense/GOAD
Official docs / Documentation orange-cyberdefense.github.io/GOAD

By / Par Jean Koumou · GitHub · Blue Team

About

Deploying Orange Cyberdefense's GOAD-Light on VirtualBox | step-by-step guide with troubleshooting and detection stack

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors