Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2020-0753-and-CVE-2020-0754 — Writeup und POC für CVE-2020-0753, CVE-2020-0754 und sechs ungepatchte Window DOS-Schwachstellen. | Kitploit
Tools/GitHubGitHub/vikasvarshney/cve-2020-0753-and-cve-2020-0754
Privilege EscalationSchwachstellenanalyseExploitationPapers & ForschungLernen & BildungBinary-Exploitation
GitHubvikasvarshney/cve-2020-0753-and-cve-2020-0754

CVE-2020-0753-and-CVE-2020-0754

Writeup und POC für CVE-2020-0753, CVE-2020-0754 und sechs ungepatchte Window DOS-Schwachstellen.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
6104vor 6 JahrenNoch nicht geprüft

Writeup und Proof-of-Concept für CVE-2020-0753, CVE-2020-0754 und sechs ungefixte Window-DOS-Sicherheitslücken

Exploit eines FileSystem-Race-Condition-Bugs – Analyse von CVE-2020-0753 und CVE-2020-0754

Der Windows-Fehlerberichterstattungsdienst hat im letzten Patch Tuesday zwei Elevation-of-Privilege-Fehler behoben, den beiden Fehlern wurden die Bezeichnungen CVE-2020-0753 und CVE-2020-0754 zugewiesen. Beide Fehler nutzen einen Race-Condition-Fehler in den FileSystem-Operationen des Dienstes aus. Allerdings sind diese beiden Fehler aufgrund kleiner Race-Fenster und unsicherer Dateiablageorte nicht so einfach auszunutzen. Hier teilen wir unsere Techniken zu ihrer Ausnutzung.

Die Grundursache der beiden Race-Bugs wird in unseren Berichten dargelegt, die eigentliche Ursache kann als Vorhersagbar ist angreifbar ausgedrückt werden. Wenn der WER-Dienst temporäre Dateien verarbeitet, manipuliert er den Dateispeicherort C:\ProgramData\Microsoft\Windows\WER\Temp, ein für authentifizierte Benutzer les- und schreibbares Verzeichnis. Das bedeutet, dass ein normaler Benutzer mit mittlerer Integritätsstufe eine vom WER-Dienst erstellte Datei überschreiben und sogar in einen FileSystem-Link umwandeln kann, um andere Dateien zu beschädigen/löschen, die er sonst nicht hätte anfassen können.

Um Dateioperationen sicher zu halten, verlässt sich der WER-Dienst auf eine Standard-API namens GetTempFileNameW und hat sie mit wersvc.dll->UtilGetTempFile umschlossen. Diese API hilft WerSvc, einen unbelegten zufälligen Dateinamen in der Form "WER****.tmp" zu generieren.

Der zufällige Teil des Dateinamens wird mit einer 4-Byte-Hexadezimalzahl generiert, von 0000 bis FFFF; wenn eine Nummer bereits zur Erstellung einer Datei verwendet wurde, wählt die API einen anderen zufälligen Dateinamen.

Die Strategie hat eindeutig eine Schwachstelle: Wenn man 65535 Dateien mit den Namen von WER0000.tmp bis WERFFFE.tmp erstellt, wählt die API eine Zufallszahl und prüft, ob der Dateiname bereits existiert, z. B. WERA560.tmp. Sie stellt fest, dass die Datei bereits existiert, und fährt dann mit dem Test von WERA560.tmp bis WERFFFF.tmp fort. Während des Tests entsteht ein Vorbereitungsfenster, da wir einen Weg gefunden haben, WerSvc beim Aufruf von GetTempFileNameW für 4–5 Sekunden aufzuhalten, was eine ziemlich große Zeitspanne darstellt. In der Zeit zwingen wir den Dienst, eine temporäre Datei mit einem festen Dateinamen zu erstellen, und zwar WERFFFF.tmp.

Nachdem der Dienst die temporäre Datei mit dem Namen WERFFFF.tmp erstellt hat, schließt die API automatisch den von ihr gehaltenen Handle auf die Datei und gibt den Dateinamen an den Dienst für weitere Operationen an der Datei zurück. Genau hier liegt die Stelle, die den Fehler einführt. Drei Bedingungen sind erfüllt:

  1. Die vom Dienst erstellte Datei befindet sich an einem vom normalen Benutzer kontrollierbaren Ort.
  2. Der Dienst schließt alle Handles zur Datei.
  3. Der Dienst wird die Datei später verwenden (schreiben oder löschen).

Hier wird der Dienst Inhalte in die Datei schreiben und sie löschen. Sowohl das Schreiben als auch das Löschen führen zu einer Privilegienausweitung durch die Nutzung von FileSystem-Links und bestimmten Ausnutzungstechniken.

