Update PrintNightmare – Remote Code Execution-Lücke

Inhaltsverzeichnis

Update „PrintNightmare“ erhält eigene CVE

Offizielle Empfehlung von Microsoft veröffentlicht

Wir veröffentlichen ein viertes Update zur Lücke „PrintNightmare“, welche den Windows Printer Spooler Service betrifft und aktualisieren unsere Empfehlungen, da die Updates unter bestimmten Bedingungen nicht wirksam vor einer Ausnutzung der Lücken schützen. Am vergangenen Freitag hatten wir von der neuen „Locale Privilege Escalation“-Schwachstelle im Print Spooler Service mit der CVE-2021-34481 berichtet. Am vergangenen Sonntagabend wurde noch eine weitere (vierte) Lücke im Service bekannt, für die es Stand jetzt ebenfalls noch kein Sicherheitsupdate und wenige Informationen gibt.

Du hast einen Sicherheitsvorfall?
Vertraue bei Auffälligkeiten unseren zertifizierten IT Forensikern.
Jetzt Anfragen

Übersicht der „PrintNightmare“-Lücken

Printnightmare table
Art der LückeCVEEntdeckungUpdate vorhanden?
Local Privlilege EscalationN/A18.07.2021Nein
Local Privlilege EscalationCVE-2021-3448115.07.2021Nein
Remote Code ExecutionCVE-2021-3452727.06.2021Ja
Local Privlilege EscalationCVE-2021-167508.06.2021Ja

Hintergrund der neuen Lücke

Unter Microsoft Windows können auch reguläre User ohne Admin-Rechte Drucker-Treiber via „Point-and-Print“ installieren. Über diesen Weg kann ein Drucker beliebige Programmbibliotheken in den Print Spooler Prozess laden, welcher standardmäßig mit SYSTEM-Privilegien läuft.

Beschreibung

Mit dem Update MS16-087 soll der Angriffsvektor vermieden werden, da Drucker-Treiber zukünftig digital von MS selbst oder einer vertrauenswürdigen Partei signiert werden sollen. 

Zwar werden Treiberpakete dadurch nun signiert, allerdings können Drucker nach wie vor bestimmte Dateien nachladen. Diese Dateien müssen aktuell allerdings noch nicht signiert werden und können zu einem Windows-Client über Point-and-Print-Installation übertragen werden. Diese Dateien können dann mit einem anderen Drucker, der über SYSTEM-Privilegien verfügt, verwendet werden und so zu einer „Local Privilege Escalation“ führen. 

Betroffene Systeme:

Aktuell ist davon auszugehen, dass auch bei den neuen Lücken alle gängigen Windows-Systeme betroffen sind.

Empfehlung:

Folgende Empfehlung gilt für die neu entdeckte Lücke:

Ausgehende SMB-Verbindungen blocken:

Die bisher bekannten Exploits verwenden SMB um eine Verbindung zu einem geteilten Drucker aufzubauen. Wenn ausgehende SMB-Verbindungen geblockt werden, kann dies schon einmal die Angriffsfläche auf das interne Netzwerk reduzieren. Microsoft weist zusätzlich daraufhin, dass über das [MS-WPRN] Web Point-and-Print Protocol theoretisch auch beliebige Drucker-Treiber ohne Nutzung von SMB installiert werden könnten.

Konfiguration von PackagePointAndPrintServerList:

Es gibt eine Gruppenrichtlinie „Package Point and Print – Approved servers“ welche in den Registry-Werten
„HKLM\Software\Policies\Microsoft\

WindowsNT\Printers\

PackagePointAndPrint\

PackagePointAndPrintServerList“ und „HKLM\Software\Policies\Microsoft\

WindowsNT\Printers\

PackagePointAndPrint\ListofServers“

Die Gruppenrichtlinie kann verwendet werden, um einzuschränken, über welche Server reguläre User Drucker-Treiber via „Point-and-Print“ installieren können. Somit kann verhindert werden, dass die Treiber über einen beliebigen Server installiert werden.

Referenzen zur neuen Lücke:

Update Empfehlung zur RCE-Lücke CVE-2021-34527

Über die Lücke mit der CVE-2021-34527 hatten wir bereits berichtet. Leider gibt es trotz des von Microsoft bereitgestellten Update immer noch die Möglichkeit, die Lücke unter bestimmten Bedingungen auszunutzen. Wir empfehlen folgende Vorgehensweise zur Überprüfung. Die Empfehlung orientiert sich an den offiziellen Empfehlungen von Microsoft.

1. Schritt - Installation der Updates

Stellen Sie sicher, dass die aktuellen Updates installiert sind. Die Updates finden Sie unter folgendem Link

2. Schritt - Prüfung der Registry und gesetzter GPO für Point-and-Print-Einschränkung:

