CVE-2009-0229-PoC
PoC für CVE-2009-0229 "Druckerwarteschlangen-Dateileseschwachstelle" LPE AFR (verwandt mit CVE-2020-1048)
Details
- Autor: Andrei Costin ([email protected])
- PoC-Datum: 2010-xx-xx
- Veröffentlichungsdatum: 2020-05-14 (erinnert/inspiriert durch CVE-2020-1048 - ja, ich bin zu spät zur Party :D )
- TL;DR
- Wenn ihr 0days wollt, grabt im Druck- und Fax-Untersystem von Betriebssystemen :) - viele Altlasten aus historischen Gründen - es gibt Schwachstellen für alle =)
Hinweise
-
Hinweis1: Nicht verifiziert - nicht 100% sicher, ob es derselbe Fehler ist, der CVE-2009-0229 auslöst
-
Hinweis2: Nicht verifiziert - könnte auf neueren Systemen wie Windows Server 2012 und Windows Server 2016 funktionieren
-
Hinweis3: Alle Windows-Versionen enthalten standardmäßig 4 "Trennseiten"-Dateien
- pcl.sep
- pscript.sep
- sysprint.sep
- sysprtj.sep
-
Hinweis4: Dieser Trick ist älter als Windows 95 =), ziemlich sicher wurde er von Profis für "verdeckte Informationswiederherstellung" verwendet ;)
Voraussetzungen
- Der (nicht-administrative) lokale Angreifer hat "Druckerverwaltungsrechte"
- Option1: Kann einen neuen Drucker hinzufügen
- Option2: Kann Einstellungen eines vorhandenen "systemweiten" Druckers ändern (oft der Fall)
- Die "beliebige Datei" für die Exfiltration hat keine explizite "Verweigern-Lesen"-Berechtigung
- Höchst unwahrscheinlich, da dies den Zugriff auf Dateien für das Opfer wirklich unpraktisch/unbenutzbar machen würde
PoC-Ausführung
-
Der lokale Angreifer konfiguriert einen Drucker, auf den er Zugriff hat, so, dass er eine vom Angreifer bereitgestellte "Trennseitendatei" (attack.sep) verwendet. Nun hat der Angreifer einen "bewaffneten Drucker".
- Siehe "Windows 'Trennseiten'-Referenzen" unten für Details
-
Der lokale Angreifer erstellt die "Trennseitendatei" (attack.sep), die den Operator "@F"/"$F" wie folgt verwendet, wobei angenommen wird, dass die zu exfiltrierende Datei "C:\secret.txt" ist (beachten Sie das \ und die direkte Verkettung mit dem @F-Operator)
@
@FC:\\secret.txt
-
Der lokale Angreifer muss etwas mit dem oben genannten "bewaffneten Drucker" drucken
- Zum Beispiel öffnet der lokale Angreifer Notepad, druckt das leere Dokument über den oben konfigurierten Drucker mit der "Trennseitendatei"
- Der lokale Angreifer verwendet die Option "In Datei drucken" (z.B. c:\temp\exfiltrated.out) beim Drucken - es gibt "In Datei drucken"- .ps in den meisten Windows-Versionen + .xps in neueren (http://ps-2.kev009.com/pcpartnerinfo/ctstips/e94a.htm)
- Dies geschieht, damit der Inhalt der exfiltrierten Datei nicht zum Drucker gelangt (obwohl dies auch eine Option ist), sondern dem Angreifer sofort zur Verfügung steht
-
Angriffsverbesserung: Eine "Trennseitendatei" kann eine Brute-Force-Liste der häufigsten Dateipfade/-namen enthalten
-
Es gibt auch den @L-Operator :)
Trivia
-
Gefunden im Jahr 2010, als ich die Forschung/Vorträge "Hacking Printers for Fun and Profit" durchführte
-
Ich bin mir ziemlich sicher, dass die Druck- und Fax-Untersysteme seit Windows 3.1 mit Schwachstellen übersät sind (aus historischen Gründen)
Sicherheitsreferenzen
Windows "Trennseiten"-Referenzen
- So sehen die "Trennseiten"-Dialoge in verschiedenen Windows-Versionen aus
- So sieht "In Datei drucken" in einigen Windows-Versionen aus
- "Trennseite" in "Hands-On Microsoft Windows Server 2016 By Michael Palmer"
- "Create Custom Separator Pages in Windows Server 2012/2016"
- "Use a Separator Page When Printing in Windows"
- "How do I configure a Print Separator Page?"