
ein Demonstrations-PoC für CVE-2022-21877 (Speicherleck des Storage-Spaces-Controllers)
Dieses Repository enthält einen POC für die CVE-2022-21877, gefunden von Quang Linh, der bei STAR Labs arbeitet. Es handelt sich um einen Informationsleck, das im Treiber spaceport.sys gefunden wurde.
Ein begleitender Blogpost ist unter dieser Adresse zu finden.
Um den POC zu erstellen, führen Sie einfach .\build aus.
Um es auszuführen, benötigen Sie einen Pool auf Ihrem Rechner, der ein Tier erhalten kann. In meinen Tests bedeutet dies, mindestens zwei Speicherpools zu haben, den ursprünglichen und einen weiteren. All dies, weil der ursprüngliche Pool kein Tier zugeordnet haben kann.
Um die erforderliche Konfiguration zu erhalten, können Sie 3 virtuelle Datenträger auf einer virtuellen Maschine einrichten. Diese werden von Microsoft automatisch als ursprünglicher Pool verwendet. Sie können dann neu starten, weitere zwei virtuelle Datenträger hinzufügen. Anschließend können Sie den zweiten Pool mit dem folgenden Befehl als Administrator erstellen:
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
Sobald alles eingerichtet ist, starten Sie den POC als Administrator, indem Sie ihm den "FriendlyName" des verwendbaren Pools angeben (z. B. den, den Sie gerade erstellt haben).
Dieser POC ermöglicht das Leaken von unkontrollierten Daten, die sich hinter dem Systempuffer befinden. Wie im Blogpost erklärt, war ich nicht in der Lage, ein kontrolliertes Leaken eines bestimmten Kernel-Objekts auszulösen. So sieht das aus:
