IAMinerva
AccueilBlogA propos
m3Nouveautes M365coMicrosoft CopilotteMicrosoft TeamsshSharePoint & OneDriveinIntune & SecuriteexExchange & OutlookpoPower PlatformazAzure & Entra IDtuTutoriels & GuidesevEvenements & ConferencesseSecuritewiWindows
IAMinerva

Blog professionnel dedie a l'ecosysteme Microsoft 365.

Liens rapides

AccueilBlogA proposNewsletter

Restez informe

Recevez les dernieres actualites Microsoft 365 directement dans votre boite mail.

© 2026 IAMinerva. Tous droits reserves.

Construit avecNext.js&Tailwind
Sécurisation des Property Sets Active Directory : Guide technique complet
BlogTutoriels & GuidesSécurisation des Property Sets Active Directory : Guide technique complet
Tutoriels & Guides#Active Directory#Security#Property Sets

Sécurisation des Property Sets Active Directory : Guide technique complet

Guide technique complet pour sécuriser les Property Sets Active Directory et prévenir les modifications d'attributs non autorisées par les utilisateurs.

Houssem MAKHLOUF
16 février 2026
7 mars 2026
6 min de lecture

TL;DR par Minerva

généré par IA

Guide technique complet pour sécuriser les Property Sets Active Directory et prévenir les modifications d'attributs non autorisées par les utilisateurs.

Introduction aux vulnérabilités des Property Sets Active Directory

Active Directory constitue l'épine dorsale de la gestion des identités dans les environnements Windows d'entreprise. Cependant, une fonctionnalité méconnue expose potentiellement votre organisation à des risques de sécurité significatifs : la capacité native des utilisateurs à modifier certains attributs de leur propre compte.

!

Risque de sécurité

Par défaut, tout utilisateur authentifié peut modifier plus de 70 attributs de son compte AD via le Property Set "Personal-Information". Cette capacité peut compromettre la gouvernance des identités et les mécanismes d'autorisation basés sur ces attributs.

Cette configuration par défaut représente un angle mort dans la sécurité AD, particulièrement problématique dans les architectures hybrides avec synchronisation vers Microsoft Entra ID et les environnements utilisant des groupes dynamiques.

Architecture des Property Sets dans Active Directory

Mécanisme technique des Property Sets

Les Property Sets constituent des regroupements logiques d'attributs d'objets AD. Chaque attribut peut appartenir à zéro ou un Property Set, cette appartenance étant définie par l'attribut attributeSecurityGUID qui correspond au rightsGUID du Property Set.

⚡PowerShell
1# Enumération des Property Sets disponibles
2Get-ADObject -SearchBase "CN=Extended-Rights,CN=Configuration,DC=domain,DC=com" -Filter {objectClass -eq "controlAccessRight"} | Select-Object Name, DisplayName, rightsGuid

Le Property Set Personal-Information présente une ACE (Access Control Entry) spécifique accordant des droits d'écriture à l'autorité SELF, permettant ainsi à tout utilisateur authentifié de modifier ses propres attributs appartenant à ce regroupement.

Analyse des permissions SELF

⚡PowerShell
1# Vérification des permissions SELF sur un utilisateur
2$UserDN = "CN=user,OU=Users,DC=domain,DC=com"
3$ACL = Get-ACL "AD:$UserDN"
4$ACL.Access | Where-Object {$_.IdentityReference -match "SELF" -and $_.ActiveDirectoryRights -match "WriteProperty"}
i

Outils d'exploitation

Les utilisateurs peuvent exploiter cette fonctionnalité via de nombreux outils : PowerShell, Apache Directory Studio, ADExplorer, ou même l'outil intégré Windows rundll32.exe dsquery,OpenQueryWindow.

Inventaire technique des attributs exposés

Script d'énumération PowerShell

Pour identifier précisément les attributs concernés dans votre environnement :

⚡PowerShell
1function Get-ADPropertySet {
2 param(
3 [Parameter(Mandatory=$true)]
4 [string]$PropertySetName
5 )
6
7 $ConfigContext = (Get-ADRootDSE).configurationNamingContext
8 $PropertySet = Get-ADObject -SearchBase "CN=Extended-Rights,$ConfigContext" -Filter {Name -eq $PropertySetName}
9
10 if ($PropertySet) {
11 $Attributes = Get-ADObject -SearchBase "CN=Schema,$ConfigContext" -Filter {attributeSecurityGUID -eq $PropertySet.rightsGuid} -Properties lDAPDisplayName,attributeSecurityGUID
12 return $Attributes | Select-Object lDAPDisplayName, attributeSecurityGUID
13 }
14}
15
16# Utilisation
17Get-ADPropertySet -PropertySetName "Personal-Information"

Attributs critiques selon la version AD

