PrintNightmare : une faille critique qui touche le service « Spouleur d’impression »
PrintNightmare, c'est le nom de la nouvelle vulnérabilité critique qui touche le service "Spouleur d'impression" de Windows. Exploitable à distance, elle peut permettre à un attaquant de récupérer les droits SYSTEM sur un contrôleur de domaine.
Le 8 juin dernier, à l'occasion de son Patch Tuesday mensuel, Microsoft a déployé un correctif pour combler la faille de sécurité CVE-2021-1675 et qui affectait le spouleur d'impression, un composant présent par défaut sur Windows. Cette vulnérabilité permettait d'effectuer une élévation de privilèges en local sur la machine cible. Elle touche aussi bien Windows 7, Windows 8.1 que Windows 10, ainsi que toutes les versions de Windows Server depuis Windows Server 2008, y compris en Server Core.
Deux chercheurs ont présenté une nouvelle manière d'exploiter cette faille, cette fois-ci à distance, ce qui change la donne ! D'autant plus que cette attaque à distance permet d'obtenir les privilèges SYSTEM sur la machine cible. L'ANSSI estime qu'il faut prendre la faille CVE-2021-1675 très au sérieux, car des codes d'exploitation sont déjà disponibles sur Internet, publiquement. On peut même considérer cette faille comme étant une Zero-Day au sein du spouleur d'impression de Windows.
Lors de l'ajout d'une imprimante, c'est au moment de téléverser le pilote qu'il est possible d'installer le programme malveillant. En fait, à partir d'une machine de votre domaine Active Directory, disons un poste de travail compromis, un attaquant pourrait compromettre votre contrôleur de domaine en exploitant cette vulnérabilité. Quand on sait que l'on peut acheter des identifiants RDP pour quelques dizaines de dollars sur le Darkweb, cela simplifie d'autant plus la première étape.
Vous allez me dire "si j'ai installé le correctif de Microsoft publié le 8 juin, je suis protégé", et bien, malheureusement non. Le correctif proposé par Microsoft ne vous protège pas contre cette nouvelle méthode d'exploitation. Par conséquent, il est recommandé d'effectuer les actions suivantes sur les serveurs contrôleurs de domaine et sur tous les serveurs où le spouleur d'impression n'est pas utile (ce service gère les interactions entre votre machine et les imprimantes) :
- Définir le type de démarrage "Désactivé" sur le service "Spouleur d'impression" ou "Print Spooler" en anglais. Voici une commande PowerShell qui permet d'effectuer cette configuration :
Set-Service -Name Spooler -StartupType Disabled
- Une fois que le type de démarrage du service est modifié, il faut arrêter le service. En PowerShell, cela donne :
Stop-Service -Name Spooler
De manière générale, sans parler de cette faille de sécurité, il est recommandé de désactiver le "Spouleur d'impression" sur les contrôleurs de domaine. Sur les serveurs où le service ne peut pas être désactivé, le CERT-FR recommande de mettre le processus "spoolsv.exe" sous surveillance.
Pour atténuer les risques et surveiller vos systèmes, vous pouvez consulter cette page sur GitHub qui regroupe des informations complémentaires. Les actions évoquées ci-dessus peuvent être effectuées par GPO également.
Chers admins système, si vous utilisez des machines sous Windows Server et plus particulièrement des contrôleurs de domaine, vous avez un peu de travail ! Bon courage !