Active Directory : Pour se protéger contre les attaques de type « pass-the-hash » et « pass-the-ticket », il est essentiel d’utiliser l’authentification Kerberos en liant les comptes de grande valeur au Protected User Security Group.
Lorsqu’un utilisateur saisit son mot de passe d’authentification dans Windows, celui-ci est généralement géré par NTLM (NT LAN Manager), un protocole d’authentification propriétaire qui a été introduit dans les systèmes d’exploitation Microsoft dans les années 1990 et qui est aujourd’hui considéré comme obsolète et intrinsèquement peu sûr.
Le mot de passe saisi par l’utilisateur est transformé en un hachage à l’aide d’un certain algorithme. Le hachage est une représentation cryptée du mot de passe source et c’est l’algorithme utilisé qui sert de garant : s’il est possible de passer du mot de passe à son hachage, il n’est pas possible d’inverser la fonction, c’est-à-dire de revenir au mot de passe non crypter (à moins qu’il n’y ait des vulnérabilités dans l’algorithme lui-même).
Les hachages NT sont stockés en mémoire par Windows dans une procédure gérée par le processus système LSASS (Local Security Authority Subsystem Service) : Microsoft Defender aide à réduire la surface d’attaque en évitant l’extraction de données de la mémoire locale.
Si l’utilisateur est un compte local, son hachage NT est comparé à celui stocké localement dans la base de données SAM (Security Accounts Manager). Si les deux hachages correspondent, l’authentification est réussie et l’utilisateur se voit accorder l’accès requis.
Si un utilisateur utilise un compte Active Directory, son hachage NT est utilisé dans l’authentification Kerberos à l’aide du contrôleur de domaine.
Une fois l’authentification via Active Directory terminée, un ticket Kerberos (TGT) est émis et stocké dans le cache des tickets.
Le TGT peut ensuite être utilisé pour demander des jetons d’accès supplémentaires au service d’octroi de tickets (TGS) afin d’accorder l’accès à une ressource réseau particulière. La commande klist tickets peut être utilisée pour obtenir des informations sur le cache des tickets Kerberos.
Les hachages NT des mots de passe sont vulnérables, il est donc conseillé d’utiliser l’authentification Kerberos dans la mesure du possible.
Qu’est-ce que le Secure User Security Group avec Active Directory?
Le Secure User Security Group a été introduit avec Windows Server 2012 R2, Microsoft continuant à prévoir et même à recommander fortement son utilisation dans les versions ultérieures du système d’exploitation.
Il s’agit d’un groupe d’utilisateurs conçu pour offrir une meilleure protection contre les cyberattaques visant à voler des informations d’identification.
Les clients connectés au système Windows Server doivent eux-mêmes être au moins équipés de Windows Server 2012 R2 ou de Windows 8.1 et des versions ultérieures, c’est-à-dire également de Windows 10 et Windows 11.
Les membres du Protected Users Security Group ne peuvent pas utiliser NTLM ou d’autres formes d’authentification moins sûres ; en outre, la phase de préauthentification avec Kerberos ne peut pas utiliser RC4 ou DES (nous avons parlé de l’attaque Kerberoasting), les informations d’identification ne sont plus mises en cache et l’accès à distance n’est autorisé qu’avec des protocoles tels que RDP (Remote Desktop Protocol) avec une authentification à deux facteurs activés.
Le groupe de sécurité spécial introduit dans Windows Server 2012 R2 fournit donc une couche de protection supplémentaire pour les comptes d’utilisateurs de premier plan (par exemple, les administrateurs système, les comptes de services critiques et les comptes d’administrateurs de domaine) et est conçu pour protéger les comptes d’utilisateurs contre les attaques de type « pass-the-hash » et « pass-the-ticket », qui constituent une véritable menace pour la sécurité des informations d’authentification des utilisateurs et, par conséquent, pour la confidentialité et l’intégrité des données de l’entreprise.
La commande PowerShell suivante vous permet de vérifier quels comptes, le cas échéant, ont été affectés au groupe spécial :
Get-ADGroupMember -Identity "Protected Users"
La commande suivante, quant à elle, permet d’ajouter un utilisateur au groupe en effectuant les substitutions appropriées :
Get-ADGroup -Identity "Protected Users" | Add-ADGroupMember -Members "CN=nome-utente,CN=Users,DC=nome-controller,DC=com"
Attaques « pass-the-hash » et « pass-the-ticket » : ce qu’elles sont et comment elles fonctionnent
Les attaques « pass-the-hash » et « pass-the-ticket » sont deux techniques d’attaque couramment exploitées par des utilisateurs malveillants pour accéder à des systèmes Windows sans autorisation.
L’attaque « pass-the-hash » exploite le hachage du mot de passe : une fois que l’attaquant a obtenu le hachage du mot de passe d’un compte d’utilisateur, il peut l’utiliser pour s’authentifier en contournant la nécessité de connaître le mot de passe réellement défini.
Pass-the-ticket, quant à lui, exploite un jeton d’authentification émis par Kerberos, un protocole d’authentification utilisé dans Windows au niveau de l’entreprise. Une fois que le pirate a obtenu le jeton d’authentification, il peut se faire passer pour l’utilisateur authentifié et accéder aux systèmes et aux données de l’utilisateur sans connaître le véritable mot de passe.
Les attaques de ce type sont de plus en plus courantes, à tel point que des groupes de cybercriminels les ont utilisées pour attaquer des entreprises et des organismes publics de premier plan, avant même que Microsoft ne publie un correctif. L’un des derniers exemples en date est la faille CVE-2023-23397 que Microsoft a corrigée en mars 2023 dans Outlook et Exchange Server : en l’absence de correctif, un cybercriminel peut exécuter un code malveillant simplement en envoyant un courrier électronique à un client Outlook sans qu’aucune interaction avec l’utilisateur ne soit nécessaire.
Le test de Mimikatz
Défini comme un « credential dumper », Mimikatz est un logiciel open source qui permet de craquer des mots de passe et de récupérer des informations d’authentification à partir de systèmes Windows. Le logiciel a été conçu pour démontrer les faiblesses de certaines fonctions de sécurité de Windows et pour aider les administrateurs système à évaluer la sécurité de leur configuration.
Mimikatz est capable d’utiliser plusieurs techniques pour récupérer les informations d’authentification des utilisateurs, y compris les hachages de mots de passe stockés dans Windows, les mots de passe non chiffrés du cache et les mots de passe stockés dans la mémoire active. Le programme peut également être exploité pour obtenir des jetons d’authentification et effectuer des attaques de type « pass-the-hash » ou « pass-the-ticket ».
Si Mimikatz est un outil utile aux administrateurs système pour vérifier la sécurité de leur propre environnement, il est aussi largement utilisé par les cybercriminels et les logiciels malveillants pour attaquer les systèmes Windows, récupérer les identifiants de connexion et se déplacer à l’intérieur des réseaux d’entreprise d’autres personnes.
En utilisant Mimikatz pour récupérer le hachage du mot de passe d’un compte d’utilisateur administrateur, on peut facilement voir que cela n’est pas possible si le compte fait en fait partie du Protected User Security Group (groupe de sécurité des utilisateurs protégés).