Outils pour utilisateurs

Outils du site


cyber:ad:reconnaissance

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
cyber:ad:reconnaissance [2026/03/11 22:34] – créée ewencyber:ad:reconnaissance [2026/03/11 23:08] (Version actuelle) ewen
Ligne 1: Ligne 1:
-====== Reconnaissance Active Directory ====== +====== Labo Reconnaissance Active Directory (Windows Server 2025) ======
 **Documentation rédigée par :** GADONNAUD Ewen **Documentation rédigée par :** GADONNAUD Ewen
  
Ligne 11: Ligne 10:
 {{ :wiki:logo.png?150 |Logo PLC-SIO}} {{ :wiki:logo.png?150 |Logo PLC-SIO}}
  
-<note warning>Les techniques présentées ici sont à des fins éducatives et de formation. Leur utilisation n'est légale que sur des environnements dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite.</note>+<note warning> 
 +Les techniques présentées ici sont à des fins éducatives et de formation. Leur utilisation n'est légale que sur des environnements dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite. 
 +</note>
  
 ===== 1. Qu'est-ce que l'Active Directory ? ===== ===== 1. Qu'est-ce que l'Active Directory ? =====
 +
 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. 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 :** **Composants clés à connaître :**
 +
 ^ Terme ^ Définition ^ ^ Terme ^ Définition ^
 | **Domain** | Unité d'organisation principale (ex: ''lab.local'') | | **Domain** | Unité d'organisation principale (ex: ''lab.local'') |
Ligne 29: Ligne 32:
  
 **Pourquoi l'AD est une cible privilégiée ?** **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. 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.
  
 ===== 2. Méthodologie de reconnaissance ===== ===== 2. Méthodologie de reconnaissance =====
 +
 La reconnaissance AD suit une progression logique : La reconnaissance AD suit une progression logique :
 +
 <code> <code>
 1. Découverte réseau       → Trouver les machines, identifier le DC 1. Découverte réseau       → Trouver les machines, identifier le DC
Ligne 41: Ligne 47:
  
 On distingue deux types de reconnaissance : On distingue deux types de reconnaissance :
 +
 ^ Type ^ Description ^ Outils ^ ^ Type ^ Description ^ Outils ^
 | **Passive** | Sans authentification, sans interagir avec le DC | nmap, ldapsearch anonyme | | **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 | | **Authentifiée** | Avec un compte du domaine (même bas privilège) | BloodHound, ldapdomaindump, enum4linux-ng |
  
-<note tip>En situation réelle, un simple compte utilisateur du domaine suffit pour énumérer l'intégralité de l'AD. C'est une faiblesse fondamentale de l'Active Directory par défaut.</note>+<note tip> 
 +En situation réelle, un simple compte utilisateur du domaine suffit pour énumérer l'intégralité de l'AD. C'est une faiblesse fondamentale de l'Active Directory par défaut. 
 +</note>
  
 ===== 3. Environnement de Laboratoire (Maquette) ===== ===== 3. Environnement de Laboratoire (Maquette) =====
 +
 <code> <code>
   Attaquant (Kali Linux)   Attaquant (Kali Linux)
 +  IP : 192.168.1.206
   Mode réseau : Bridge   Mode réseau : Bridge
  
Ligne 58: Ligne 69:
  
 **Comptes configurés pour le TP :** **Comptes configurés pour le TP :**
