Mise à jour du 20/03/2024 – Ajout de références LDS
Résumé
CVE-2021-42291 concerne une vulnérabilité de contournement de la sécurité qui permet à certains utilisateurs de définir des valeurs arbitraires sur les attributs de sécurité d’objets spécifiques stockés dans Active Directory (AD) ou Lightweight Directory Service (LDS). Pour exploiter cette vulnérabilité, un utilisateur doit disposer de privilèges suffisants pour créer un objet dérivé de l'ordinateur, tel qu'un utilisateur disposant des autorisations CreateChild pour les objets informatiques. Cet utilisateur pourrait créer un compte d’ordinateur à l’aide d’un appel d’ajout (Add) LDAP (Lightweight Directory Access Protocol) qui autorise un accès trop permissif à l’attribut securityDescriptor. En outre, les créateurs et les propriétaires peuvent modifier des attributs de sécurité après la création d’un compte. Cela peut être exploité pour réaliser une élévation de privilèges dans certains scénarios.
Remarque LDS consignera les événements 3050, 3053, 3051 et 3054 sur l’état de l’accès implicite aux objets, tout comme AD.
Les atténuations dans l’avis CVE-2021-42291 sont les suivantes :
-
Vérification supplémentaire de l'autorisation lorsque des utilisateurs sans droits d'administrateur de domaine ou de LDS tentent une opération d'ajout LDAP pour un objet dérivé d'un ordinateur. Il s’agit notamment d’un mode d’audit par défaut (Audit-By-Default) qui effectue un audit de ces tentatives sans perturber la requête, ainsi que d’un mode de mise en conformité qui bloque ces tentatives.
-
Suppression temporaire des privilèges de propriétaire implicite quand des utilisateurs sans droits d’administrateur de domaine essaient d’effectuer une opération de modification (Modify) LDAP sur l’attribut securityDescriptor. Une vérification a lieu pour vérifier si l’utilisateur est autorisé à écrire le descripteur de sécurité sans privilèges de propriétaire implicite. Ici aussi, il s’agit notamment d’un mode d’audit par défaut (Audit-By-Default) qui effectue un audit de ces tentatives sans perturber la requête, ainsi que d’un mode de mise en conformité qui bloque ces tentatives.
Procédure à suivre
Pour protéger votre environnement et éviter les pannes, effectuez les étapes ci-dessous :
-
Mettez à jour tous les périphériques qui hébergent le contrôleur de domaine Active Directory ou le rôle de serveur LDS en installant les dernières mises à jour de Windows. Les contrôleurs de domaine qui ont les mises à jour du 9 novembre 2021 ou ultérieures auront les modifications en mode Audit par défaut.
-
Surveillez le journal des événements du service d'annuaire ou du LDS pour les événements 3044-3056 sur les contrôleurs de domaine et les serveurs LDS qui ont les mises à jour Windows du 9 novembre 2021 ou plus récentes. Les événements consignés indiquent qu’un utilisateur peut avoir des privilèges excessifs pour créer des comptes d’ordinateur avec des attributs de sécurité arbitraires. Signalez à Microsoft tout scénario inattendu à l’aide d’un cas de support Premier ou unifié ou du hub de commentaires. (Vous trouverez un exemple de ces événements à la section Nouveaux événements ajoutés.)
-
Si le mode Audit ne détecte aucun privilège inattendu pendant une durée suffisante, basculez en mode de mise en conformité pour vous assurer qu’aucun résultat négatif ne se produit. Signalez à Microsoft tout scénario inattendu à l’aide d’un cas de support Premier ou unifié ou du hub de commentaires.
Calendrier des mises à jour Windows
Ces mises à jour Windows seront publiées en deux phases :
-
Déploiement initial : introduction de la mise à jour, y compris les modes d’audit par défaut (Audit-By-Default), de mise en conformité ou de désactivation configurables à l’aide de l’attribut dSHeuristics.
-
Déploiement final : application par défaut.
9 novembre 2021 : phase de déploiement initial
La phase de déploiement initial commence par la mise à jour Windows publiée le 9 novembre 2021. Cette publication ajoute l’audit des autorisations définies par les utilisateurs sans droits d’administrateur de domaine lors de la création ou de la modification d’un ordinateur ou d’objets dérivés d’un ordinateur. Elle ajoute également des modes de mise en conformité et de désactivation. Vous pouvez définir le mode globalement pour chaque forêt Active Directory à l’aide de l’attribut dSHeuristics.
(Mise à jour du 15/12/2023) Phase de déploiement finale
La phase de déploiement finale peut commencer une fois que vous avez effectué les étapes répertoriées dans la section Agir. Pour passer au mode de mise en conformité, suivez les instructions de la section Guide de déploiement pour définir les 28e et 29e bits sur l’attribut dSHeuristics . Ensuite, surveillez les événements 3044-3046. Ils signalent que le mode de mise en conformité a bloqué une opération LDAP Ajouter ou Modifier qui pourrait avoir été précédemment autorisée en mode Audit.
Instructions de déploiement
Informations sur la configuration du paramètre
Après l’installation de CVE-2021-42291, les caractères 28 et 29 de l’attribut dSHeuristics déterminent le comportement de la mise à jour. L’attribut dSHeuristics existe dans chaque forêt Active Directory et contient des paramètres pour la forêt entière. L’attribut dSHeuristics est un attribut de l’objet « CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<Domain> » (AD) ou « CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<configuration set> » (LDS). Pour en savoir plus, consultez les articles 6.1.1.2.4.1.2 dSHeuristics et Attribut DS-Heuristics.
Caractère 28 - Vérifications AuthZ supplémentaires pour les opérations d’ajout LDAP
0 : active le mode d’audit par défaut. Un événement est consigné quand des utilisateurs sans droits d’administrateur de domaine définissent l’attribut securityDescriptor ou un autre attribut sur des valeurs pouvant accorder des autorisations excessives, ce qui peut permettre une exploitation ultérieure, sur de nouveaux objets AD dérivés d’un ordinateur.
1 : active le mode de mise en conformité. Ce paramètre empêche les utilisateurs sans droits d’administrateur de domaine de définir l’attribut securityDescriptor ou un autre attribut sur des valeurs pouvant accorder des autorisations excessives sur les objets AD dérivés d’un ordinateur. Un événement est également consigné quand cela se produit.
2 : désactive l’audit mis à jour sans appliquer la sécurité ajoutée. Paramètre non recommandé.
Exemple : si aucun autre paramètre dSHeuristics n’est activé dans votre forêt et que vous voulez passer en mode de mise en conformité pour la vérification AuthZ supplémentaire, l’attribut dSHeuristics doit être défini sur la valeur suivante :
« 0000000001000000000200000001 »
Les caractères définis dans ce cas sont :
10ème caractère : doit être défini sur 1 si l’attribut dSHeuristics comporte au moins 10 caractères
20ème caractère : doit être défini sur 2 si l’attribut dSHeuristics comporte au moins 20 caractères
28ème caractère : doit être défini sur 1 pour activer le mode de mise en conformité pour la vérification AuthZ supplémentaire
Caractère 29 - Suppression temporaire d’un propriétaire implicite pour les opérations de modification LDAP
0 : active le mode d’audit par défaut. Un événement est consigné quand des utilisateurs sans droits d’administrateur de domaine définissent l’attribut securityDescriptor sur des valeurs pouvant accorder des autorisations excessives, ce qui peut permettre une exploitation ultérieure, sur des objets AD existants dérivés d’un ordinateur.
1 : active le mode de mise en conformité. Ce paramètre empêche les utilisateurs sans droits d’administrateur de domaine de définir l’attribut securityDescriptor sur des valeurs pouvant accorder des autorisations excessives sur les objets AD existants dérivés d’un ordinateur. Un événement est également consigné quand cela se produit.
2 : désactive l’audit mis à jour sans appliquer la sécurité ajoutée. Paramètre non recommandé.
Exemple : si seul l’indicateur dSHeuristics des vérifications AuthZ supplémentaires est défini dans votre forêt et que vous voulez passer en mode de mise en conformité pour la suppression de propriété implicite temporaire, l’attribut dSHeuristics doit être défini sur la valeur suivante :
« 00000000010000000002000000011 »
Les caractères définis dans ce cas sont :
10ème caractère : doit être défini sur 1 si l’attribut dSHeuristics comporte au moins 10 caractères
20ème caractère : doit être défini sur 2 si l’attribut dSHeuristics comporte au moins 20 caractères
28ème caractère : doit être défini sur 1 pour activer le mode de mise en conformité pour la vérification AuthZ supplémentaire
29ème caractère : doit être défini sur 1 pour activer le mode de mise en conformité pour la suppression temporaire de la propriété implicite
Nouveaux événements ajoutés
La mise à jour Windows du 9 novembre 2021 ajoute également de nouveaux journaux des événements.
Événements de changement de mode - Vérification AuthZ supplémentaire pour les opérations d’ajout LDAP
Événements qui se produisent quand le bit 28 de l’attribut dSHeuristics est modifié, ce qui change le mode des vérifications AuthZ supplémentaires pour la partie des opérations d’ajout LDAP de la mise à jour.
Journal des événements |
Services d’annuaire |
Type d’événement |
Information |
ID d’événement |
3050 |
Texte de l’événement |
L’annuaire a été configuré pour appliquer l’autorisation par attribut pendant les opérations d’ajout LDAP. Il s’agit du paramètre le plus sécurisé, et aucune action supplémentaire n’est requise. |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3051 |
Texte de l’événement |
L’annuaire a été configuré pour ne pas appliquer l’autorisation par attribut pendant les opérations d’ajout LDAP. Les événements d’avertissement sont consignés, mais aucune requête n’est bloquée. Ce paramètre n’est pas sécurisé et ne doit servir qu’à des fins de dépannage temporaire. Consultez les atténuations suggérées dans le lien ci-dessous. |
Journal des événements |
Services d’annuaire |
Type d’événement |
Error |
ID d’événement |
3052 |
Texte de l’événement |
L’annuaire a été configuré pour ne pas appliquer l’autorisation par attribut pendant les opérations d’ajout LDAP. Aucun événement n’est consigné et aucune requête n’est bloquée. Ce paramètre n’est pas sécurisé et ne doit servir qu’à des fins de dépannage temporaire. Consultez les atténuations suggérées dans le lien ci-dessous. |
Événements de changement de mode - Suppression temporaire des droits de propriétaire implicite
Événements qui se produisent quand le bit 29 de l’attribut dSHeuristics est modifié, ce qui change le mode de suppression temporaire de la partie des droits de propriétaire implicite de la mise à jour.
Journal des événements |
Services d’annuaire |
Type d’événement |
Information |
ID d’événement |
3053 |
Texte de l’événement |
L’annuaire a été configuré pour bloquer les privilèges de propriétaire implicite lors de la définition initiale ou de la modification de l’attribut nTSecurityDescriptor pendant les opérations d’ajout et de modification LDAP. Il s’agit du paramètre le plus sécurisé, et aucune action supplémentaire n’est requise. |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3054 |
Texte de l’événement |
L’annuaire a été configuré pour autoriser les privilèges de propriétaire implicite lors de la définition initiale ou de la modification de l’attribut nTSecurityDescriptor pendant les opérations d’ajout et de modification LDAP. Les événements d’avertissement sont consignés, mais aucune requête n’est bloquée. Ce paramètre n’est pas sécurisé et ne doit servir qu’à des fins de dépannage temporaire. |
Journal des événements |
Services d’annuaire |
Type d’événement |
Error |
ID d’événement |
3055 |
Texte de l’événement |
L’annuaire a été configuré pour autoriser les privilèges de propriétaire implicite lors de la définition initiale ou de la modification de l’attribut nTSecurityDescriptor pendant les opérations d’ajout et de modification LDAP. Aucun événement n’est consigné et aucune requête n’est bloquée. Ce paramètre n’est pas sécurisé et ne doit servir qu’à des fins de dépannage temporaire. |
Événements du mode d’audit
Événements qui se produisent en mode d’audit pour consigner les problèmes de sécurité potentiels liés à une opération d’ajout ou de modification LDAP.
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3047 |
Texte de l’événement |
Le service d’annuaire a détecté une requête d’ajout LDAP pour l’objet suivant qui aurait normalement été bloquée pour les raisons de sécurité suivantes. Le client n’était pas autorisé à écrire un ou plusieurs attributs inclus dans la requête d’ajout, sur la base du descripteur de sécurité fusionné par défaut. Le traitement de la requête est autorisé, car l’annuaire est actuellement configuré pour être en mode d’audit uniquement pour cette vérification de sécurité. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> Descripteur de sécurité : <DS qui a été utilisé> |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3048 |
Texte de l’événement |
Le service d’annuaire a détecté une requête d’ajout LDAP pour l’objet suivant qui aurait normalement été bloquée pour les raisons de sécurité suivantes. Le client incluait un attribut nTSecurityDescriptor dans la requête d’ajout, mais ne disposait pas d’une autorisation explicite pour écrire une ou plusieurs parties du nouveau descripteur de sécurité, sur la base du descripteur de sécurité fusionné par défaut. Le traitement de la requête est autorisé, car l’annuaire est actuellement configuré pour être en mode d’audit uniquement pour cette vérification de sécurité. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3049 |
Texte de l’événement |
Le service d’annuaire a détecté une requête de modification LDAP pour l’objet suivant qui aurait normalement été bloquée pour les raisons de sécurité suivantes. Le client incluait un attribut nTSecurityDescriptor dans la requête d’ajout, mais ne disposait pas d’une autorisation explicite pour écrire une ou plusieurs parties du nouveau descripteur de sécurité, sur la base du descripteur de sécurité fusionné par défaut. Le traitement de la requête est autorisé, car l’annuaire est actuellement configuré pour être en mode d’audit uniquement pour cette vérification de sécurité. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3056 |
Texte de l’événement |
Le service d’annuaire a traité une requête pour l’attribut sdRightsEffective sur l’objet spécifié ci-dessous. Le masque d’accès renvoyé incluait WRITE_DAC, mais uniquement parce que l’annuaire a été configuré pour autoriser des privilèges de propriétaire implicite, ce qui n’est pas un paramètre sécurisé. Nom unique de l’objet : <nom unique de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> |
Mode de mise en conformité - Échecs d’opération d’ajout LDAP
Événements qui se produisent quand une opération d’ajout LDAP est refusée.
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3044 |
Texte de l’événement |
Le service d’annuaire a refusé une requête d’ajout LDAP pour l’objet suivant. La requête a été refusée, car le client n’était pas autorisé à écrire un ou plusieurs attributs inclus dans la requête d’ajout, sur la base du descripteur de sécurité fusionné par défaut. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> Descripteur de sécurité : <DS qui a été utilisé> |
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3045 |
Texte de l’événement |
Le service d’annuaire a refusé une requête d’ajout LDAP pour l’objet suivant. La requête a été refusée, car le client incluait un attribut nTSecurityDescriptor dans la requête d’ajout, mais ne disposait pas d’une autorisation explicite pour écrire une ou plusieurs parties du nouveau descripteur de sécurité, sur la base du descripteur de sécurité fusionné par défaut. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> |
Mode de mise en conformité - Échecs d’opération de modification LDAP
Événements qui se produisent quand une opération de modification LDAP est refusée.
Journal des événements |
Services d’annuaire |
Type d’événement |
Avertissement |
ID d’événement |
3046 |
Texte de l’événement |
Le service d’annuaire a refusé une requête de modification LDAP pour l’objet suivant. La requête a été refusée, car le client incluait un attribut nTSecurityDescriptor dans la requête de modification, mais ne disposait pas d’une autorisation explicite pour écrire une ou plusieurs parties du nouveau descripteur de sécurité, sur la base du descripteur de sécurité existant de l’objet. Nom unique de l’objet : <nom unique de l’objet créé> Classe d’objet : <objectClass de l’objet créé> Utilisateur : <utilisateur qui a essayé d’effectuer l’ajout LDAP> Adresse IP du client : <adresse IP du demandeur> |
Forum aux questions
Q1 Que se passe-t-il si j’ai un mélange de contrôleurs de domaine Active Directory qui sont mis à jour et non mis à jour ?
R1 Les contrôleurs de domaine qui ne sont pas mis à jour ne consignent pas les événements liés à cette vulnérabilité.
Q2 Que faire pour les contrôleurs de domaine en lecture seule (RODC) ?
R2 Aucune action n’est nécessaire. Les opérations d’ajout et de modification LDAP ne peuvent pas cibler les contrôleurs de domaine en lecture seule.
Q3 Mon produit ou processus tiers échoue après l’activation du mode de mise en conformité. Dois-je octroyer des droits d’administrateur de domaine au service ou à l’utilisateur ?
R3 Il n’est généralement pas recommandé d’ajouter un service ou un utilisateur au groupe Administrateurs de domaine comme première solution à ce problème. Consultez les journaux des événements pour déterminer l’autorisation requise et envisagez de déléguer des droits limités appropriés à cet utilisateur sur une unité organisationnelle distincte désignée à cet effet.
Au T4, je vois également les événements d’audit pour les serveurs LDS. À quoi est dû ce problème ?
A4 Tous les éléments ci-dessus s’appliquent également à AD LDS, bien qu’il soit très inhabituel d’avoir des objets d’ordinateur dans LDS. Les étapes d’atténuation doivent également être prises pour activer la protection des AD LDS lorsque le mode Audit ne détecte pas de privilèges inattendus.