Version ADNombre d'attributsAttributs critiques ajoutés
2008 R2~45Attributs de base (téléphone, adresse)
2012/2012 R2~65msDS-cloudExtensionAttribute1-20, msDS-GeoCoordinates*
2016-2025~70msDS-ExternalDirectoryObjectId
2016-2025 + Exchange~71publicDelegates

Les attributs les plus sensibles incluent :

  • msDS-cloudExtensionAttribute1 à msDS-cloudExtensionAttribute20 : Utilisés pour la synchronisation hybride
  • streetAddress, l (city), c (country), st : Informations géographiques
  • physicalDeliveryOfficeName : Localisation physique
  • msDS-ExternalDirectoryObjectId : Identifiant de synchronisation Entra ID

Impacts sur la gouvernance des identités

Scénarios d'exploitation

1

Reconnaissance des groupes dynamiques Exchange

Un utilisateur malveillant peut identifier les critères des groupes de distribution dynamiques :

⚡PowerShell
1Connect-ExchangeOnline
2Get-DynamicDistributionGroupMember -Identity "Groupe-Sensible" | Get-User | Select-Object DisplayName, City, Department
2

Modification d'attributs pour infiltration

Après identification des critères, l'utilisateur peut modifier ses attributs pour rejoindre le groupe :

⚡PowerShell
1# Via ADSI Edit ou PowerShell avec des droits utilisateur standard
2Set-ADUser -Identity $env:USERNAME -City "Paris" -Department "Finance"
3

Escalade de privilèges

L'appartenance au groupe dynamique peut octroyer des accès supplémentaires aux ressources sensibles.

Reconnaissance via Azure Hound

Pour les environnements hybrides, les attaquants peuvent utiliser Azure Hound pour cartographier les groupes dynamiques Entra ID :

>_Bash
1# Énumération des groupes dynamiques
2./azurehound.exe list -u "user@domain.com" -p "password" -t "tenant.onmicrosoft.com" -o tenant.json
3
4# Extraction des règles d'appartenance
5jq '.data[] | select(.kind == "AZGroup" and .data.membershipRule != null) | .data.displayName, .data.membershipRule' tenant.json
×

Impact critique

Cette technique permet l'identification des critères d'appartenance aux groupes sensibles sans privilèges administratifs, facilitant les attaques d'escalade de privilèges.

Stratégies de mitigation technique

Méthode 1 : Restriction des accès PowerShell Exchange

⚡PowerShell
1# Création d'une politique de restriction Exchange PowerShell
2New-RoleAssignmentPolicy -Name "RestrictedUsers" -IsDefault:$false
3Set-RoleAssignmentPolicy -Identity "Default Role Assignment Policy" -Roles @()
4
5# Application aux utilisateurs non-administrateurs
6Get-User -Filter {IsInRoles -eq $false} | Set-User -RoleAssignmentPolicy "RestrictedUsers"

Méthode 2 : Suppression d'attributs du Property Set

!

Précaution critique

La modification du schéma AD est irréversible. Testez impérativement en environnement de développement et assurez-vous de disposer de sauvegardes complètes.

Script de suppression sécurisée

⚡PowerShell
1function Remove-ADAttributeFromPropertySet {
2 [CmdletBinding(SupportsShouldProcess, ConfirmImpact='High')]
3 param(
4 [Parameter(Mandatory=$true)]
5 [string[]]$ADProperties,
6 [switch]$Simulation
7 )
8
9 $ConfigContext = (Get-ADRootDSE).configurationNamingContext
10 $SchemaContext = (Get-ADRootDSE).schemaNamingContext
11
12 foreach ($Property in $ADProperties) {
13 try {
14 $AttributeObject = Get-ADObject -SearchBase "CN=Schema,$ConfigContext" -Filter {lDAPDisplayName -eq $Property} -Properties attributeSecurityGUID
15
16 if ($AttributeObject.attributeSecurityGUID) {
17 if ($Simulation) {
18 Write-Host "[SIMULATION] Suppression de l'attribut $Property du Property Set" -ForegroundColor Yellow
19 } elseif ($PSCmdlet.ShouldProcess($Property, "Suppression du Property Set")) {
20 Set-ADObject -Identity $AttributeObject.DistinguishedName -Clear attributeSecurityGUID
21 Write-Host "Attribut $Property supprimé avec succès du Property Set" -ForegroundColor Green
22 }
23 } else {
24 Write-Warning "L'attribut $Property n'appartient à aucun Property Set"
25 }
26 } catch {
27 Write-Error "Erreur lors de la modification de l'attribut $Property : $($_.Exception.Message)"
28 }
29 }
30}

Suppression ciblée des attributs sensibles

1

Simulation préalable

