Mise en place du lab — Active Directory#
Guide de démarrage pour le module Active Directory du parcours pentest : environnement Windows isolé, domaine lab.local, outils communs. Les techniques d’attaque (Pass the Hash, Kerberoasting, etc.) sont traitées dans des pages dédiées, sur la même infrastructure.
L’objectif est de disposer d’un lab isolé, reproductible et hors production, réutilisable pour l’ensemble des TPs de ce module.
Important : ce lab manipule des techniques d’attaque réelles. Ne jamais l’exposer sur Internet, sur le réseau de l’école sans accord, ni sur votre réseau personnel sans isolation. Utiliser uniquement des VMs d’évaluation ou des images fournies par le formateur.
1. Parcours du module#
Une fois l’infrastructure en place, enchaînez les TPs dans l’ordre (ou selon le programme du formateur) :
| # | Page | Technique | Statut |
|---|---|---|---|
| 1 | Get Started (cette page) | Infra AD, outils, tests réseau | — |
| 2 | Pass the Hash | Extraction NTLM + réutilisation du hash | Disponible |
| 3 | Kerberoasting | Extraction et crack des TGS | À venir |
| 4 | AS-REP Roasting | Comptes sans pré-authentification Kerberos | À venir |
| 5 | DCSync | Réplication NTDS depuis le DC | À venir |
Tous ces TPs partagent Kali, DC01 et WS01 décrits ci-dessous. Prenez des snapshots avant chaque exercice pour repartir d’un état propre.
2. Architecture cible du lab#
Réseau recommandé : Host-only (VirtualBox) ou LAN segmenté (VMware) — segment 192.168.56.0/24, sans passerelle vers l’extérieur pour les VMs Windows.
Conserver un adaptateur NAT sur Kali uniquement pour les mises à jour.
| Machine | Rôle | IP (exemple) | OS |
|---|---|---|---|
| Kali | Attaquant (Impacket, NetExec, Metasploit, BloodHound…) | 192.168.56.10 | Kali Linux (VM) |
| DC01 | Contrôleur de domaine | 192.168.56.20 | Windows Server 2019/2022 Eval |
| WS01 | Poste utilisateur (compromission initiale) | 192.168.56.30 | Windows 10/11 Pro Eval |
Domaine fictif : lab.local
Scénario pédagogique volontairement vulnérable (commun à tous les TPs) :
- Compte domaine
lab\user1avec mot de passe faible (accès initial grey box ou RDP) - Compte
lab\administrateur— administrateur du domaine - Même mot de passe admin local sur DC01 et WS01 (réutilisation de credentials)
- Au moins un compte de service avec SPN pour le futur TP Kerberoasting (ex.
svc_sql/ServicePass123!) - Windows Defender et pare-feu désactivés sur le segment lab uniquement
3. Téléchargements#
| VM / outil | Source | Identifiants par défaut (exemple lab) |
|---|---|---|
| Kali Linux | https://www.kali.org/get-kali/ | kali / kali |
| Windows Server Eval | https://www.microsoft.com/evalcenter | Défini à l’installation |
| Windows 10/11 Eval | https://www.microsoft.com/evalcenter | Défini à l’installation |
| Mimikatz | https://github.com/gentilkiwi/mimikatz/releases | — |
| Impacket | Préinstallé sur Kali (impacket-scripts) | — |
Alternative tout-en-un : GOAD (Game of Active Directory) — domaine préconfiguré, déploiement via Vagrant. Utile si vous ne souhaitez pas monter l’AD manuellement ; adapter ensuite les IP et noms d’hôtes dans les pages du module.
4. Préparation de l’environnement Active Directory#
4.1. Sur DC01#
- Installer Windows Server Eval
- Configurer l’IP statique (
192.168.56.20, masque255.255.255.0, pas de passerelle) - Renommer la machine en
DC01 - Installer le rôle Active Directory Domain Services
- Promouvoir en contrôleur de domaine : domaine
lab.local - Créer les comptes :
administrateur— membre du groupe Domain Adminsuser1— utilisateur standard
- (Préparation Kerberoasting) Créer un compte de service
svc_sqlet lui associer un SPN :
New-ADUser -Name "svc_sql" -SamAccountName "svc_sql" -AccountPassword (ConvertTo-SecureString "ServicePass123!" -AsPlainText -Force) -Enabled $true
setspn -A MSSQLSvc/DC01.lab.local:1433 lab\svc_sql4.2. Sur WS01#
- Installer Windows 10/11 Eval
- IP statique
192.168.56.30 - Joindre le domaine
lab.local - Se connecter une fois en RDP avec
lab\administrateur(utile pour les TPs nécessitant des credentials en mémoire, ex. Mimikatz)
4.3. Sur Kali — outils communs#
sudo apt update
sudo apt install -y impacket-scripts netexec evil-winrm bloodhound| Outil | Usage dans le module |
|---|---|
| Impacket | secretsdump, psexec, GetUserSPNs (Kerberoasting) |
| NetExec | Auth, exécution distante, énumération SMB |
| Mimikatz | Exécuté sur la cible Windows (dump LSASS, PtH) |
| BloodHound | Cartographie AD (optionnel, TPs avancés) |
5. Test de l’environnement#
5.1. Vérifier les IP#
Sur chaque VM, noter l’adresse réelle (adapter si DHCP) :
# Windows (DC01, WS01)
ipconfig# Kali
ip a5.2. Connectivité depuis Kali#
ping -c 2 192.168.56.20
ping -c 2 192.168.56.30
nmap -sV -p 88,389,445,5985,3389 192.168.56.20-30| Port | Service | Intérêt |
|---|---|---|
| 88 | Kerberos | Kerberoasting, AS-REP Roasting |
| 389 | LDAP | Énumération AD |
| 445 | SMB | PtH, secretsdump, NetExec |
| 5985 | WinRM | Shell distant |
| 3389 | RDP | Accès initial grey box |
Résultat attendu : DC01 joignable sur 88, 389 et 445 ; WS01 sur 445 (minimum).
Lorsque Kali joint DC01 et WS01, le lab est prêt.
5.3. Vérifier l’authentification domaine#
nxc smb 192.168.56.20 -u user1 -p 'MotDePasse' -d lab.localUn résultat (Pwn3d!) ou succès d’auth confirme que le domaine répond correctement.
6. Conventions pour les TPs suivants#
Les pages du module utilisent les variables et noms ci-dessous — adaptez les IP si votre lab diffère :
| Variable | Valeur exemple |
|---|---|
| Domaine | lab.local |
| DC | 192.168.56.20 / DC01 |
| Workstation | 192.168.56.30 / WS01 |
| Kali | 192.168.56.10 |
| Admin domaine | lab\administrateur |
| Utilisateur | lab\user1 |
7. Avant de continuer#
- Prendre un snapshot de Kali, DC01 et WS01 (état « lab propre »)
- Noter les IP réelles et les mots de passe du lab dans votre carnet de TP
8. Suite de la démarche#
Phase actuelle : Mise en place du lab — infrastructure AD opérationnelle.
[✓] Mise en place → [●] Pass the Hash → [ ] Kerberoasting → [ ] …Étape suivante : Pass the Hash — extraction de hashes NTLM (Mimikatz ou Impacket) et mouvement latéral.
Références :