Protections des Identifiants Windows

Reading time: 8 minutes

Protections des Identifiants

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

WDigest

Le protocole WDigest, introduit avec Windows XP, est conçu pour l'authentification via le protocole HTTP et est activé par défaut sur Windows XP jusqu'à Windows 8.0 et Windows Server 2003 jusqu'à Windows Server 2012. Ce paramÚtre par défaut entraßne le stockage des mots de passe en texte clair dans LSASS (Service de sous-systÚme de sécurité local). Un attaquant peut utiliser Mimikatz pour extraire ces identifiants en exécutant :

bash
sekurlsa::wdigest

Pour dĂ©sactiver ou activer cette fonctionnalitĂ©, les clĂ©s de registre UseLogonCredential et Negotiate dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest doivent ĂȘtre dĂ©finies sur "1". Si ces clĂ©s sont absentes ou dĂ©finies sur "0", WDigest est dĂ©sactivĂ© :

bash
reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential

Protection LSA

À partir de Windows 8.1, Microsoft a amĂ©liorĂ© la sĂ©curitĂ© de LSA pour bloquer les lectures de mĂ©moire non autorisĂ©es ou les injections de code par des processus non fiables. Cette amĂ©lioration entrave le fonctionnement typique de commandes comme mimikatz.exe sekurlsa:logonpasswords. Pour activer cette protection amĂ©liorĂ©e, la valeur RunAsPPL dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA doit ĂȘtre ajustĂ©e Ă  1 :

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA /v RunAsPPL

Bypass

Il est possible de contourner cette protection en utilisant le pilote Mimikatz mimidrv.sys :

Credential Guard

Credential Guard, une fonctionnalitĂ© exclusive aux Windows 10 (Enterprise et Education editions), renforce la sĂ©curitĂ© des identifiants de machine en utilisant Virtual Secure Mode (VSM) et Virtualization Based Security (VBS). Il exploite les extensions de virtualisation du CPU pour isoler des processus clĂ©s dans un espace mĂ©moire protĂ©gĂ©, loin de l'accĂšs du systĂšme d'exploitation principal. Cette isolation garantit que mĂȘme le noyau ne peut pas accĂ©der Ă  la mĂ©moire dans VSM, protĂ©geant ainsi efficacement les identifiants contre des attaques comme pass-the-hash. L'AutoritĂ© de SĂ©curitĂ© Locale (LSA) fonctionne dans cet environnement sĂ©curisĂ© en tant que trustlet, tandis que le processus LSASS dans le systĂšme d'exploitation principal agit simplement comme un communicateur avec le LSA de VSM.

Par dĂ©faut, Credential Guard n'est pas actif et nĂ©cessite une activation manuelle au sein d'une organisation. Il est crucial pour amĂ©liorer la sĂ©curitĂ© contre des outils comme Mimikatz, qui sont entravĂ©s dans leur capacitĂ© Ă  extraire des identifiants. Cependant, des vulnĂ©rabilitĂ©s peuvent encore ĂȘtre exploitĂ©es par l'ajout de Security Support Providers (SSP) personnalisĂ©s pour capturer des identifiants en texte clair lors des tentatives de connexion.

Pour vĂ©rifier l'Ă©tat d'activation de Credential Guard, la clĂ© de registre LsaCfgFlags sous HKLM\System\CurrentControlSet\Control\LSA peut ĂȘtre inspectĂ©e. Une valeur de "1" indique une activation avec UEFI lock, "2" sans verrou, et "0" signifie qu'il n'est pas activĂ©. Cette vĂ©rification de registre, bien qu'indicative, n'est pas la seule Ă©tape pour activer Credential Guard. Des conseils dĂ©taillĂ©s et un script PowerShell pour activer cette fonctionnalitĂ© sont disponibles en ligne.

powershell
reg query HKLM\System\CurrentControlSet\Control\LSA /v LsaCfgFlags

Pour une compréhension complÚte et des instructions sur l'activation de Credential Guard dans Windows 10 et son activation automatique dans les systÚmes compatibles de Windows 11 Enterprise et Education (version 22H2), visitez la documentation de Microsoft.

Des dĂ©tails supplĂ©mentaires sur la mise en Ɠuvre de SSP personnalisĂ©s pour la capture de credentials sont fournis dans ce guide.

Mode RestrictedAdmin RDP

Windows 8.1 et Windows Server 2012 R2 ont introduit plusieurs nouvelles fonctionnalités de sécurité, y compris le mode Restricted Admin pour RDP. Ce mode a été conçu pour améliorer la sécurité en atténuant les risques associés aux attaques de pass the hash.

Traditionnellement, lors de la connexion à un ordinateur distant via RDP, vos credentials sont stockés sur la machine cible. Cela pose un risque de sécurité significatif, surtout lors de l'utilisation de comptes avec des privilÚges élevés. Cependant, avec l'introduction du mode Restricted Admin, ce risque est considérablement réduit.

Lors de l'initiation d'une connexion RDP en utilisant la commande mstsc.exe /RestrictedAdmin, l'authentification à l'ordinateur distant est effectuée sans stocker vos credentials dessus. Cette approche garantit que, en cas d'infection par un malware ou si un utilisateur malveillant accÚde au serveur distant, vos credentials ne sont pas compromises, car elles ne sont pas stockées sur le serveur.