Um den Fehler in ein beliebiges Löschen von Dateien umzuwandeln, nutzen wir kreativ mehrere Verzeichnis-Junctions, um den Exploit abzuschließen. Unser Exploit umfasst die folgenden Schritte:

  • Wir legen alle WER***.tmp in $pwd\1\ und erzeugen eine Junction $pwd\2\ -> $pwd\1\;
  • Wir erstellen einen Prozess, der diese Funktion kontinuierlich mit dem Pfad $pwd\2\ auslöst, und einen weiteren Prozess, der kontinuierlich den Befehl SetOplock $pwd\1\WERFFFF.tmp ausführt;
  • Sobald der Oplock ausgelöst wird, leiten wir $pwd\2\ -> \RPC CONTROL\ um und erstellen dann ein symbolisches Objekt \RPC CONTROL\WERFFFF.tmp -> $target und \RPC CONTROL\WERFFFF.tmp.etl -> $target
  • Wir geben den Oplock frei, die Zieldatei wird mit Systemberechtigung gelöscht.

Die detaillierte Ausnutzung und der Proof-of-Concept werden in WERReport-CVE-2020-0753 bereitgestellt.

Durch Ausnutzung des Fehlers in GetTempFileNameW erhalten wir einen vorhersagbaren Ort, an dem der Dienst operieren wird; durch die Verwendung von mehrstufigen FileSystem-Junctions machen wir den Race Condition zuverlässig ausnutzbar.

In der Zwischenzeit haben wir festgestellt, dass diese Art von Race-Bug auch mögliche Dateiüberschreibungsprobleme verursachen kann, was unter bestimmten Umständen wahrscheinlich zu Elevation-of-Privilege-Fehlern führt.

Von willkürlicher Dateibeschädigung mit teilweiser Kontrolle zur Privilegienausweitung

Um zu erklären, warum eine willkürliche Dateibeschädigung (wenn man einen sehr kleinen Teil des Dateiinhalts kontrollieren kann: weniger als 63 Bytes) in eine EoP umgewandelt werden kann, müssen wir uns den Arbeitsmechanismus von Windows Defender ansehen.

Windows Defender verfügt über eine Datenbank mit Malware-Signaturen. Wenn eine Datei eine Malware-Signatur enthält, betrachtet Defender sie als Malware und löscht sie. Diese Funktion führt jedoch zu einer zusätzlichen Angriffsfläche. Beispielsweise entwarf @icchy von TokyoWesterns bei WCTF2019 eine Windows-CTF-Challenge namens „Gyotaku The Flag“, die diese Funktion als Orakel nutzt, um Informationen preiszugeben.

Hier nutzen wir diese Funktion von Windows Defender, um eine beliebige Datei zu löschen, wenn wir eine willkürliche Dateibeschädigung mit teilweiser Kontrolle des Dateiinhalts haben. Wir können einfach eine Malware-Signatur in eine Datei schreiben und einen Standard-Scan durch Windows Defender auslösen; die Datei wird in den Isolationsbereich von Defender verschoben, der von einem normalen Benutzer (d. h. einem Nicht-Admin-Benutzer mit mittlerer Integritätsstufe) gelöscht werden kann, indem der Scan-Vorgang einfach zweimal ausgelöst wird.

Somit kann ein Fehler zur willkürlichen Dateibeschädigung in ein beliebiges Löschen von Dateien umgewandelt werden, solange mit dem Fehler eine Malware-Signaturzeichenfolge in die Zieldatei eingefügt werden kann.

  • Schritt 1: Beschädigen Sie die Zieldatei mit einem Fehler und fügen Sie eine von Windows Defender erkennbare Signaturzeichenfolge ein.
  • Schritt 2: Lösen Sie einen Scan von Windows Defender für die Zieldatei aus, was zur Isolierung der Datei führt.
  • Schritt 3: Lösen Sie den Scan erneut aus; die Zieldatei wird gelöscht.

Durch diese Technik erreichen wir mit Defenders Hilfe ein beliebiges Löschen von Dateien.

Das beliebige Löschen von Dateien kann viel einfacher ausgenutzt werden, um weitere Privilegien zu erlangen.

Sechs ungefixte FileSystem-DOS-Sicherheitslücken in Microsoft OneDrive

Microsoft OneDrive ist das Anwendungspaket, das den persönlichen Cloud-Speicherdienst bereitstellt. Diese Anwendung ist seit Windows 8 als Standardinstallationsoption in Windows integriert. Im Rahmen unserer Forschung wurden 6 Sicherheitslücken in den geplanten Wartungsaufgaben von OneDrive gefunden und an MSRC gemeldet.


Hier ist eine Tabelle der Sicherheitslücken, die wir in den relevanten geplanten Aufgaben von Microsoft OneDrive offenlegen werden:

Angreifbares ProgrammTypPOC bereitgestellt
FileSyncConfig.exeHardLinkJa
FileSyncHelper.exeHardLinkJa
OneDriveFileSyncConfig.exeSymLinkJa
OneDriveSetup.exeHardLinkJa
OneDriveSetup.exeHardLinkJa
OneDriveStandaloneUpdater.exeHardLinkJa
Tool herunterladen