Nach Einspielen des Updates sollten die folgenden beiden Bedingungen überprüft werden:

  1. Innerhalb der Registry: HKEY_LOCAL_MACHINE\ SOFTWARE\Policies\ Microsoft\Windows NT\Printers\PointAndPrint
  • NoWarningNoElevation OnInstall = 0 (DWORD) oder nicht definiert (Standardeinstellung)
  • UpdatePromptSettings = 0 (DWORD) oder nicht definiert (Standardeinstellung)

(Wenn „NoWarningNoElevationOnInstall“ auf „1“ gesetzt ist, ist das System anfällig)

  1. Die Gruppenrichtlinie zur Einschränkung von Point-and-Print wurde noch nicht konfiguriert

Wenn beide Bedingungen zutreffen, besteht keine Anfälligkeit für CVE-2021-34527 und somit kein weiterer Handlungsbedarf zur Vermeidung dieser Schwachstelle. Ansonsten gehen Sie wie folgt vor:

Öffnen Sie den Group Policy Editor unter: Computerkonfiguration > Administrative Vorlagen > Drucker

Konfigurieren Sie die „Point and Print Einschränkungen“ Einstellung wie folgt:

  • Setzen Sie die Gruppenrichtlinie auf „Aktiviert“
  • „Beim Installieren von Treibern für eine neue Verbindung“: „Warnung und Anhebungsaufforderung anzeigen“
  • „Beim Aktualisieren von Treibern für eine vorhandene Verbindung“: „Warnung und Anhebungsaufforderung anzeigen“

Das Bild zeigt noch einmal die empfohlenen Einstellungen:

empfohlenen Einstellungen:

Wichtig – Die Richtlinie sollte überall wo der Print Spooler Service aktiv ist, angewendet werden.

3. Schritt - Bestätigung der korrekten Umsetzung der Richtlinie:

Folgende Registry-Keys bestätigen, dass die Richtlinie korrekt umgesetzt wurde:

HKEY_LOCAL_MACHINE\SOFTWARE \Policies\Microsoft\Windows NT\Printers\PointAndPrint

  • NoWarningNoElevation OnInstall = 0 (DWORD)
  • UpdatePromptSettings = 0 (DWORD)

Wenn diese Werte nicht null sind, ist das betroffene Gerät trotz Update anfällig für die Schwachstelle CVE-2021-34527

Das Konfigurieren dieser Einstellung deaktiviert nicht das Point-and-Print-Feature und erfordert auch keinen Neustart.

4. Schritt (optional, aber dennoch von uns empfohlen) -

Überschreiben der Point-and-Print Einschränkungen, sodass nur Administratoren Drucker-Treiber auf Drucker-Servern installieren können:

Hierfür muss innerhalb der Registry der Wert RestrictDriverInstallationToAd ministrators unter HKEY_LOCAL_MACHINE\Software\ Policies\Microsoft\Windows NT\Printers\PointAndPrint auf 1 gesetzt werden. Das führt dazu, dass alle Point-and-Print Einschränkungen-Richtlinien überschrieben werden.

Weitere Informationen sind unter folgendem Link zu finden.

Update 16. Juli 2021

Die neue Lücke CVE-2021-34481 macht es einem lokalen Angreifer erneut möglich seine Rechte auf System-Rechte auszuweiten. Da die neue Lücke abermals den Print Spooler Service betrifft, gilt die Empfehlung zu den Workarounds nach wie vor.

Betroffene Systeme:

Welche Systeme im Detail betroffen sind, ist aktuell noch unklar, weshalb Vorsicht geboten ist.

Empfehlung:

Zunächst sollte der von Microsoft veröffentlichte Patch eingespielt werden, um die bestehenden Lücken zu beheben. Da es für die neue Lücke noch keinen Patch gibt, anbei noch einmal die Empfehlung zum Workaround:

Microsoft empfiehlt die folgenden Schritte:

Prüfung, ob der Dienst genutzt wird mittels PowerShell (als Domain Admin)

Get-Service -Name Spooler

Sofern der Dienst genutzt wird, gibt es zwei Optionen diesen abzuschalten bzw. einzuschränken:

Option 1 - Abschaltung Print Spooler Service

Wenn der Dienst ohne Einschränkungen ausgeschaltet werden kann, können die folgenden PowerShell-Befehle genutzt werden:

Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

Hinweis!: Das Abschalten deaktiviert den Dienst und damit auch die Möglichkeit lokal und aus der Ferne zu drucken.

Option 2 - Deaktivierung des Fernzugriffs auf den Drucker-Dienst durch Gruppenrichtlinie

 

Als Alternative kann der der Dienst für Fernzugriffe via Gruppenrichtlinie eingeschränkt werden:

Im Gruppenrichtlinieneditor kann unter „Computerkonfiguration \ Administrative Vorlagen \ Drucker“

die Richtlinie: „Annahme von Clientverbindungen zum Druckspooler zulassen“ auf „Deaktiviert“ gesetzt werden.

Diese Richtlinie blockiert entfernte Anfragen, erlaubt aber noch das lokale Drucken am Gerät, sofern der Drucker direkt am PC angeschlossen ist.

Weitere Informationen sind unter use-group-policy-to-control-ad-printer zu finden