Durcissement Windows - Désactiver le spooler d'impression

Table des matières :

Introduction

Le Spooleur d’impression (Print Spooler en anglais) du système d’exploitation Microsoft Windows est un service permettant la gestion des tâches d’impression. L’exécutable de ce service est spoolsv.exe et ce service est actif par défaut sur la plupart des systèmes Microsoft Windows.

Il a été impacté par un grand nombre de vulnérabilités au cours des dernières années, et constituait le vecteur de propagation du virus Stuxnet.

Récemment, deux nouvelles vulnérabilités critiques ont été publiées. La CVE-2021-1675 (également appelée PrintNightmare) et la CVE-2021-34527.

Afin de pallier ces vulnérabilités, il est généralement conseillé de désactiver le service du Spooleur d’impression sur les serveurs qui ne l’utilisent pas. Dans les sections suivantes, nous allons voir 3 méthodes pour désactiver ce service.

Détection du Spooleur d’impression par les attaquants

Durant la phase de reconnaissance d’un pentest ou tout simplement d’une attaque dans le réseau interne d’une entreprise, les attaquants réalisent des scans des machines. Ces scans permettent de détecter les services et leur versions qui tournent sur les machines du réseau. Le service du spooleur d’impression étant un service RPC, un attaquant peut vérifier si il est actif avec la commande rpcdump.py suivante :

# rpcdump.py 192.168.1.21 | grep MS-RPRN -A6

Si le service est actif, il sera affiché dans la liste des services RPC et sera trouvé par le grep MS-RPRN -A6 :

Désactiver le service Print Spooler via l’interface graphique

Afin de désactiver le service Print Spooler via l’interface graphique, il faut utiliser le Gestionnaire de Services de Windows. Ensuite, sélectionnez le service Print Spooler dans la liste des services de cette interface et cliquez sur propriétés. Stoppez le service, puis désactivez le depuis le menu déroulant du StartupType.

Désactiver le service Print Spooler via un objet de stratégie de groupe

Il est aussi possible de désactiver le service sur plusieurs machines du domaine à l’aide d’un objet de stratégie de groupe. Pour ce faire :

Désactiver le service Print Spooler via powershell

Pour désactiver le service Print Spooler via powershell, nous allons vérifier dans un premier temps le status du service, en utilisant la commande powershell Get-Service:

Get-Service -DisplayName "Print Spooler"

Nous voyons sur la capture d’écran ci-dessus que le Status du service est Running, ce qui signifie qu’il est activé et en fonctionnement. Nous allons donc le stopper. Pour le stopper nous allons utiliser la commande powershell suivante, permettant de sélectionner le service, et de le stopper avec la commande Set-Service :

Get-Service -DisplayName "Print Spooler" | Stop-Service

Il faut ensuite désactiver le service en passant le StartupType à la valeur disabled comme ceci :

Get-Service -DisplayName "Print Spooler" | Set-Service -Status stopped -StartupType disabled

Nous pouvons aussi vérifier dans la console de management des services que le spooleur d’impression est désactivé :

En résumé

Pour désactiver le service du spooleur d’impression (Print Spooler) de Windows, il faut taper les commandes powershell suivantes :

Get-Service -DisplayName "Print Spooler"
Get-Service -DisplayName "Print Spooler" | Stop-Service
Get-Service -DisplayName "Print Spooler" | Set-Service -Status stopped -StartupType disabled

Références