Schon seit Windows NT, das im Jahr 1996 veröffentlicht wurde, gibt es eine Sicherheitslücke im Windows-Druckdienst. Damit lassen sich beliebige Dateien mit Systemrechten schreiben und so zum Beispiel eine dauerhafte Hintertür erzeugen.
Entdeckt haben die Sicherheitslücke die beiden Sicherheitsforscher Yarden Shafir und Alex Ionescu, die ihr den Namen Printdemon (CVE-2020-1048) gegeben haben. Microsoft hat diese Schwachstelle am Dienstag mit dem Mai-Sicherheitsupdate zusammen mit über 100 weiteren Sicherheitslücken geschlossen.
Über den Print-Spooler
“Ironischerweise ist der Print Spooler nach wie vor eine der ältesten Windows-Komponenten, die immer noch nicht sehr genau unter die Lupe genommen wurde, obwohl sie seit Windows NT 4 weitgehend unverändert ist und sogar von Stuxnet missbraucht wurde”, schreiben die Entdecker der Lücke.
Der Windows Print Spooler kann Druckaufträge an Drucker am USB- oder Parallelport, im Netzwerk oder im Internet gesendet werden. Allerdings können die Druckaufträge auch in einer lokale Datei gespeichert werden, zum Beispiel wenn der Drucker nicht verfügbar ist oder wenn der Druckvorgang abgebrochen wurde. Solche gespeicherten Aufträge sind auch nach dem Neustart eines Rechners weiterhin verfügbar.
Rechteausweitung inklusive
An dieser Stelle setzten Shafir und Ionescu an. Die Forscher führten einen Druckauftrag als Nutzer aus und ließen den Druckdienst dann abstürzen. Das ist wegen des Alters der Software und der vielen Treiber von Drittanbietern nicht besonders kompliziert. Danach wird der Auftrag dann mit Systemrechten wieder aufgenommen – eine typische Rechteausweitung, für die bereits Zugriff auf das System bestehen muss.
Weil die Sicherheitsforscher Speicherort und Dateinamen selbst festlegen können, lassen sich im Grunde beliebige Dateien auf dem System überschreiben. Bei aktuellen Windows-Versionen sei für den Angriff nur eine einzige Zeile Powershell-Code notwendig. “Auf einem ungepatchten System wird dadurch eine dauerhafte Hintertür installiert, die auch nach dem Patchen nicht verschwindet”, erklärt dazu Ionescu.
Genaue Beschreibung des Exploits
Auf Github und Windows-Internals haben die Sicherheitsforscher einen Proof-of-Concept-Code veröffentlicht, mit dem sich die Uralt-Sicherheitslücke problemlos ausnutzen lässt.