Il est important de noter qu'en mode Restricted Admin, les tentatives d'accÚs aux ressources réseau depuis la session RDP n'utiliseront pas vos credentials personnelles ; au lieu de cela, l'identité de la machine est utilisée.

Cette fonctionnalité marque un pas en avant significatif dans la sécurisation des connexions de bureau à distance et la protection des informations sensibles contre une exposition en cas de violation de la sécurité.

Pour des informations plus détaillées, visitez cette ressource.

Credentials mises en cache

Windows sĂ©curise les credentials de domaine via l'AutoritĂ© de SĂ©curitĂ© Locale (LSA), prenant en charge les processus de connexion avec des protocoles de sĂ©curitĂ© tels que Kerberos et NTLM. Une caractĂ©ristique clĂ© de Windows est sa capacitĂ© Ă  mettre en cache les dix derniĂšres connexions de domaine pour garantir que les utilisateurs peuvent toujours accĂ©der Ă  leurs ordinateurs mĂȘme si le contrĂŽleur de domaine est hors ligne—un avantage pour les utilisateurs d'ordinateurs portables souvent Ă©loignĂ©s du rĂ©seau de leur entreprise.

Le nombre de connexions mises en cache est ajustable via une clé de registre ou une stratégie de groupe spécifique. Pour afficher ou modifier ce paramÚtre, la commande suivante est utilisée :

bash
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT

L'accÚs à ces informations d'identification mises en cache est strictement contrÎlé, seul le compte SYSTEM ayant les autorisations nécessaires pour les consulter. Les administrateurs ayant besoin d'accéder à ces informations doivent le faire avec des privilÚges d'utilisateur SYSTEM. Les informations d'identification sont stockées à : HKEY_LOCAL_MACHINE\SECURITY\Cache

Mimikatz peut ĂȘtre utilisĂ© pour extraire ces informations d'identification mises en cache en utilisant la commande lsadump::cache.

Pour plus de détails, la source originale fournit des informations complÚtes.

Utilisateurs protégés

L'appartenance au groupe des Utilisateurs protégés introduit plusieurs améliorations de sécurité pour les utilisateurs, garantissant des niveaux de protection plus élevés contre le vol et l'utilisation abusive des informations d'identification :

  • DĂ©lĂ©gation d'informations d'identification (CredSSP) : MĂȘme si le paramĂštre de stratĂ©gie de groupe Autoriser la dĂ©lĂ©gation des informations d'identification par dĂ©faut est activĂ©, les informations d'identification en texte clair des Utilisateurs protĂ©gĂ©s ne seront pas mises en cache.
  • Windows Digest : À partir de Windows 8.1 et Windows Server 2012 R2, le systĂšme ne mettra pas en cache les informations d'identification en texte clair des Utilisateurs protĂ©gĂ©s, quel que soit l'Ă©tat de Windows Digest.
  • NTLM : Le systĂšme ne mettra pas en cache les informations d'identification en texte clair des Utilisateurs protĂ©gĂ©s ni les fonctions unidirectionnelles NT (NTOWF).
  • Kerberos : Pour les Utilisateurs protĂ©gĂ©s, l'authentification Kerberos ne gĂ©nĂ©rera pas de DES ou de clĂ©s RC4, ni ne mettra en cache les informations d'identification en texte clair ou les clĂ©s Ă  long terme au-delĂ  de l'acquisition initiale du Ticket-Granting Ticket (TGT).
  • Connexion hors ligne : Les Utilisateurs protĂ©gĂ©s n'auront pas de vĂ©rificateur mis en cache crĂ©Ă© lors de la connexion ou du dĂ©verrouillage, ce qui signifie que la connexion hors ligne n'est pas prise en charge pour ces comptes.

Ces protections sont activées dÚs qu'un utilisateur, membre du groupe des Utilisateurs protégés, se connecte à l'appareil. Cela garantit que des mesures de sécurité critiques sont en place pour protéger contre diverses méthodes de compromission des informations d'identification.

Pour des informations plus détaillées, consultez la documentation officielle.

Tableau provenant de la documentation.

Windows Server 2003 RTMWindows Server 2003 SP1+

Windows Server 2012,
Windows Server 2008 R2,
Windows Server 2008

Windows Server 2016
Account OperatorsAccount OperatorsAccount OperatorsAccount Operators
AdministratorAdministratorAdministratorAdministrator
AdministratorsAdministratorsAdministratorsAdministrators
Backup OperatorsBackup OperatorsBackup OperatorsBackup Operators
Cert Publishers
Domain AdminsDomain AdminsDomain AdminsDomain Admins
Domain ControllersDomain ControllersDomain ControllersDomain Controllers
Enterprise AdminsEnterprise AdminsEnterprise AdminsEnterprise Admins
Enterprise Key Admins
Key Admins
KrbtgtKrbtgtKrbtgtKrbtgt
Print OperatorsPrint OperatorsPrint OperatorsPrint Operators
Read-only Domain ControllersRead-only Domain Controllers
ReplicatorReplicatorReplicatorReplicator
Schema AdminsSchema AdminsSchema AdminsSchema Admins
Server OperatorsServer OperatorsServer OperatorsServer Operators

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks