MachineAccountQuota : pourquoi tout utilisateur peut joindre des machines au domaine, et comment l'empêcher
L'attribut ms-DS-MachineAccountQuota est l'un des paramètres par défaut les plus méconnus d'Active Directory. Il permet à n'importe quel utilisateur du domaine de créer des comptes d'ordinateur sans aucune délégation. Pour un attaquant, obtenir un compte machine qu'il contrôle est une étape clé de plusieurs techniques d'élévation de privilèges.
Un réglage par défaut hérité
L'attribut ms-DS-MachineAccountQuota est porté par l'objet racine du domaine. Sa valeur par défaut est 10 : chaque utilisateur peut créer jusqu'à dix comptes d'ordinateur. Ce comportement s'appuie sur le droit utilisateur « Ajouter des stations de travail au domaine », accordé par défaut aux Utilisateurs authentifiés dans la stratégie des contrôleurs de domaine.
L'objectif historique était de permettre aux utilisateurs de joindre eux-mêmes leur poste. Dans une organisation où les postes sont préparés par l'équipe informatique ou via un outil de déploiement, ce besoin n'existe plus. Le compte créateur est enregistré dans l'attribut ms-DS-CreatorSID du nouvel objet, ce qui permet de retrouver les créations faites par des utilisateurs ordinaires.
Pourquoi un compte machine intéresse un attaquant
Un compte d'ordinateur créé par un attaquant lui donne une identité de domaine dont il connaît le mot de passe et qui dispose d'un nom de principal de service. Plusieurs techniques exploitent précisément cette situation :
- Délégation contrainte basée sur les ressources (RBCD). Si l'attaquant peut écrire l'attribut
msDS-AllowedToActOnBehalfOfOtherIdentityd'un serveur, il y inscrit son compte machine et peut ensuite obtenir des tickets Kerberos au nom d'autres utilisateurs pour ce serveur. - Relais NTLM vers LDAP. Une authentification relayée vers un contrôleur de domaine sans signature ni liaison de canal peut servir à créer un compte machine ou à modifier des attributs de délégation.
- Usurpation de nom de compte. Des vulnérabilités corrigées en 2021 combinaient la création d'un compte machine et la manipulation de son nom pour obtenir un ticket d'administrateur. Les correctifs existent, mais le quota par défaut élargissait considérablement la surface d'attaque.
Dans chacun de ces cas, supprimer la capacité de créer librement des comptes machines coupe une étape du chemin d'attaque.
Passer le quota à zéro
La correction consiste à définir ms-DS-MachineAccountQuota à 0 sur l'objet domaine. Ce changement n'affecte ni les administrateurs du domaine, ni les comptes disposant d'une délégation explicite de création d'objets ordinateur sur une OU : le quota ne s'applique qu'aux créations reposant sur le droit « Ajouter des stations de travail au domaine ».
Avant de modifier la valeur, identifiez les processus qui en dépendent sans le savoir : techniciens joignant des postes avec leur compte personnel, outils de déploiement utilisant un compte de service non délégué, appliances ou solutions tierces qui s'enregistrent dans le domaine. L'examen de ms-DS-CreatorSID sur les comptes d'ordinateur existants donne une bonne image de ces usages.
Compléter par le droit utilisateur. En plus du quota, retirez les Utilisateurs authentifiés du droit « Ajouter des stations de travail au domaine » dans la stratégie des contrôleurs de domaine et réservez-le à un groupe dédié, si votre processus le permet.
Déléguer proprement la jonction au domaine
Une fois le quota à zéro, la jonction doit reposer sur une délégation maîtrisée :
- créez un groupe dédié, par exemple pour l'équipe de déploiement des postes ;
- déléguez à ce groupe la création et la suppression d'objets ordinateur uniquement sur l'OU de destination des postes ;
- pour les serveurs, préférez le pré-provisionnement des comptes d'ordinateur par les administrateurs du niveau concerné ;
- réservez un compte de service distinct à l'outil de déploiement, avec la même délégation limitée.
Les durcissements de la jonction au domaine publiés par Microsoft depuis 2022 limitent la réutilisation d'un compte d'ordinateur existant par un autre compte que son créateur. Consultez la documentation Microsoft à jour pour adapter vos procédures de réinstallation.
Ce qu'un audit vérifie
- la valeur de
ms-DS-MachineAccountQuotasur chaque domaine de la forêt ; - les titulaires du droit « Ajouter des stations de travail au domaine » ;
- les comptes d'ordinateur dont le créateur est un utilisateur ordinaire ;
- les délégations de création d'objets ordinateur, leur périmètre et leurs bénéficiaires ;
- la configuration de la signature LDAP et de la liaison de canal sur les contrôleurs de domaine.