Documentation rédigée par : GADONNAUD Ewen
Formation : BTS SIO 1ère année - Option SISR
Établissement : Lycée Paul-Louis Courier, Tours
Date : Mars 2026
L'Active Directory (AD) est le service d'annuaire de Microsoft, déployé dans la quasi-totalité des entreprises. Il centralise la gestion des identités, des accès et des politiques de sécurité d'un réseau Windows.
Composants clés à connaître :
| Terme | Définition |
|---|---|
| Domain | Unité d'organisation principale (ex: lab.local) |
| Domain Controller (DC) | Serveur qui héberge et gère l'AD. Cible prioritaire en pentest |
| Forest | Ensemble de domaines partageant un schéma AD commun |
| OU (Organizational Unit) | Conteneur logique pour organiser utilisateurs, groupes, machines |
| GPO (Group Policy Object) | Politiques appliquées automatiquement aux objets de l'AD |
| SPN (Service Principal Name) | Identifiant unique d'un service (utile pour Kerberoasting) |
| LDAP | Protocole utilisé pour interroger l'annuaire AD |
| Kerberos | Protocole d'authentification principal de l'AD |
| NTLM | Protocole d'authentification legacy, encore présent et exploitable |
Pourquoi l'AD est une cible privilégiée ?
Compromettre le Domain Controller = compromettre l'intégralité du réseau. Un attaquant qui obtient les droits Domain Admin contrôle tous les comptes, toutes les machines, et toutes les politiques du domaine.
La reconnaissance AD suit une progression logique :
1. Découverte réseau → Trouver les machines, identifier le DC 2. Enumération LDAP → Lister utilisateurs, groupes, machines, GPO 3. Enumération des droits → Identifier les chemins de privilège 4. Identification des cibles → Comptes privilégiés, services exposés, mauvaises configs
On distingue deux types de reconnaissance :
| Type | Description | Outils |
|---|---|---|
| Passive | Sans authentification, sans interagir avec le DC | nmap, ldapsearch anonyme |
| Authentifiée | Avec un compte du domaine (même bas privilège) | BloodHound, ldapdomaindump, enum4linux-ng |
Attaquant (Kali Linux) IP : 192.168.1.206 Mode réseau : Bridge Cible : Domain Controller (Windows Server 2025) IP : 192.168.1.229 Domaine : lab.local
Comptes configurés pour le TP :
| Compte | Mot de passe | Rôle | Particularité |
|---|---|---|---|
jdupont | Password123 | Utilisateur standard | Membre du groupe Users |
amartin | Summer2024! | Administrateur | Membre Admins IT → Domain Admins. SPN : HTTP/webserver.lab.local |
svcbackup | Backup2024 | Compte de service | Pré-authentification Kerberos désactivée (AS-REP Roastable) |
admin | P@ssw0rd | Domain Admin | Compte administrateur par défaut |
Sur Windows Server 2025, le pare-feu bloque les requêtes ICMP entrantes par défaut. Pour permettre le ping depuis la machine attaquante, la règle suivante a été ajoutée en PowerShell sur le DC :
netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow
Ping scan — identification des hôtes actifs
nmap -sn 192.168.1.0/24
Résultat obtenu :
Starting Nmap 7.95 at 2026-03-11 21:49 CET Host is up (0.012s latency). MAC Address: 08:00:27:E1:70:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC) Nmap done: 256 IP addresses (1 host up) scanned in 1.99 seconds
L'adresse MAC 08:00:27:E1:70:82 identifie la machine comme une VM VirtualBox — c'est notre DC à l'adresse 192.168.1.229.
Scan des ports caractéristiques d'un DC
nmap -sV -p 88,389,445,3268 192.168.1.229
Résultat obtenu :
PORT STATE SERVICE VERSION
80/tcp filtered http
389/tcp open ldap Microsoft Windows Active Directory LDAP
(Domain: lab.local0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
3268/tcp open ldap Microsoft Windows Active Directory LDAP
(Domain: lab.local0., Site: Default-First-Site-Name)
MAC Address: 08:00:27:E1:70:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: Host: WIN-U64MI2E97RF; OS: Windows; CPE: cpe:/o:microsoft:windows
Les ports 389 (LDAP) et 3268 (Global Catalog) sont ouverts et confirment la présence d'un DC. Nmap a automatiquement récupéré le nom de domaine lab.local et le hostname WIN-U64MI2E97RF.
| Port | État | Interprétation |
|---|---|---|
| 80 | filtered | Pare-feu Windows bloque HTTP — normal |
| 389 | open | LDAP disponible — annuaire interrogeable |
| 445 | open | SMB disponible — énumération des partages possible |
| 3268 | open | Global Catalog — confirme le rôle DC |
Avec un compte du domaine
ldapsearch -x -H ldap://192.168.1.229 \ -D "jdupont@lab.local" \ -w "Password123" \ -b "DC=lab,DC=local" \ "(objectClass=user)" cn sAMAccountName
Détail de la commande :
-x — authentification simple (login/mot de passe)-H ldap://192.168.1.229 — adresse du serveur LDAP-D “jdupont@lab.local” — compte utilisé pour s'authentifier-w “Password123” — mot de passe associé-b “DC=lab,DC=local” — point de départ de la recherche (racine du domaine)“(objectClass=user)” — filtre : uniquement les objets de type utilisateurcn sAMAccountName — attributs à récupérer : nom complet et login WindowsSpécificité Windows Server 2025 — LDAP Signing
Par défaut, Windows Server 2025 impose la signature des requêtes LDAP. Les requêtes non chiffrées sont rejetées avec l'erreur suivante :
ldap_bind: Strong(er) authentication required (8) additional info: 00002028: LdapErr: DSID-0C09035C, comment: The server requires binds to turn on integrity checking if SSL\TLS are not already active on the connection, data 0, v65f4
Pour reproduire un environnement de lab classique, désactiver cette exigence via la GPO Default Domain Controllers Policy :
Paramètres de sécurité → Stratégies locales → Options de sécuritéContrôleur de domaine : conditions requises pour la signature de serveur LDAP → AucunAppliquer ensuite sur le DC :
gpupdate /force
(Les sections sur l'énumération SMB, BloodHound, et l'exploitation des vulnérabilités Kerberos seront ajoutées au fur et à mesure du laboratoire)