
Bildungslabor, das CVE-2021-36934 (HiveNightmare) demonstriert - Windows LPE durch Fehlkonfiguration von Schattenkopie-ACLs.
Reproduktion und Analyse der HiveNightmare-Schwachstelle in einer kontrollierten Laborumgebung.
CVE-2021-36934, auch bekannt als „SeriousSAM“ oder „HiveNightmare“, ist eine lokale Privilegienausweitungs-Schwachstelle (LPE), die Windows 10 ab Version 1809, frühe Versionen von Windows 11 sowie Windows Server 2019 und 2022 betrifft. Sie ermöglicht es einem Standardbenutzer, geschützte Systemdateien mit sensiblen Daten (z. B. lokale Passwort-Hashes) zu duplizieren und darauf zuzugreifen. Die Kernursache liegt in falsch konfigurierten Zugriffssteuerungslisten (ACLs), die allen Benutzern Leseberechtigungen auf sensible Systemdateien gewähren (insbesondere die SAM-, SYSTEM- und SECURITY-Hives). Während diese Dateien im normalen Betrieb gesperrt bleiben, erben ihre Sicherungskopien (via Schattenkopien/Wiederherstellungspunkte) dieselben falsch konfigurierten Berechtigungen und werden für jeden Systembenutzer zugänglich und ausnutzbar.
Die Ausnutzung der Schwachstelle erfordert zwei Voraussetzungen: (1) Systemschutz aktiviert und (2) ein vorhandener Wiederherstellungspunkt. Diese Elemente sind auf Windows 10/11-Rechnern oft standardmäßig vorhanden. Die Implementierung beruht auf dem Extrahieren von Kopien der SAM-, SYSTEM- und SECURITY-Dateien aus Schattenkopien (Wiederherstellungspunkten). Diese Dateien, die während des Systembetriebs normalerweise gesperrt sind, werden über ihre Momentaufnahmen zugänglich, welche dieselben ACLs wie die Originale erben.
Von einem nicht privilegierten Benutzerkonto aus kann die Ausnutzung über öffentliche Skripte erfolgen, das bekannteste ist hivenightmare.exe, geschrieben in C. Die drei wiederhergestellten Dateien haben komplementäre Rollen. SAM enthält die Hashes lokaler Kontopasswörter (verschlüsselt), SECURITY speichert zusätzliche LSA-Geheimnisse (zwischengespeicherte Anmeldedaten, Dienstkennwörter, ebenfalls verschlüsselt) und SYSTEM stellt den Entschlüsselungsschlüssel (BootKey) bereit. Für eine reine lokale Privilegienausweitung sind nur SAM und SYSTEM erforderlich, um NTLM-Hashes zu extrahieren. Sobald diese Dateien vorliegen, können Tools wie secretsdump.py oder mimikatz die Hashes entschlüsseln und Pass-the-Hash-Angriffe durchführen oder über psexec.py vollständigen Administratorzugriff erlangen.
Die Ausnutzungsimplementierung beruht auf dem Extrahieren von Windows-Hives (SAM, SYSTEM, SECURITY) aus Schattenkopien/Wiederherstellungspunkten und anschließender Verwendung der extrahierten Hashes, um über secretsdump.py und psexec.py SYSTEM-Zugriff zu erlangen.
Getestete Plattform: Windows 10, Build 1903 (Dezember 2020-Update).
1. Kontext: Windows-Version Wir verwenden eine Windows 10-Version (1903, Dez. 2020-Update), die die untersuchte Schwachstelle enthält.
2. Berechtigungen auf sensiblen Dateien Wir beobachten, dass NTFS-Berechtigungen auf den SAM-, SYSTEM- und SECURITY-Hives lokalen Benutzern Lesezugriff gewähren, der hier vom config-Ordner geerbt wird.
3. Ausführen von hivenightmare von einem lokalen Benutzer ohne Wiederherstellungspunkt Beim Starten von hivenightmare.exe von einem lokalen Konto ohne Wiederherstellungspunkte/Schattenkopien schlägt das Tool fehl, da es keine Wiederherstellungspunkte finden kann, die es ausnutzen könnte.
4. Aktivieren des Systemschutzes und Erstellen eines Wiederherstellungspunkts
Um die notwendigen Bedingungen für die Hive-Extraktion zu schaffen, aktivieren wir den Systemschutz und erstellen dann manuell einen Wiederherstellungspunkt. Sobald der Wiederherstellungspunkt existiert, kann hivenightmare auf Kopien der sensiblen Dateien zugreifen.

