PrintNightmare pour les nuls, pas de vacances pour les imprimantes

Faire de la veille et parfois savoir résumer le tout n’est pas chose aisée même pour moi. Aussi, je partage une note très simplifiée explicative ET curative ET préventive pour deux clients suite à des opérations de Maintien en Condition de Sécurité (MCS). J’ose espérer qu’elle servira à d’autres surtout dans les administrations et entreprises africaines.



Contextualisation

En ce début d’été, à l’heure où les SI vont se reposer un peu et les cyberjedis qui veillent dessus par la même occasion, une vulnérabilité fait énormément de bruit ; PrintNightmare.

Microsoft a confirmé qu’une vulnérabilité de type “zero-day” appelée PrintNightmare peut être exploitée permettant l’exécution de code à distance sur un ordinateur. Toutes les versions de Windows semblent affectées.

La vulnérabilité existe dans le code lié au fichier exécutable Windows Print Spooler, qui peut gérer presque tous les aspects du processus lié à l’impression de contenu à partir d’un ordinateur. Microsoft a déclaré que par défaut, Windows Print Spooler démarrera avec Windows et ne s’arrêtera que lorsque le système d’exploitation lui-même s’arrêtera. Cela en fait une cible de choix pour les attaquants.

Microsoft a déclaré que PrintNightmare était largement utilisé et que le correctif de sécurité publié le 8 juin ne pouvait pas protéger complètement les appareils Windows contre ces attaques. Cela ne signifie pas que ces correctifs doivent être évités. Néanmoins, ils peuvent toujours protéger contre d’autres vulnérabilités, y compris celles impliquant la vulnérabilité CVE-2021-1675. Ils n’ont tout simplement pas complètement résolu la vulnérabilité impliquant PrintNightmare.



Vulgarisation

Pour faire simple, printnightmare avec un score CVSS v3 de 7.8/10 permet de s’infiltrer dans une entreprise et accéder à terme à la partie la plus sensible de l’entreprise ; l’Active Directory. PrintNightmare permettrait de dérober des documents ou encore de déployer des ransomwares.

Le feu a été relancé après que des chercheurs ont accidentellement publié la preuve de concept de PrintNightmare sur GitHub le 29 juin. Ces chercheurs pensaient que la vulnérabilité découverte avait été résolue par la mise à jour de sécurité pour une autre vulnérabilité CVE-2021-1675 dans Windows 10 le 8 juin. Ce qui n’était pas le cas. Le chercheur Zhiniang Peng a supprimé le PoC, mais on peut toujours le trouvé en ligne.

Dès lors, de nombreux autres chercheurs ont développé et publié d’autres preuves de concept.

La vulnérabilité se situe dans Windows Print Spooler, ou spoolsv.exe, le service chargé du processus d’impression de documents, inclus dans pratiquement toutes les versions du système d’exploitation de Microsoft. Autrement dit, les cibles potentielles d’une attaque se comptent en centaines de millions.



Différents PoC et Techniques / Mitre Att&ck Map



Prévention

  • Via Powershell
Stop-Service -Name Spooler -Force  
Set-Service -Name Spooler -StartupType Disabled  
  • Via GPO
Policies/Windows Settings/Security Settings/System Services/Print Spooler  
  • Via Script

https://github.com/gtworek/PSBits/blob/master/Misc/StopAndDisableDefaultSpoolers.ps1



Détection

  • Via Sysmon
    Rechercher l’utilisation de ImageLoad (Event ID 7) avec le processus spoolsv.exe.

  • Via SIEM

  • Via Even logs
    Activer la journalisation des événements PrintService-Operational (pas par défaut), vous verrez l'Event-ID 316 lorsque l’exploitation PrintNightmare / CVE-2021-1675 est tentée.

  • Via IoC
    Pour détecter l’exécution de PrintNightmare / CVE-2021-1675, rechercher :

    • kernelbase.dll,
    • unidrv.dll,
    • plus toutes autres dll écrites dans les sous-dossiers de C:\Windows\System32\spool\drivers\ dans le même délai par spoolsv.exe/


REFERENCES

https://doublepulsar.com/zero-day-for-every-supported-windows-os-version-in-the-wild-printnightmare-b3fdb82f840c