-  * ''jdupont'' / ''Password123'' : Utilisateur standard (Membre du groupe Users, UO Utilisateurs_Lab). 
-  * ''amartin'' / ''Summer2024!'' : Administrateur (Membre du groupe Admins IT -> Domain Admins). Possède un SPN enregistré (''HTTP/webserver.lab.local''). 
-  * ''svcbackup'' / ''Backup2024'' : Compte de service (Membre du groupe Users). La pré-authentification Kerberos a été volontairement désactivée (vulnérable à l'AS-REP Roasting). 
-  * ''admin'' / ''P@ssw0rd'' : Domain Admin par défaut. 
  
-<note>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 : +^ Compte ^ Mot de passe ^ Rôle ^ Particularité ^ 
-''netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow''</note>+| ''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 
 +<code powershell> 
 +netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow 
 +</code>
  
 ===== 4. Découverte réseau ===== ===== 4. Découverte réseau =====
-**Identifier les hôtes actifs et le contrôleur de domaine**+ 
 +**Ping scan — identification des hôtes actifs**
 <code bash> <code bash>
-nmap -sn 192.168.1.0/24                    # Ping scan pour identifier les machines sur le sous-réseau +nmap -sn 192.168.1.0/24
-nmap -sV -p 88,389,445,3268 192.168.1.229  # Vérification des ports caractéristiques de l'AD sur la cible+
 </code> </code>
  
-**Ports caractéristiques d'un Domain Controller :** +Résultat obtenu : 
-^ Port ^ Service Intérêt +<code> 
-88 Kerberos Confirme la présence d'un DC +Starting Nmap 7.95 at 2026-03-11 21:49 CET 
-| 389 | LDAP | Interrogation de l'annuaire | +Host is up (0.012s latency). 
-| 445 | SMB | Partages, authentification NTLM | +MAC Address: 08:00:27:E1:70:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC) 
-| 636 | LDAPS | LDAP chiffré +Nmap done: 256 IP addresses (1 host up) scanned in 1.99 seconds 
-| 3268 | Global Catalog | Recherche multi-domaines |+</code> 
 + 
 +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** 
 +<code bash> 
 +nmap -sV -p 88,389,445,3268 192.168.1.229 
 +</code> 
 + 
 +Résultat obtenu : 
 +<code> 
 +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 
 +</code> 
 + 
 +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 |
  
 ===== 5. Enumération LDAP ===== ===== 5. Enumération LDAP =====
 +
 **Avec un compte du domaine** **Avec un compte du domaine**
 <code bash> <code bash>
Ligne 91: Ligne 135:
 </code> </code>
  
-**Avec ldapdomaindump (résultats en HTML/JSON)** +Détail de la commande : 
-<code bash> +  ''-x'' — authentification simple (login/mot de passe) 
-ldapdomaindump -"lab.local\jdupont" -"Password123" 192.168.1.229+  ''-H ldap://192.168.1.229'' — adresse du serveur LDAP 
 +  * ''-"jdupont@lab.local"'' — compte utilisé pour s'authentifier 
 +  * ''-"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 utilisateur 
 +  * ''cn sAMAccountName'' — attributs à récupérer : nom complet et login Windows 
 + 
 +**Spécificité Windows Server 2025 — LDAP Signing** 
 + 
 +Par défaut, Windows Server 2025 impose la signature des requêtes LDAPLes requêtes non chiffrées sont rejetées avec l'erreur suivante : 
 + 
 +<code> 
 +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
 </code> </code>
  
-<note warning>**Spécificité de sécurité liée à Windows Server 2025** +Pour reproduire un environnement de lab classique, désactiver cette exigence via la GPO ''Default Domain Controllers Policy''
-Par défaut, Windows Server 2025 impose l'intégrité et la signature des requêtes LDAP (''LDAP server signing requirements Enforcement''). Les requêtes non chiffrées en "Simple Bind" (comme celles effectuées par défaut par ''ldapsearch'' ou ''ldapdomaindump'') sont rejetées avec une erreur exigeant le SSL/TLS. +  * Chemin : ''Paramètres de sécurité → Stratégies locales → Options de sécurité'' 
-Pour reproduire un environnement de CTF classique et permettre l'énumération non chiffréeil est nécessaire de modifier la GPO ''Default Domain Controllers Policy''+  * Paramètre : ''Contrôleur de domaine : conditions requises pour la signature de serveur LDAP'' → **Aucun** 
-  * Chemin : ''Paramètres de sécurité -> Stratégies locales -> Options de sécurité'' + 
-  * Paramètre : ''Contrôleur de domaine : conditions requises pour la signature de serveur LDAP'' défini sur **Aucun**. +Appliquer ensuite sur le DC : 
-Appliquer ensuite avec ''gpupdate /force''. +<code powershell> 
-</note>+gpupdate /force 
 +</code>
  
 ===== 6. Suite de l'énumération (En cours d'élaboration...) ===== ===== 6. Suite de l'énumération (En cours d'élaboration...) =====
-//(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)// 
  
- --- //[[ewengadonnaud.pro@tutamail.com|Ewen]] 2026/03/11//+//(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)//
cyber/ad/reconnaissance.1773264897.txt.gz · Dernière modification : de ewen