⚡PowerShell
1# Test de suppression sans modification réelle
2$SensitiveAttributes = @(
3 "msDS-cloudExtensionAttribute1",
4 "msDS-cloudExtensionAttribute2",
5 "msDS-cloudExtensionAttribute3",
6 "streetAddress",
7 "l",
8 "physicalDeliveryOfficeName"
9)
10
11Remove-ADAttributeFromPropertySet -ADProperties $SensitiveAttributes -Simulation
2

Application des modifications

⚡PowerShell
1# Suppression effective après validation
2Remove-ADAttributeFromPropertySet -ADProperties $SensitiveAttributes -Confirm:$false
3

Vérification post-modification

⚡PowerShell
1# Contrôle de l'efficacité
2Get-ADPropertySet -PropertySetName "Personal-Information" | Where-Object {$_.AttributeLDAPDisplayName -in $SensitiveAttributes}

Attributs à préserver

✦

Recommandations de sécurité

Conservez ces attributs dans le Property Set Personal-Information car leur modification par les utilisateurs est fonctionnellement justifiée :

  • userCertificate : Requis pour l'authentification par certificat
  • msDS-FailedInteractiveLogonCount : Métadonnées de sécurité système
  • msDS-ExternalDirectoryObjectId : Critique pour la synchronisation hybride

Surveillance et détection

Audit des modifications d'attributs

⚡PowerShell
1# Configuration de l'audit des modifications d'objets
2auditpol /set /subcategory:"Directory Service Changes" /success:enable /failure:enable
3
4# Script de surveillance PowerShell
5Get-WinEvent -FilterHashtable @{LogName='Security'; ID=5136} |
6Where-Object {$_.Message -match "Personal-Information"} |
7Select-Object TimeCreated, @{Name='User';Expression={($_.Message -split '\r?\n' | Select-String 'Account Name:').ToString().Split(':')[1].Trim()}}, @{Name='Attribute';Expression={($_.Message -split '\r?\n' | Select-String 'Attribute:').ToString().Split(':')[1].Trim()}}

Monitoring via Microsoft Sentinel

🔍KQL
1// KQL pour détection des modifications suspectes
2SecurityEvent
3| where EventID == 5136
4| where EventData contains "Personal-Information"
5| extend User = extract(@"Account Name:\s*([^\r\n]+)", 1, EventData)
6| extend Attribute = extract(@"Attribute:\s*([^\r\n]+)", 1, EventData)
7| extend ObjectDN = extract(@"Object DN:\s*([^\r\n]+)", 1, EventData)
8| where User !in ("SYSTEM", "NETWORK SERVICE")
9| summarize Count = count() by User, Attribute, bin(TimeGenerated, 1h)
10| where Count > 10 // Seuil de détection

Conclusion et recommandations architecturales

La sécurisation des Property Sets Active Directory nécessite une approche multicouche combinant :

  1. Audit technique complet de vos attributs sensibles
  2. Suppression ciblée des attributs critiques du Property Set Personal-Information
  3. Surveillance continue des modifications d'attributs
  4. Révision des groupes dynamiques basés sur des attributs modifiables
✦

Approche DevSecOps

Intégrez ces contrôles dans vos pipelines d'infrastructure as code (Terraform, Bicep) pour maintenir la cohérence de sécurité across environments.

Cette vulnérabilité, bien que peu documentée, représente un vecteur d'attaque significatif dans les environnements hybrides modernes. Sa mitigation proactive renforce considérablement la posture de sécurité de votre infrastructure Microsoft 365.

Partager:
HM

Houssem MAKHLOUF

Microsoft 365 enthusiast & IT professional.

Article précédent

Actions de périphérique Intune : Microsoft restaure l'exécution instantanée des actions distantes

15 févr. 2026
Article suivant

Déploiement d'entreprise des Passkeys FIDO2 dans Microsoft Entra ID : stratégie, architecture et écueils

18 févr. 2026

Articles similaires

Engrenage doré sur fond sombre avec des lignes abstraites.copilot

Copilot : Automatisation et routines avec Microsoft 365

Apprenez à configurer des routines automatisées avec Microsoft Copilot pour améliorer la productivité et sécuriser votre environnement M365 et Azure.

29 juin 20265 min
Cadenas stylisé avec des éléments graphiques abstraits et du texte sur la sécurité.securite

Nouveau modele d'adoption de la securite Microsoft 365

Découvrez le guide d'adoption de securite Microsoft 365 base sur les principes Zero Trust : approches modulaires et strategies modernes.

29 juin 20264 min
Main d'homme interagissant avec une interface numérique lumineuse et dynamique.copilot

Agents : Transformation du travail avec l'IA dans Microsoft 365

Les agents intelligents redéfinissent le travail dans Microsoft 365 en automatisant des tâches complexes et étendues. Découvrez leur impact et adoption.

28 juin 20264 min