Durcir l'UAC et Windows Administrator protection
Bien configurer l'UAC : Admin Approval Mode, bureau sécurisé, FilterAdministratorToken, UAC distant pour les comptes locaux et Administrator protection de Windows 11.
Le contrôle de compte d'utilisateur (UAC) scinde la session d'un administrateur en deux jetons : un jeton filtré d'utilisateur standard, utilisé par défaut pour tout, et un jeton d'administrateur complet, utilisé uniquement après une invite d'élévation. Bien configuré, il garantit qu'un malware exécuté dans la session d'un administrateur démarre quand même sans droits d'administration : il doit alors soit amener l'utilisateur à approuver une invite, soit utiliser un contournement.
L'UAC est aussi plus souvent mal configuré qu'on ne le pense. Des scripts de masterisation désactivent les invites, des éditeurs demandent LocalAccountTokenFilterPolicy = 1, et le compte Administrateur intégré s'exécute discrètement avec un jeton complet partout. Ce guide couvre les paramètres qui comptent, ce que fixe le référentiel de sécurité Microsoft et le nouveau modèle Administrator protection de Windows 11. Il suppose que vous travaillez déjà à retirer les droits d'admin local aux utilisateurs du quotidien : l'UAC est la deuxième ligne de défense pour ceux qui les conservent.
Comment les éléments s'articulent
| Mécanisme | Ce contre quoi il protège |
|---|---|
| Admin Approval Mode | Du code exécuté dans une session admin avec le jeton complet par défaut |
| Bureau sécurisé | Un malware qui usurpe ou clique automatiquement sur l'invite d'élévation |
| FilterAdministratorToken | L'Administrateur intégré (RID 500) qui contourne tout ce qui précède |
| UAC distant (LocalAccountTokenFilterPolicy) | Des comptes locaux utilisés par le réseau pour le mouvement latéral |
| Administrator protection | Les contournements de l'UAC qui exploitent la session et le profil partagés entre jetons filtré et élevé |
Tous les paramètres classiques se trouvent dans Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options, sous des noms commençant par User Account Control:. Ils écrivent dans HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
Étape 1 : vérifier l'état actuel
Lisez directement le registre, car les résultats de GPO ne disent pas ce qu'un script de masterisation ou l'installeur d'un éditeur a défini localement :
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" |
Select-Object EnableLUA, ConsentPromptBehaviorAdmin, ConsentPromptBehaviorUser,
PromptOnSecureDesktop, FilterAdministratorToken, EnableInstallerDetection,
EnableSecureUIAPaths, EnableVirtualization, LocalAccountTokenFilterPolicyEnableLUA = 0 signifie que l'UAC est entièrement désactivé : chaque administrateur s'exécute avec un jeton complet, et les applications modernes peuvent cesser de fonctionner. Traitez-le comme un constat de niveau incident sur n'importe quel client ou serveur.
Étape 2 : définir les stratégies UAC essentielles
Voici les valeurs du référentiel de sécurité Microsoft pour Windows 11 et Windows Server, avec des remarques là où vous pouvez aller plus loin :
| Paramètre | Valeur de registre | Recommandé |
|---|---|---|
| Run all administrators in Admin Approval Mode | EnableLUA | Enabled (1) |
| Admin Approval Mode for the Built-in Administrator account | FilterAdministratorToken | Enabled (1) |
| Behavior of the elevation prompt for administrators in Admin Approval Mode | ConsentPromptBehaviorAdmin | Prompt for consent on the secure desktop (2), ou Prompt for credentials on the secure desktop (1) sur les postes d'administration |
| Behavior of the elevation prompt for standard users | ConsentPromptBehaviorUser | Automatically deny elevation requests (0) |
| Switch to the secure desktop when prompting for elevation | PromptOnSecureDesktop | Enabled (1) |
| Detect application installations and prompt for elevation | EnableInstallerDetection | Enabled (1) |
| Only elevate UIAccess applications that are installed in secure locations | EnableSecureUIAPaths | Enabled (1) |
| Allow UIAccess applications to prompt for elevation without using the secure desktop | EnableUIADesktopToggle | Disabled (0) |
| Virtualize file and registry write failures to per-user locations | EnableVirtualization | Enabled (1) |
Quelques remarques sur ces choix :
- La valeur Windows par défaut pour les administrateurs est Prompt for consent for non-Windows binaries (
5), qui élève automatiquement et silencieusement de nombreux binaires Windows signés. Cette liste d'auto-élévation est précisément ce qu'exploitent la plupart des techniques de contournement de l'UAC. La valeur2fait afficher une invite pour chaque élévation. - Automatically deny pour les utilisateurs standard supprime l'invite d'identifiants que le support utilise pour saisir un mot de passe d'administrateur sur l'appareil d'un utilisateur. Si votre procédure de support en dépend, utilisez plutôt Prompt for credentials on the secure desktop (
1), et assurez-vous que l'identifiant saisi est un mot de passe LAPS, pas un compte d'administrateur du domaine. - Modifier
EnableLUAnécessite un redémarrage. Les paramètres de comportement de l'invite prennent effet immédiatement.
Dans Intune, les mêmes paramètres sont exposés dans le catalogue de paramètres sous Local Policies Security Options (le CSP de stratégie LocalPoliciesSecurityOptions), avec des noms comme User Account Control Behavior Of The Elevation Prompt For Administrators.
Étape 3 : filtrer l'Administrateur intégré
Par défaut, le compte Administrateur intégré (RID 500) est exempté de l'Admin Approval Mode : il s'exécute toujours avec un jeton complet et échappe aussi au filtrage de l'UAC distant. C'est donc le compte local le plus précieux pour un attaquant qui détient son empreinte.
Activer Admin Approval Mode for the Built-in Administrator account (FilterAdministratorToken = 1) le soumet à l'UAC comme n'importe quel autre administrateur, ainsi qu'à l'UAC distant : son empreinte ne permet alors plus d'obtenir un accès administratif complet par le réseau. Associez ce réglage à LAPS pour que le compte ait un mot de passe unique, et gardez-le désactivé ou réservé aux accès d'urgence.
Étape 4 : garder l'UAC distant actif pour les comptes locaux
Lorsqu'un compte local membre du groupe Administrators s'authentifie par le réseau (SMB, WMI, WinRM), l'UAC distant lui attribue un jeton filtré. Ce seul comportement stoppe une grande partie du mouvement latéral par pass-the-hash avec des comptes locaux.
Le contrôle est LocalAccountTokenFilterPolicy, sous la même clé de registre :
- Absent ou
0: jeton filtré pour les comptes locaux par le réseau (sécurisé). 1: jeton complet, UAC distant désactivé.
Le référentiel de sécurité Microsoft l'impose via Apply UAC restrictions to local accounts on network logons, disponible sous Computer Configuration > Policies > Administrative Templates > MS Security Guide après import du modèle SecGuide.admx du Security Compliance Toolkit. Réglez-le sur Enabled.
L'UAC distant ne s'applique pas aux comptes de domaine membres du groupe Administrators local : ils reçoivent un jeton complet par le réseau. C'est pourquoi les restrictions d'ouverture de session réseau du modèle en tiers restent importantes. Refusez aussi l'ouverture de session réseau au SID Local account and member of Administrators group (S-1-5-114), comme décrit dans le guide LAPS : cela bloque les admins locaux par le réseau quelle que soit cette valeur.
Étape 5 : évaluer Administrator protection
Administrator protection est un modèle plus récent de Windows 11, disponible en version finale sur 24H2 et 25H2 avec la mise à jour d'août 2026 KB5120998, et désactivé par défaut. Au lieu de conserver un jeton filtré et un jeton complet pour le même utilisateur dans la même session, Windows crée pour chaque administrateur un compte masqué, géré par le système et doté d'un profil séparé, et émet le jeton élevé depuis ce compte, juste à temps, après authentification de l'utilisateur avec Windows Hello. Le processus élevé dispose de son propre profil et de sa propre ruche de registre, et le jeton est détruit à la fin du processus. De nombreux contournements classiques de l'UAC reposent sur le fait que les jetons filtré et élevé partagent un profil, un environnement et une liste d'auto-élévation : ces hypothèses ne tiennent plus.
Lorsque la stratégie est disponible, elle se configure dans Security Options avec User Account Control: Configure type of Admin Approval Mode, réglé sur Admin Approval Mode with Administrator protection, et User Account Control: Behavior of the elevation prompt for administrators running with Administrator protection. Dans Intune, utilisez les paramètres UserAccountControl_TypeOfAdminApprovalMode et UserAccountControl_BehaviorOfTheElevationPromptForAdministratorProtection du CSP LocalPoliciesSecurityOptions. La modification nécessite un redémarrage.
Avant de planifier un déploiement :
- La fonctionnalité est prise en charge sur Windows 11 Famille, Professionnel, Entreprise et Éducation, mais pas sur Windows Server, les Cloud PC Windows 365 ni les hôtes de session Azure Virtual Desktop, et Microsoft la déconseille sur les appareils qui ont besoin d'Hyper-V.
- Testez soigneusement la compatibilité applicative. Les installeurs et outils qui s'attendent à ce que le processus élevé écrive dans le même profil utilisateur, les mêmes lecteurs mappés ou le même registre utilisateur que l'utilisateur non élevé peuvent se comporter différemment.
- Elle modifie aussi les ouvertures de session à distance : par défaut, lorsqu'elle est active, les utilisateurs de domaine membres du groupe Administrators local reçoivent un jeton non élevé par le réseau. Deux stratégies (Allow remote logon with elevated privileges for domain users... et ...for specified domain users and groups...) rétablissent les ouvertures de session à distance élevées : testez donc vos outils d'administration à distance. Le modèle en tiers, l'UAC distant et LAPS restent nécessaires.
Une bonne approche consiste à l'activer d'abord sur les appareils des équipes informatiques, où les administrateurs élèvent régulièrement leurs droits et peuvent signaler les dysfonctionnements, puis à l'étendre aux derniers utilisateurs qui conservent des droits d'admin local.
Ce qui casse
- Les installeurs et programmes de mise à jour anciens qui supposent s'exécuter avec élévation. Avec la détection des installations activée, ils affichent une invite ; avec le refus automatique pour les utilisateurs standard, ils échouent. Déployez-les depuis votre outil de gestion en contexte système.
- Les outils de gestion à distance qui se connectent avec un compte local via SMB ou WMI. L'UAC distant les bloque. Utilisez un compte de domaine du bon tier, ou un outil à agent.
- Les outils d'accessibilité et d'assistance à distance qui utilisent UIAccess et résident hors de
Program Files. Le paramètre des chemins UIAccess sécurisés les bloque jusqu'à ce qu'ils soient installés dans un emplacement sécurisé. - Les scripts qui utilisent l'Administrateur intégré en attendant un jeton complet. Avec
FilterAdministratorTokenactivé, ils doivent être explicitement exécutés avec élévation.
Vérifier
- État du registre. Relancez la requête de l'étape 1 sur un échantillon d'appareils et collectez-la sur tout le parc via un script de conformité. Signalez tout
EnableLUA = 0ouLocalAccountTokenFilterPolicy = 1. - Type de jeton. Activez Audit Process Creation et examinez l'événement Security 4688. Le champ Token Elevation Type affiche
%%1936(jeton complet, UAC désactivé ou exemption RID 500),%%1937(élevé) ou%%1938(limité). Un flux régulier de%%1936provenant de sessions interactives de comptes administrateurs signifie que l'UAC ne remplit pas son rôle (les utilisateurs standard n'ont pas de jeton scindé, leurs processus affichent donc normalement%%1936eux aussi). - Test de l'UAC distant. Depuis une autre machine, essayez d'accéder à
\\target\C$avec un compte admin local. L'accès doit être refusé. - Surveillance des altérations. Déclenchez une alerte sur les modifications de
EnableLUA,ConsentPromptBehaviorAdminetLocalAccountTokenFilterPolicy(Sysmon Event 13, ou votre EDR). Les malwares modifient ces valeurs pour faciliter l'étape suivante.
Liste de contrôle
-
EnableLUAà 1 partout, sans exception - Invite admin réglée sur consentement ou identifiants sur le bureau sécurisé, et non sur l'option d'auto-élévation par défaut
- Invite utilisateur standard réglée sur refus automatique, ou identifiants uniquement avec LAPS
-
FilterAdministratorTokenactivé pour l'Administrateur intégré -
LocalAccountTokenFilterPolicyabsent ou à 0, imposé via le modèle MS Security Guide - Administrator protection piloté sur les appareils informatiques là où il est pris en charge
- Type d'élévation de l'événement 4688 et modifications du registre UAC surveillés
L'UAC est la dernière ligne de défense sur un appareil où quelqu'un détient encore des droits d'administration. Il donne sa pleine mesure dans l'ensemble de la série Comptes & accès à privilèges, aux côtés de Credential Guard et de la protection LSA, qui protègent les identifiants qu'un attaquant ayant obtenu l'élévation viserait ensuite.
Questions fréquentes
L'UAC est-il une frontière de sécurité ?
L'UAC classique ne l'est pas. Microsoft le décrit depuis longtemps comme une fonctionnalité de confort qui fait fonctionner les administrateurs avec un jeton filtré, et les techniques de contournement de l'UAC ne sont généralement pas corrigées comme des vulnérabilités. Il élève tout de même la barre pour les malwares peu sophistiqués. Administrator protection, dans Windows 11, a été conçu pour combler cette lacune en isolant le jeton élevé dans un compte masqué distinct, mais la fonctionnalité est récente et doit être testée avant un déploiement large.
Faut-il configurer l'invite UAC des administrateurs pour demander des identifiants plutôt qu'un consentement ?
Sur les postes d'administration et les serveurs, demander des identifiants sur le bureau sécurisé est une mesure de durcissement raisonnable : cela impose une réauthentification délibérée et neutralise le simple clic machinal. Pour les utilisateurs standard, configurez l'invite pour refuser automatiquement ou demander des identifiants. Le gain le plus important reste de retirer l'admin local aux utilisateurs du quotidien, afin que l'invite d'administration n'apparaisse presque jamais.
À quoi sert LocalAccountTokenFilterPolicy ?
Il contrôle l'UAC distant pour les comptes locaux. Lorsqu'il est absent ou à 0, un compte administrateur local qui ouvre une session par le réseau reçoit un jeton filtré, non administrateur, ce qui bloque le pass-the-hash avec des comptes locaux contre les partages administratifs et WMI. Le passer à 1 désactive ce filtrage. Des éditeurs demandent parfois la valeur 1 : considérez-le comme un constat, pas comme une solution.
Durcir l'UAC et Windows Administrator protection