5. Extrahieren sensibler Hives Nach dem Erstellen des Wiederherstellungspunkts wird hivenightmare.exe erneut gestartet und extrahiert erfolgreich die SAM-, SYSTEM- und SECURITY-Dateien aus der Schattenkopie. Es gibt viele andere Skripte (C#, Go, PowerShell, …). Unabhängig von der verwendeten Technologie zielen alle Skripte auf denselben Pfad ab:
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy[i]\Windows\System32\config\[SENSITIVE FILE]
6. Analyse auf Kali: Abrufen von Hashes mit secretsdump.py Die extrahierten Dateien werden auf die Kali-Maschine übertragen. Wir verwenden secretsdump.py (Impacket), um Konten aufzulisten und Hashes im Klartext abzurufen.
7. Privilegienausweitung: Hash-Wiederverwendung via psexec.py Mit dem extrahierten Hash verwenden wir psexec.py, um uns zu authentifizieren und eine Sitzung mit SYSTEM-Privilegien zu öffnen, was die vollständige Kontrolle über die Maschine gewährt.
Microsofts offizieller Fix (KB5004605, Juli 2021) stellt die korrekten ACLs auf den betroffenen Dateien wieder her. Dennoch werden mehrere ergänzende Maßnahmen empfohlen. Erstens: Überprüfen Sie manuell die Berechtigungen unter C:\Windows\System32\config, um sicherzustellen, dass nur SYSTEM und Administratoren Vollzugriff haben. Zweitens: Löschen Sie alte Schattenkopien, die vor der Anwendung des Patches erstellt wurden, da sie die anfälligen Berechtigungen behalten. Aus betrieblichen Gründen (Risiko von Datenverlust, Auswirkungen auf Benutzer) wurde das automatische Löschen alter Wiederherstellungspunkte nicht in den verteilten Patch aufgenommen. Überwachen Sie schließlich ungewöhnliche Zugriffe auf Schattenkopien über Systemereignisprotokolle.
Hier demonstrieren wir, wie die Schwachstelle durch manuelle ACL-Korrektur und Löschung vorheriger Schattenkopien gemildert werden kann.
1. Manuelle ACL-Korrektur Dieser Befehl bricht die Vererbung auf dem Ordner C:\Windows\System32\config.
2. Überprüfung nach ACL-Korrektur Das Vorhandensein des vor der Korrektur erstellten Wiederherstellungspunkts erlaubt weiterhin das Extrahieren von Hives aus der zugehörigen Schattenkopie.
3. Löschung der Schattenkopie
4. Abschließende Validierung Nach dem Löschen alter Schattenkopien schlägt die Hive-Extraktion fehl und die Schwachstelle ist von einem lokalen Konto aus nicht mehr ausnutzbar.
CVE-2021-36934 zeigt, wie eine einfache ACL-Fehlkonfiguration die Sicherheit eines Windows-Systems vollständig gefährden kann. Die Schwachstelle nutzt eine Sicherheitsfunktion (Wiederherstellungspunkte) als Angriffsvektor und ermöglicht es einem nicht privilegierten und potenziell bösartigen Benutzer, vollständigen Administratorzugriff zu erlangen. Zusammenfassend unterstreicht CVE-2021-36934 die Notwendigkeit, Systemberechtigungen regelmäßig zu überprüfen und den Zugriff auf sensible Dateien, auch auf deren Sicherungskopien, zu überwachen.
Nur für Bildungszwecke. Nicht auf Systemen ohne Autorisierung verwenden.