Entre juin et juillet 2021, deux vulnérabilités ont été découvertes autour du service d’impression des machines Microsoft. Le point sur une double vulnérabilité Microsoft critique.

 

Le contexte des vulnérabilités PrintNightmare

Entre le 8 juin et le 6 juillet, Microsoft a publié deux correctifs autour de vulnérabilités portant sur le service d’impression. La CVE-2021-1675 est une vulnérabilité décrite comme un LPE, Local Privilege Escalation, tandis que la CVE-2021-34527 est, elle, une vulnérabilité RPE, Remote Privilege Escalation.

La deuxième vulnérabilité Microsoft est particulièrement inquiétante, car elle concerne un service activé par défaut sur toutes les machines Windows (postes et serveurs, ainsi que contrôleur de domaine). Et il a été rapporté que des exploitations étaient déjà disponibles.

 

Les détails techniques des vulnérabilités PrintNightmare

La vulnérabilité Microsoft est situé dans le service spoolsv.exe, et plus précisément dans la fonction RpcAddPrinterDriverEx(). Cette fonction est utilisée pour l’ajout de pilotes sur un serveur d’impression. Elle a la particularité d’être appelé via RPC (Remote Procedure Call).

Le fonctionnement est simple : le client appelle la fonction, avec en paramètre un nom de fichier (le driver) et un chemin d’accès (path, au format UNC). Cette fonction « charge » dans le spooler ce driver qui peut être stocké sur n’importe quel partage réseau accessible par le serveur.

La vulnérabilité réside donc dans la possibilité de contourner la vérification des privilèges nécessaires à l’appel de cette fonction via un flag spécifique dans « dwFileCopyFlags ». Ainsi, il n’est pas nécessaire d’être un utilisateur à privilège pour charger des drivers, potentiellement malveillants. Dans le cadre de cette vulnérabilité, le driver se présente sous la forme d’une bibliothèque exécutable (DLL) qui sera chargée par le spooler d’impression et exécutée avec le compte SYSTÈME. À noter qu’il est tout de même nécessaire d’être un utilisateur du domaine, ce qui limite la portée de l’attaque.

Le reste de l’attaque dépend ensuite de la charge malveillante de la bibliothèque qui est chargée, qui peut être un dropper de malware ou un outil de prise de main à distance.


Note importante : par défaut, ce service est activé dans tout système Windows, éditions Server inclus, et tout système non durci est donc vulnérable.


 

Les protections Stormshield face aux vulnérabilités PrintNightmare

Les solutions Stormshield Network Security (SNS) et Stormshield Endpoint Security (SES) permettent de bloquer les attaques exploitants ces vulnérabilités Microsoft ; voici le détail de ces protections.

Protections avec Stormshield Network Security

Du fait de la nature de la vulnérabilité, les requêtes RPC utilisées pour l’exploitation présentent les mêmes caractéristiques qu’une requête DCE/RPC légitime. Il est d'ores et déjà possible, avec la protection applicative native sur les protocoles DCE/RPC, de bloquer toutes les requêtes « RpcAddPrinterDriverEx », ce qui a pour effet de bord de bloquer également les requêtes légitime. Cette protection se configure ici : Protection Applicative > Protocoles > Protocoles Microsoft > Microsoft RPC (DCE/RPC) > Services MS-RPC prédéfinis > Microsoft RPC service spools

Par ailleurs, nous avons développé spécifiquement la signature dcerpc:request:data.10, qui est automatiquement mise à jour via Stormshield Auto-update et qui a pour effet d’identifier spécifiquement les requêtes « RpcAddPrinterDriverEx » malveillantes, qui spécifient en paramètre la combinaison de flags « APD_COPY_ALL_FILES | APD_INSTALL_WARNED_DRIVER | APD_COPY_FROM_DIRECTORY », nécessaire à l’exploitation.

Les autres requêtes, qui ne précisent pas cette combinaison, ne seront pas impactées.

Il est fortement conseillé d’adapter les actions de cette signature selon votre environnement, car la politique par défaut ne bloque uniquement que sur le profil high et internet.

Protections avec Stormshield Endpoint Security

En l’état de la connaissance de la menace, les solutions Stormshield Endpoint Security 7.2 et Stormshield Endpoint Security Evolution permettent de bloquer l’exploitation de cette vulnérabilité grâce à un ensemble de règles dédiées, fournies sur l’espace MyStormshield. Ces jeux de règles comprennent, pour les deux versions :

  • Une interdiction de la communication sur le réseau pour le processus spoolsv.exe ;
  • Une interdiction de connexion vers des partages réseau pour spoolsv.exe ;
  • Une interdiction d’accès aux clés registre spécifiques à certains drivers utilisés par des outils malveillants exploitant cette vulnérabilité.

En plus des règles déjà citées ci-dessus, l’avancée technologique spécifique de SES Evolution permet aussi d’affiner ces règles et d’ajouter des barrières de protection supplémentaires. Ce jeu de règles comprend :

  • Un blocage de la création de processus enfants par spoolsv.exe ;
  • Un blocage du chargement de code exécutable basée sur le propriétaire du module.

L’usage de ces jeux de règles est conseillé jusqu’à l’application d’un patch par Microsoft venant corriger ces vulnérabilités. Il faut cependant noter que certaines règles peuvent restreindre le fonctionnement légitime des serveurs d’impression.

 

Autres recommandations face aux vulnérabilités PrintNightmare

Désactivation des services de Spooler

Il est nécessaire de vérifier et d’arrêter les services de Spooler d’impression sur les serveurs qui n’en ont pas besoin, notamment les Active Directory. Pour cela, il faut désactiver le service Spooler (spoolsv.exe) au démarrage : Set-Service -Name Spooler -StartupType Disabled, et ensuite arrêter le service : Stop-Service -Name Spooler

Au niveau des postes utilisateurs, il faut désactiver la prise en compte des demandes d’impression distantes. Il est possible de le faire via GPO en modifiant le paramètre « Autoriser le spouleur d’impression à accepter les connexions des clients » en « Désactivé » en suivant le chemin suivant : Configuration ordinateur > Modèle d’administration > Imprimantes.

Fig 1 : configuration GPO

Mise à jour des serveurs

Il est primordial d’effectuer les mises à jour des serveurs concernés (i.e. disposant d’un service Spooler d’impression actif).

Les KB Microsoft sont les suivantes :

À noter que les versions non maintenues par Microsoft n’auront pas de correctifs.

Partager sur

[juiz_sps buttons="facebook, twitter, linkedin, mail"]
Notre équipe de Threat Intelligence remplit deux missions principales : étudier les menaces cyber pour les comprendre et améliorer en continu les protections des produits de Stormshield. Le tout, dans l’optique de contribuer à l’effort de la communauté de la cybersécurité pour faire face aux menaces cyber.
À propos de l'auteur
mm
Sébastien Viou Directeur Cybersécurité Produits & Cyber-Évangeliste, Stormshield

Adepte des sports de combats (ju-jitsu, kick-boxing, hockey sur glace), Sébastien se passionne également pour la mécanique. La vraie, celle où on démonte et remonte toutes les pièces jusqu'à en comprendre tous les mécanismes. Un parallèle évident avec ses missions chez Stormshield, où il est en charge d'apporter un éclairage sur les évolutions, les innovations et les tendances sur les cyber-menaces du moment.